Changeset 394 for lex/trunk/jsp

Show
Ignore:
Timestamp:
08/14/09 10:38:59 (3 years ago)
Author:
chris
Message:

Fix problem with being unable to create an LS for clauses with no
predicate, e.g. Gen 3,5(f).

Reorganised jsp directory to separate includes and css from jsp pages.

Renamed lsedit.jsp to lexicon.jsp.

Added a controller for lexicon.jsp.

Moved tests into their own package.

Separated finished and unfinished tests to make it easier to run all the
finished and working ones.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lex/trunk/jsp/clause.jsp

    r374 r394  
    11<% String pageTitle = "Text Browser"; %> 
    2 <%@ include file="header2.jsp" %> 
     2 
    33<%@ page import="java.util.*" %> 
    44<%@ page import="java.util.regex.*" %> 
     
    1717<%@ page import="net.didion.jwnl.data.Synset" %> 
    1818 
    19 <script type="text/javascript"><!-- 
    20  
    21         function enableEditButton() 
     19<%@ include file="include/setup.jsp" %> 
     20<%@ include file="include/auth.jsp" %> 
     21<%@ include file="include/navclause_head.jsp" %> 
     22 
     23<% 
     24        ClauseController controller = new ClauseController(request, emdros, sql, 
     25                navigator);      
     26        if (controller.processRedirects(response)) 
    2227        { 
    23                 if (document.forms.changels == null) 
    24                 { 
    25                         return; 
    26                 } 
    27                  
    28                 var lsselect = document.forms.changels.lsid; 
    29                 var editform = document.forms.editls; 
    30                 if (editform == null || editform.submit == null) 
    31                 { 
    32                         return; 
    33                 } 
    34                          
    35                 var sellsid  = -1; 
    36                 if (lsselect.selectedIndex > 0) 
    37                 { 
    38                         sellsid = lsselect.options[lsselect.selectedIndex].value; 
    39                 }        
    40                  
    41                 editform.submit.disabled = (sellsid != editform.lsid.value); 
    42                 return true; 
     28                return; 
    4329        } 
    44  
    45         function enableChangeButton(button, oldValue, selectBox) 
    46         { 
    47                 if (button == null) return; 
    48                 var newValue = selectBox.options[selectBox.selectedIndex].value; 
    49                 button.disabled = (newValue == oldValue); 
    50                 return true; 
    51         } 
    52          
    53 //--></script> 
     30%> 
     31<%@ include file="include/header.jsp" %> 
     32 
     33<script type="text/javascript" src="js/clause.js"></script> 
    5434 
    5535<style type="text/css"> 
     
    6040</style> 
    6141 
    62 <%@ include file="auth.jsp" %> 
    63  
    64 <%@ include file="navclause.jsp" %> 
     42<%@ include file="include/navclause_body.jsp" %> 
    6543 
    6644<% 
    67         ClauseController controller = new ClauseController(request, emdros, sql, 
    68                navigator);      
     45        controller.processBody(); 
     46         
    6947        MatchedObject clause = controller.getClause(); 
    7048                  
     
    179157                        <form name="changels" method="POST"> 
    180158                        Choose logical structure: 
    181                         <select name="lsid" onChange="enableEditButton();  
    182                         return enableChangeButton(lssave,<%= 
    183                                 controller.getSelectedLogicalStructureId() 
    184                         %>,lsid)"> 
    185                         <option value="0" <%= 
    186                                 (controller.getSelectedLogicalStructureId() == 0) 
    187                                         ? " SELECTED" : "" %>> 
    188                                 Not specified 
    189                         </option> 
    190                         <% 
    191  
    192                         try  
    193                         { 
    194                                 PreparedStatement stmt = sql.prepareSelect 
    195                                         ("SELECT ID,Structure,Syntactic_Args " + 
    196                                          "FROM lexicon_entries WHERE Lexeme = ?"); 
    197                                 stmt.setString(1, controller.getPredicateText()); 
    198                                  
    199                                 ResultSet rs = sql.select(); 
    200                                 while (rs.next())  
    201                                 { 
    202                                         int    thisLsId      = rs.getInt("ID"); 
    203                                         String thisStructure = rs.getString("Structure"); 
    204                                         int    thisNumSMRs   = rs.getInt("Syntactic_Args"); 
    205                                          
    206                                         %> 
    207                         <option value="<%= 
    208                                 thisLsId 
    209                         %>"<%= 
    210                                 thisLsId == controller.getSelectedLogicalStructureId() 
    211                                         ? " SELECTED" : "" 
    212                         %>><%= 
    213                                 thisStructure == null 
    214                                 ? "(undefined structure "+thisLsId+")" 
    215                                 : (thisStructure 
    216                                                 .replaceAll("<", "&lt;") 
    217                                                 .replaceAll(">", "&gt;")) 
    218                         %> 
    219                                         <% 
    220                                 } 
    221                         }  
    222                         catch (DatabaseException ex)  
    223                         { 
    224                                 %><%= ex %><% 
    225                         }  
    226                         finally  
    227                         { 
    228                                 sql.finish(); 
    229                         } 
    230                  
    231                         %> 
    232                         <option value="add" <%= 
    233                                 selLsIdString != null && selLsIdString.equals("add") 
    234                                 ? " SELECTED" : "" 
    235                         %>>Add new... 
    236                         </select> 
     159                        <%= controller.getLogicalStructureSelector().toString() %> 
    237160                        <input type="submit" name="lssave" value="Change"> 
    238161                        </form> 
     
    249172                                %> 
    250173                <td> 
    251                         <form name="editls" method="get" action="lsedit.jsp"> 
     174                        <form name="editls" method="get" action="lexicon.jsp"> 
    252175                        <input type="hidden" name="lsid" value="<%= 
    253176                                controller.getSelectedLogicalStructureId() 
     
    401324</form> 
    402325 
    403 <%@ include file="footer.jsp" %> 
     326<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/dump.jsp

    r325 r394  
     1<%@ include file="include/setup.jsp" %> 
     2<%@ include file="include/auth.jsp" %> 
     3 
    14<% String pageTitle = "Emdros Database Dump"; %> 
    2 <%@ include file="header2.jsp" %> 
     5<%@ include file="include/header.jsp" %> 
    36 
    47<%@ page import="java.util.Enumeration" %> 
     
    1316<%@ page import="com.qwirx.lex.emdros.*" %> 
    1417         
    15 <%@ include file="auth.jsp" %> 
    16  
    17 <%@ include file="navclause.jsp" %> 
     18<%@ include file="include/navclause_head.jsp" %> 
     19<%@ include file="include/navclause_body.jsp" %> 
    1820 
    1921<% 
     
    320322        } 
    321323%> 
    322 </body></html> 
    323 <%@ include file="cleanup.jsp" %> 
     324<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/error.jsp

    r239 r394  
    2929</pre> 
    3030 
    31 <%@ include file="footer.jsp" %> 
     31<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/index.jsp

    r345 r394  
     1<%@ include file="include/setup.jsp" %> 
     2 
    13<% String pageTitle = "Home Page"; %> 
    2 <%@ include file="header2.jsp" %> 
     4<%@ include file="include/header.jsp" %> 
    35 
    46<p>You should really start at the <a href="clause.jsp">text browser</a>.</p> 
     
    1214</ul> 
    1315 
    14 <%@ include file="footer.jsp" %> 
     16<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/js/lsedit.js

    r304 r394  
    1 function doFilter(inputbox, list, source)  
     1function doFilter(inputbox, list, source, originalValue)  
    22{ 
    33        if (source == null) return; 
    44         
    55        var query = inputbox.value; 
    6         var oldid = -1; 
    7          
    8         if (list.selectedIndex >= 0) 
    9         { 
    10                 oldid = list.options[list.selectedIndex].value; 
    11         } 
     6        var oldid = originalValue; 
    127         
    138        list.options.length = 0; 
  • lex/trunk/jsp/lexicon.jsp

    r312 r394  
     1<%@ include file="include/setup.jsp" %> 
     2<%@ include file="include/auth.jsp" %> 
     3 
    14<% String pageTitle = "Edit Logical Structure"; %> 
    2 <%@ include file="header2.jsp" %> 
    3  
     5<%@ include file="include/header.jsp" %> 
     6 
     7<%@ page import="java.util.Arrays" %> 
    48<%@ page import="java.util.Collections" %> 
    59<%@ page import="java.util.Map" %> 
     
    1317<%@ page import="java.sql.*" %> 
    1418<%@ page import="jemdros.*" %> 
     19<%@ page import="org.aptivate.web.controls.*" %> 
    1520<%@ page import="com.qwirx.lex.*" %> 
    1621<%@ page import="com.qwirx.db.sql.*" %> 
     22<%@ page import="com.qwirx.lex.controller.LexiconController" %> 
    1723<%@ page import="com.qwirx.lex.emdros.*" %> 
    1824<%@ page import="com.qwirx.lex.lexicon.*" %> 
     
    2430</style> 
    2531 
    26 <%@ include file="auth.jsp" %> 
    27  
    2832<%       
    29         class LogicalStructureList extends Lexeme.Visitor 
     33        LexiconController controller = new LexiconController(request, emdros, sql);      
     34         
     35        List<String> errors = controller.getErrorMessages(); 
     36        if (errors.size() > 0) 
    3037        { 
    31                 private JspWriter out; 
    32                 private int selected_id, exclude_domain_id; 
    33                  
    34                 LogicalStructureList(JspWriter out,  
    35                         int selected_id, int exclude_domain_id,  
    36                         Lexeme root) 
    37                 { 
    38                         super(root); 
    39                         this.out = out; 
    40                         this.selected_id = selected_id; 
    41                         this.exclude_domain_id = exclude_domain_id; 
    42                 } 
    43                  
    44         protected void visit(Lexeme e, String parentPath) throws IOException  
    45         { 
    46                         if (e.id == exclude_domain_id) return; 
    47                         super.visit(e, parentPath); 
    48         } 
    49          
    50                 protected void output(Lexeme e, String fullPath, String desc) 
    51                 throws IOException 
    52                 { 
    53                         if (desc.length() > 60) 
    54                         { 
    55                                 desc = desc.substring(0, 60) + "..."; 
    56                         } 
    57                          
    58                         if (e.surface != null) 
    59                         { 
    60                                 desc += ": " + e.surface + ""; 
    61                         } 
    62                          
    63                         String ls = e.getLogicalStructure(); 
    64                         if (ls != null)  
    65                         { 
    66                                 desc += ": " + ls; 
    67                         } 
    68                          
    69                         desc = desc.replaceAll("&", "&amp;") 
    70                                 .replaceAll("<", "&lt;") 
    71                                 .replaceAll(">", "&gt;"); 
    72                                  
    73                  
    74                         %> 
    75                         <option <%= selected_id == e.id ? "selected=\"selected\"" : "" 
    76                         %> value="<%= e.id == 0 ? "BadID" : (e.id+"") %>"> 
    77                         <%= fullPath %> <%= desc %></option> 
    78                         <% 
    79                 }                
     38                %> 
     39                <div id="error_message"> 
     40                        <ul> 
     41                                <% for (String error : errors) { %> 
     42                                        <li><%= error %></li> 
     43                                <% } %> 
     44                        </ul> 
     45                </div> 
     46                <% 
    8047        } 
    8148 
    82         class LogicalStructureArray extends Lexeme.Visitor 
    83         { 
    84                 private JspWriter out; 
    85                 private int selected_id, exclude_domain_id; 
    86  
    87                 LogicalStructureArray(JspWriter out,  
    88                         int selected_id, Lexeme root) 
    89                 { 
    90                         super(root); 
    91                         this.out = out; 
    92                         this.selected_id = selected_id; 
    93                 } 
    94  
    95                 protected void output(Lexeme e, String fullPath, String desc) 
    96                 throws IOException 
    97                 { 
    98                         String ls = e.getLogicalStructure(); 
    99  
    100                         if (e.surface != null && ! e.surface.equals("")) 
    101                         { 
    102                                 desc += ": " + e.surface + ""; 
    103                         } 
    104                                                  
    105                         if (ls != null && ! ls.equals(""))  
    106                         { 
    107                                 desc += ": " + ls; 
    108                         } 
    109  
    110                         %> 
    111                         [ <%= e.id %>, "<%= fullPath %> <%= desc %>" ], 
    112                         <% 
    113                 }                
    114         } 
    115  
    116         int lsId = -1; 
    117         try { lsId = Integer.parseInt(request.getParameter("lsid")); } 
    118         catch (Exception e) { /* do nothing, use default */ } 
    119          
    120         // String current.surface = "", current.logic = ""; 
    121         // int domain_parent_id = 0; 
    122         // String current.label = "", current.desc = ""; 
    123          
    124         %><p><em><% 
    125          
    126         if (request.getParameter("createnew") != null) 
    127         { 
    128                 SqlChange ch = (SqlChange)sql.createChange(SqlChange.INSERT, 
    129                         "lexicon_entries", null); 
    130                 ch.setString("Domain_Desc",      "New Entry"); 
    131                 ch.execute(); 
    132                 lsId = ch.getInsertedRowId(); 
    133         } 
    134         else if (request.getParameter("savecopy") != null) 
    135         { 
    136                 throw new AssertionError("broken"); 
    137                 /* 
    138                 boolean createNew = false; 
    139                  
    140                 if (lsId <= 0)  
    141                         createNew = true; 
    142                 if (request.getParameter("savecopy") != null) 
    143                         createNew = true; 
    144                          
    145                 try { 
    146  
    147                         if (request.getParameter("surface") != null) 
    148                         { 
    149                                 ch.setString("Lexeme",       request.getParameter("surface")); 
    150                         } 
    151                         ch.setString("Structure",        request.getParameter("ls")); 
    152                         ch.setInt   ("Domain_Parent_ID", domain_parent_id); 
    153                         ch.setString("Domain_Label",     request.getParameter("dl")); 
    154                         ch.setString("Domain_Desc",      request.getParameter("dd")); 
    155                         ch.setString("Syntactic_Args",   request.getParameter("sa")); 
    156                         ch.execute(); 
    157                          
    158                         if (createNew) { 
    159                                 lsId = ((SqlChange)ch).getInsertedRowId(); 
    160                         } 
    161                 } catch (SQLException sqlEx) { 
    162                         %><%= sqlEx %><% 
    163                 } 
    164                 */ 
    165         } 
    166         else if (request.getParameter("delrepl") != null) 
    167         { 
    168                 try 
    169                 { 
    170                         int newLsId = Integer.parseInt(request.getParameter("newlsid")); 
    171                          
    172                         Sheaf sheaf = emdros.getSheaf 
    173                                 ("SELECT ALL OBJECTS "+ 
    174                                  "IN {" + emdros.getMinM() + "-" + emdros.getMaxM() + "} "+ 
    175                                  "WHERE [clause logical_struct_id = "+lsId+"]"); 
    176                          
    177                         SheafConstIterator sci = sheaf.const_iterator(); 
    178                         if (sci.hasNext()) { 
    179                                 Vector objectIds = new Vector(); 
    180          
    181                                 while (sci.hasNext()) { 
    182                                         Straw straw = sci.next(); 
    183                                         MatchedObject clause = straw.const_iterator().next(); 
    184                                         objectIds.add(new Integer(clause.getID_D())); 
    185                                 } 
    186  
    187                                 int [] objectIdArray = new int[objectIds.size()]; 
    188                                 for (int i = 0; i < objectIds.size(); i++) { 
    189                                         objectIdArray[i] =  
    190                                                 ((Integer)( objectIds.get(i) )).intValue(); 
    191                                 } 
    192                                  
    193                                 Change ch = emdros.createChange( 
    194                                         EmdrosChange.UPDATE, "clause", objectIdArray); 
    195                                 ch.setInt("logical_struct_id", newLsId); 
    196                                 ch.execute(); 
    197                         } 
    198  
    199                         sql.createChange(SqlChange.DELETE, 
    200                                 "lexicon_entries", "ID = "+lsId).execute(); 
    201                         lsId = newLsId; 
    202                 }  
    203                 catch (Exception e)  
    204                 { 
    205                         %><%= e %><% 
    206                 } 
    207         }  
    208         else if (request.getParameter("vcu") != null)  
    209         { 
    210                 // variable create or update 
    211                  
    212                 boolean createVar = false; 
    213                 int vid = 0; 
    214                 if (request.getParameter("vid") != null) { 
    215                         try { 
    216                                 vid = new Integer(request.getParameter("vid")).intValue(); 
    217                         } catch (NumberFormatException e) { 
    218                                 vid = 0; 
    219                         } 
    220                 } 
    221                 if (vid == 0) createVar = true; 
    222                  
    223                 try { 
    224                         String query =  
    225                                 "SELECT ID FROM lexicon_variables WHERE Name = ? "+ 
    226                                 "AND Lexeme_ID = ?"; 
    227  
    228                         if (!createVar) 
    229                                 query += " AND ID <> ?"; 
    230  
    231                         PreparedStatement stmt = sql.prepareSelect(query); 
    232                         stmt.setString(1, request.getParameter("vn")); 
    233                         stmt.setInt   (2, lsId); 
    234                         if (!createVar) 
    235                                 stmt.setInt(3, vid); 
    236  
    237                         ResultSet rs = sql.select(); 
    238                         boolean alreadyExists = rs.next(); 
    239                         sql.finish(); 
    240                          
    241                         if (alreadyExists) { 
    242                                 %> 
    243                                         Duplicate variable name  
    244                                         "<%= request.getParameter("vn") %>" 
    245                                 <% 
    246                         } else { 
    247                                 Change ch; 
    248                                  
    249                                 if (createVar) { 
    250                                         ch = sql.createChange(SqlChange.INSERT, 
    251                                                 "lexicon_variables", null); 
    252                                 } else { 
    253                                         ch = sql.createChange(SqlChange.UPDATE, 
    254                                                 "lexicon_variables", "ID = "+vid); 
    255                                 } 
    256  
    257                                 ch.setString("Name",      request.getParameter("vn")); 
    258                                 ch.setString("Value",     request.getParameter("vv")); 
    259                                 ch.setInt   ("Lexeme_ID", lsId); 
    260                                 ch.execute(); 
    261                         } 
    262                 } catch (DatabaseException sqlEx) { 
    263                         %><%= sqlEx %><% 
    264                 } 
    265         }  
    266         else if (request.getParameter("vd") != null)  
    267         { 
    268                 // variable delete  
    269                  
    270                 int vid = 0; 
    271  
    272                 if (request.getParameter("vid") != null) { 
    273                         try { 
    274                                 vid = new Integer(request.getParameter("vid")).intValue(); 
    275                         } catch (NumberFormatException e) { 
    276                                 vid = 0; 
    277                         } 
    278                 } 
    279  
    280                 if (vid != 0) { 
    281                         try { 
    282                                 sql.createChange(SqlChange.DELETE, 
    283                                         "lexicon_variables", "ID = "+vid).execute(); 
    284                         } catch (DatabaseException sqlEx) { 
    285                                 %><%= sqlEx %><% 
    286                         } 
    287                 } 
    288         } 
    289         else if (request.getParameter("dpid") != null) 
    290         { 
    291                 int domain_parent_id = new Integer(request.getParameter("dpid")) 
    292                         .intValue(); 
    293                                  
    294                 // parent hierarchy loop check 
    295  
    296                 if (domain_parent_id == lsId)  
    297                 { 
    298                         domain_parent_id = 0; 
    299                 } 
    300                  
    301                 if (domain_parent_id > 0)  
    302                 { 
    303                         int maxDepth = 20; 
    304                         int thisAncestor = domain_parent_id; 
    305                          
    306                         while (maxDepth > 0)  
    307                         { 
    308                                 try  
    309                                 { 
    310                                         PreparedStatement stmt = sql.prepareSelect 
    311                                                 ("SELECT Domain_Parent_ID "+ 
    312                                                 "FROM lexicon_entries "+ 
    313                                                 "WHERE ID = ?"); 
    314                                         stmt.setInt(1, thisAncestor); 
    315                                         ResultSet rs = sql.select(); 
    316                                         if (!rs.next()) { 
    317                                                 // parent tree has no path to root? 
    318                                                 domain_parent_id = 0; 
    319                                                 break; 
    320                                         } 
    321                                         thisAncestor = rs.getInt(1); 
    322                                         if (thisAncestor == 0) { 
    323                                                 // reached the root 
    324                                                 break; 
    325                                         } 
    326                                         if (thisAncestor == lsId) { 
    327                                                 // loop detected 
    328                                                 domain_parent_id = 0; 
    329                                                 break; 
    330                                         }                                                                
    331                                         maxDepth--; 
    332                                 } finally { 
    333                                         sql.finish(); 
    334                                 } 
    335                         } 
    336  
    337                         if (maxDepth == 0) { 
    338                                 %> 
    339                                 You cannot set the domain parent to one of this 
    340                                 object's children: that would create a loop! 
    341                                 <% 
    342                                 domain_parent_id = 0; 
    343                         } 
    344                 } 
    345                  
    346                 Change ch = sql.createChange(SqlChange.UPDATE, "lexicon_entries",  
    347                         "ID = " + lsId); 
    348                 ch.setInt("Domain_Parent_ID", domain_parent_id); 
    349                 ch.execute(); 
    350         } 
    351         else if (request.getParameter("dl") != null) 
    352         { 
    353                 Change ch = sql.createChange(SqlChange.UPDATE, "lexicon_entries",  
    354                         "ID = " + lsId); 
    355                 ch.setString("Domain_Label", request.getParameter("dl")); 
    356                 ch.execute(); 
    357         } 
    358         else if (request.getParameter("dd") != null) 
    359         { 
    360                 Change ch = sql.createChange(SqlChange.UPDATE, "lexicon_entries",  
    361                         "ID = " + lsId); 
    362                 ch.setString("Domain_Desc", request.getParameter("dd")); 
    363                 ch.execute(); 
    364         } 
    365         else if (request.getParameter("sa") != null) 
    366         { 
    367                 Change ch = sql.createChange(SqlChange.UPDATE, "lexicon_entries",  
    368                         "ID = " + lsId); 
    369                 ch.setString("Syntactic_Args",   request.getParameter("sa")); 
    370                 ch.execute(); 
    371         } 
    372         else if (request.getParameter("ls_save") != null) 
    373         { 
    374                 Lexeme lexeme = new Lexeme(sql); 
    375                  
    376                 if (lsId != -1) 
    377                 { 
    378                         lexeme = Lexeme.load(sql, lsId); 
    379                 } 
    380                  
    381                 lexeme.setCaused          (request.getParameter("ls_caused") != null); 
    382                 lexeme.setPunctual        (request.getParameter("ls_punct")  != null); 
    383                 lexeme.setHasResultState  (request.getParameter("ls_punct_result") != null && 
    384                                            request.getParameter("ls_punct_result").equals("1")); 
    385                 lexeme.setTelic           (request.getParameter("ls_telic") != null); 
    386                 lexeme.setDynamic         (request.getParameter("ls_dynamic") != null && 
    387                                            request.getParameter("ls_dynamic").equals("1")); 
    388                 lexeme.setHasEndpoint     (request.getParameter("ls_endpoint") != null && 
    389                                            request.getParameter("ls_endpoint").equals("1")); 
    390                  
    391                 String pred = request.getParameter("ls_pred"); 
    392                 if (pred != null && pred.equals("")) 
    393                 { 
    394                         pred = null; 
    395                 } 
    396                 lexeme.setPredicate(pred); 
    397                  
    398                 pred = request.getParameter("ls_pred_2"); 
    399                 if (pred != null && pred.equals("")) 
    400                 { 
    401                         pred = null; 
    402                 } 
    403                 lexeme.setResultPredicate(pred); 
    404  
    405                 String arg2 = request.getParameter("ls_arg_2"); 
    406                 if (arg2 != null && arg2.equals("")) 
    407                 { 
    408                         arg2 = null; 
    409                 } 
    410                 lexeme.setResultPredicateArg(arg2); 
    411                  
    412                 if (request.getParameter("ls_trel") != null) 
    413                 { 
    414                         if (request.getParameter("ls_trel").equals("")) 
    415                         { 
    416                                 lexeme.setThematicRelation(null); 
    417                         } 
    418                         else 
    419                         { 
    420                                 int i = Integer.parseInt(request.getParameter("ls_trel")); 
    421                                 lexeme.setThematicRelation(ThematicRelation.list()[i]); 
    422                         } 
    423                 } 
    424                  
    425                 lexeme.save(); 
    426                 lsId = lexeme.id; 
    427         }        
    428          
    429         %></em></p><% 
    430  
    43149        Lexeme root = Lexeme.getTreeRoot(sql); 
    432         Lexeme.Finder finder = new Lexeme.Finder(root, lsId); 
     50        Lexeme.Finder finder = new Lexeme.Finder(root, 
     51                controller.getLexeme().getID()); 
    43352        finder.visit(); 
    43453        Lexeme current = finder.getFoundLexeme(); 
     
    44160                [ "BadID", "New Structure..." ], 
    44261        <% 
    443                 new LogicalStructureArray(out, lsId, root).visit(); 
     62                controller.new LogicalStructureArray(out, root).visit(); 
    44463        %> 
    44564        ]; 
    44665 
    44766//--></script> 
    448 <script type="text/javascript" src="lsedit.js"></script> 
    449  
    450 <form name="nav" method="get" action="lsedit.jsp"> 
     67<script type="text/javascript" src="js/lsedit.js"></script> 
     68 
     69<form name="nav" method="get" action="lexicon.jsp"> 
    45170<table> 
    45271<tr class="nav1"><th colspan="4">Navigator</th></tr> 
    45372<tr class="nav2"> 
    454   <th>Filter</th> 
    455   <th>Lexicon Entry</th> 
    456   <th>Action</th> 
     73       <th>Filter</th> 
     74       <th>Lexicon Entry</th> 
     75       <th>Action</th> 
    45776</tr> 
    45877<tr class="nav1"> 
     
    46079                request.getParameter("filter") != null 
    46180                ? request.getParameter("filter") : "" 
    462         %>" onKeyUp="doFilter(filter, lsid, logics)" /></td> 
     81        %>" onKeyUp="doFilter(filter, lsid, logics, 
     82                <%= controller.getLexeme().getID() %>)" /></td> 
    46383        <td> 
    464                 <select name="lsid"> 
    465                 <option value="">New Structure...</option> 
    466                 <% new LogicalStructureList(out, lsId, -1, root).visit(); %> 
    467                 </select> 
     84                <% 
     85                LexiconController.LogicalStructureList navigateStructureLister = 
     86                        controller.new LogicalStructureList(-1, root); 
     87                navigateStructureLister.visit(); 
     88                List<String[]> navigateStructures = navigateStructureLister.getValues(); 
     89                navigateStructures.add(0, new String[]{"", "New Structure..."}); 
     90                %> 
     91                <%= new SelectBox("lsid", navigateStructures, request).toString() %> 
    46892        </td> 
    46993        <td> 
     
    477101 
    478102        var nav = document.forms.nav; 
    479         doFilter(nav.filter, nav.lsid, logics); 
     103        doFilter(nav.filter, nav.lsid, logics, <%= controller.getLexeme().getID() %>); 
    480104         
    481105//--></script> 
    482106 
    483107<% 
    484 if (lsId == -1) 
     108if (controller.getLexeme().getID() == -1) 
    485109{ 
    486110        %> 
     
    488112        <% 
    489113} 
    490 else if (lsId == 0) 
     114else if (controller.getLexeme().getID() == 0) 
    491115{ 
    492116        %> 
     
    510134        <tr> 
    511135                <td>ID</td> 
    512                 <td><%= lsId <= 0 ? "New" : (lsId + "") %></td> 
     136                <td><%= controller.getLexeme().getID() <= 0 ? "New" : 
     137                        (controller.getLexeme().getID() + "") %></td> 
    513138        </tr> 
    514139        <tr> 
     
    529154                <td>Syntactic Macroroles</td> 
    530155                <td> 
    531                         <form method="POST" action="lsedit.jsp"> 
    532                         <input type="hidden" name="lsid" value="<%= lsId %>"> 
    533                         <select name="sa"> 
    534                                 <option <%=  
    535                                         (current.numSyntacticArgs==-1)?"SELECTED":""  
    536                                 %> value="-1">Unknown/Not Specified 
    537                                 <option <%=  
    538                                         (current.numSyntacticArgs==0)?"SELECTED":""  
    539                                 %> value="0">None 
    540                                 <option <%=  
    541                                         (current.numSyntacticArgs==1)?"SELECTED":""  
    542                                 %> value="1">MR1 
    543                                 <option <%=  
    544                                         (current.numSyntacticArgs==2)?"SELECTED":""  
    545                                 %> value="2">MR2 
    546                                 <option <%=  
    547                                         (current.numSyntacticArgs==3)?"SELECTED":""  
    548                                 %> value="3">MR3 
    549                         </select> 
     156                        <form method="POST" action="lexicon.jsp"> 
     157                        <input type="hidden" name="lsid" value="<%=  
     158                                controller.getLexeme().getID() %>"> 
     159                        <% 
     160                        List<String[]> options = Arrays.asList(new String[][]{ 
     161                                new String[]{"-1", "Unknown/Not Specified"}, 
     162                                new String[]{"0",  "None"}, 
     163                                new String[]{"1",  "MR1"}, 
     164                                new String[]{"2",  "MR2"}, 
     165                                new String[]{"3",  "MR3"} 
     166                        }); 
     167                        SelectBox sb = new SelectBox("sa", options, request); 
     168                        sb.setDefaultValue("" + current.getNumSyntacticArgs()); 
     169                        %> 
     170                        <%= sb.toString() %> 
    550171                        <input type="submit" value="Save"/> 
    551172                        </form> 
     
    583204                                                        .replaceAll("<", "&lt;") 
    584205                                                        .replaceAll(">", "&gt;") + 
    585                                                 " (from <a href=\"lsedit.jsp?lsid=" + l.id +  
    586                                                 "\">" + l.id + "</a>)\n"); 
     206                                                " (from <a href=\"lexicon.jsp?lsid=" + l.getID() +  
     207                                                "\">" + l.getID() + "</a>)\n"); 
    587208                                } 
    588209                        %> 
     
    628249                                <td><%= v.name %></td> 
    629250                                <td><%= v.value %></td> 
    630                                 <td><a href="lsedit.jsp?lsid=<%= v.lexemeId %>"><%= v.lexemeId %></a></td> 
     251                                <td><a href="lexicon.jsp?lsid=<%= v.lexemeId %>"><%= v.lexemeId %></a></td> 
    631252                        </tr> 
    632253                                                        <% 
     
    655276                <td> 
    656277                        <% 
    657                         if (lsId <= 0) { 
     278                        if (controller.getLexeme().getID() <= 0) { 
    658279                                %>Save this new structure before creating variables.<% 
    659280                        } else { 
     
    680301                                                %> 
    681302                        <tr> 
    682                                 <form method="POST" action="lsedit.jsp"> 
     303                                <form method="POST" action="lexicon.jsp"> 
    683304                                <input type="hidden" name="vid" value="<%= v.id %>"> 
    684                                 <input type="hidden" name="lsid" value="<%= lsId %>"> 
     305                                <input type="hidden" name="lsid" value="<%= 
     306                                        controller.getLexeme().getID() %>"> 
    685307                                <td><input name="vn" value="<%= v.name %>"></td> 
    686308                                <td> 
     
    699321                                %> 
    700322                        <tr> 
    701                                 <form method="POST" action="lsedit.jsp"> 
    702                                 <input type="hidden" name="lsid" value="<%= lsId %>"> 
     323                                <form method="POST" action="lexicon.jsp"> 
     324                                <input type="hidden" name="lsid" value="<%= 
     325                                        controller.getLexeme().getID() %>"> 
    703326                                <td><input name="vn"></td> 
    704327                                <td> 
     
    721344                        </form> 
    722345                         
    723                         <form name="lsform" method="POST" action="lsedit.jsp"> 
    724                         <input type="hidden" name="lsid" value="<%= lsId %>" /> 
     346                        <form name="lsform" method="POST" action="lexicon.jsp"> 
     347                        <input type="hidden" name="lsid" value="<%= 
     348                                controller.getLexeme().getID() %>" /> 
    725349                        <table> 
    726350                        <tr> 
     
    1001625                                        [ "0", "None" ], 
    1002626                                        <%  
    1003                                                new LogicalStructureArray(out, current.parentId, root).visit();  
     627                                        controller.new LogicalStructureArray(out, root).visit();  
    1004628                                        %> 
    1005629                                ]; 
    1006630                        //--></script> 
    1007631                         
    1008                         <form name="dpform" method="POST" action="lsedit.jsp"> 
    1009                         <input type="hidden" name="lsid" value="<%= lsId %>" /> 
    1010                         <input name="filter" onKeyUp="doFilter(filter, dpid, parents)" /> 
    1011                         <select name="dpid"> 
    1012                         <option <%= 
    1013                                 current.parentId == 0 ? "selected=\"selected\"" : "" 
    1014                         %> value="0">None</option> 
     632                        <form name="dpform" method="POST" action="lexicon.jsp"> 
     633                        <input type="hidden" name="lsid" value="<%= 
     634                                controller.getLexeme().getID() %>" /> 
     635                        <input name="filter" onKeyUp="doFilter(filter, dpid, parents, 
     636                                <%= controller.getLexeme().getID() %>)" /> 
    1015637                        <% 
    1016                                 new LogicalStructureList(out, current.parentId, -1, root) 
    1017                                         .visit(); 
     638                        LexiconController.LogicalStructureList parentStructureLister = 
     639                                controller.new LogicalStructureList( 
     640                                        controller.getLexeme().getID(), root); 
     641                        parentStructureLister.visit(); 
     642                        List<String[]> parentStructures = parentStructureLister.getValues(); 
     643                        parentStructures.add(0, new String[]{"0", "None"}); 
    1018644                        %> 
    1019                         </select
     645                        <%= new SelectBox("dpid", parentStructures, request).toString() %
    1020646                        <input type="submit" value="Save" /> 
    1021647                        </form> 
     
    1025651                <td>Domain Label</td> 
    1026652                <td> 
    1027                         <form name="dlform" method="POST" action="lsedit.jsp"> 
    1028                         <input type="hidden" name="lsid" value="<%= lsId %>"> 
     653                        <form name="dlform" method="POST" action="lexicon.jsp"> 
     654                        <input type="hidden" name="lsid" value="<%= 
     655                                controller.getLexeme().getID() %>"> 
    1029656                        <input name="dl" value="<%=  
    1030657                                current.label == null ? "" : current.label  
     
    1037664                <td>Domain Description</td> 
    1038665                <td> 
    1039                         <form name="ddform" method="POST" action="lsedit.jsp"> 
    1040                         <input type="hidden" name="lsid" value="<%= lsId %>"> 
     666                        <form name="ddform" method="POST" action="lexicon.jsp"> 
     667                        <input type="hidden" name="lsid" value="<%= 
     668                                controller.getLexeme().getID() %>"> 
    1041669                        <input name="dd" width="80" size="80" value="<%=  
    1042670                                current.desc == null ? "" : current.desc  
     
    1050678                <td>Save changes</td> 
    1051679                <td> 
    1052                         <form name="cpform" method="POST" action="lsedit.jsp"> 
    1053                         <input type="hidden" name="lsid" value="<%= lsId %>" /> 
     680                        <form name="cpform" method="POST" action="lexicon.jsp"> 
     681                        <input type="hidden" name="lsid" value="<%= 
     682                                controller.getLexeme().getID() %>" /> 
    1054683                        <input type="hidden" name="surface" value="<%= surface %>" /> 
    1055684                        <input type="submit" name="savecopy" value="Save Copy" /> 
     
    1066695</p> 
    1067696 
    1068 <form name="delform" method="POST" action="lsedit.jsp"> 
    1069 <input type="hidden" name="lsid" value="<%= lsId %>"> 
    1070 <select name="newlsid"> 
    1071 <option value="0">Not specified 
    1072 <% new LogicalStructureList(out, 0, lsId, root).visit(); %> 
    1073 </select> 
     697<form name="delform" method="POST" action="lexicon.jsp"> 
     698<input type="hidden" name="lsid" value="<%= controller.getLexeme().getID() %>"> 
     699<% 
     700LexiconController.LogicalStructureList replacementStructureLister = 
     701        controller.new LogicalStructureList(0, root); 
     702replacementStructureLister.visit(); 
     703List<String[]> replacementStructures = replacementStructureLister.getValues(); 
     704replacementStructures.add(0, new String[]{"0", "Not specified"}); 
     705%> 
     706<%= new SelectBox("newlsid", replacementStructures, request).toString() %> 
    1074707<input type="submit" name="delrepl" value="Delete"> 
    1075708</form> 
    1076709 
    1077710        <% 
    1078 } // end if (lsId <= 0) 
     711} // end if (controller.getLexeme().getID() <= 0) 
    1079712%> 
    1080713 
    1081 <form name="addform" method="POST" action="lsedit.jsp"> 
     714<form name="addform" method="POST" action="lexicon.jsp"> 
    1082715        <h2 style="color: red">Create</h2> 
    1083716        <p> 
     
    1087720</form> 
    1088721 
    1089 <%@ include file="footer.jsp" %> 
     722<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/parse.jsp

    r334 r394  
     1<%@ include file="include/setup.jsp" %> 
     2<%@ include file="include/auth.jsp" %> 
     3 
    14<% String pageTitle = "Parser Testing"; %> 
    2 <%@ include file="header2.jsp" %> 
     5<%@ include file="include/header.jsp" %> 
    36 
    47<%@ page import="java.util.*" %> 
     
    1013<%@ page import="com.qwirx.lex.wordnet.*" %> 
    1114 
    12 <%@ include file="auth.jsp" %> 
    13 <%@ include file="navclause.jsp" %> 
     15<%@ include file="include/navclause_head.jsp" %> 
     16<%@ include file="include/navclause_body.jsp" %> 
    1417 
    1518<script language="javascript" src="js/parsetree.js"></script> 
     
    418421%> 
    419422 
    420 <%@ include file="footer.jsp" %> 
     423<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/published.jsp

    r389 r394  
    11<% String pageTitle = "Published Data"; %> 
    2 <%@ include file="header2.jsp" %> 
    32 
    43<%@ page import="java.util.*" %> 
     
    109<%@ page import="jemdros.*" %> 
    1110<%@ page import="org.aptivate.web.utils.EditField" %> 
     11 
     12<%@ include file="include/setup.jsp" %> 
     13<%@ include file="include/auth.jsp" %> 
     14<%@ include file="include/header.jsp" %> 
    1215 
    1316<% 
     
    6467                                        HebrewConverter.toHtml(result.getLogicalStructure()) 
    6568                                %></td> 
    66                                 <td><a href="<%= result.getLinkUrl() %>"><%= 
     69                                <td><a href="<%=  
     70                                        EditField.escapeEntities(result.getLinkUrl()) 
     71                                        %>"><%= 
    6772                                        result.getLocation() 
    6873                                %></a></td> 
     
    7782%> 
    7883 
    79 <%@ include file="footer.jsp" %> 
     84<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/rules.jsp

    r291 r394  
     1<%@ include file="include/setup.jsp" %> 
     2<%@ include file="include/auth.jsp" %> 
     3 
    14<% String pageTitle = "Parser Rules"; %> 
    2 <%@ include file="header2.jsp" %> 
     5<%@ include file="include/header.jsp" %> 
    36 
    47<%@ page import="java.util.*" %> 
     
    1922//--> 
    2023</script> 
    21  
    22 <%@ include file="auth.jsp" %> 
    2324 
    2425<% 
     
    129130%> 
    130131 
    131 <%@ include file="footer.jsp" %> 
     132<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/search.jsp

    r372 r394  
     1<%@ include file="include/setup.jsp" %> 
     2 
    13<% String pageTitle = "Search"; %> 
    2 <%@ include file="header2.jsp" %> 
     4<%@ include file="include/header.jsp" %> 
    35 
    46<%@ page import="java.util.*" %> 
     
    221223%> 
    222224 
    223 <%@ include file="footer.jsp" %> 
     225<%@ include file="include/footer.jsp" %> 
  • lex/trunk/jsp/wordnet.jsp

    r325 r394  
    11<% String pageTitle = "Text Browser with Wordnet"; %> 
    2 <%@ include file="header2.jsp" %> 
     2<%@ include file="include/header.jsp" %> 
    33 
    44<%@ page import="java.util.*" %> 
     
    13041304                                %> 
    13051305                <td> 
    1306                         <form name="editls" method="get" action="lsedit.jsp"> 
     1306                        <form name="editls" method="get" action="lexicon.jsp"> 
    13071307                        <input type="hidden" name="lsid" value="<%= currentLsId %>"> 
    13081308                        <input type="submit" name="submit" value="Edit..."> 
     
    15541554</form> 
    15551555 
    1556 <%@ include file="footer.jsp" %> 
     1556<%@ include file="include/footer.jsp" %>