You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2016/01/28 13:21:48 UTC

svn commit: r1727322 - in /manifoldcf/branches/CONNECTORS-1270/connectors: forcedmetadata/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/forcedmetadata/ opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformati...

Author: kwright
Date: Thu Jan 28 12:21:48 2016
New Revision: 1727322

URL: http://svn.apache.org/viewvc?rev=1727322&view=rev
Log:
Revamp to add support for multiple extraction models.

Modified:
    manifoldcf/branches/CONNECTORS-1270/connectors/forcedmetadata/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/forcedmetadata/editSpecification_Expressions.html
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractor.java
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractorConfig.java
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_en_US.properties
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_ja_JP.properties
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_zh_CN.properties
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification.js
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification_OpenNLP.html
    manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/viewSpecification.html

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/forcedmetadata/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/forcedmetadata/editSpecification_Expressions.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/forcedmetadata/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/forcedmetadata/editSpecification_Expressions.html?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/forcedmetadata/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/forcedmetadata/editSpecification_Expressions.html (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/forcedmetadata/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/forcedmetadata/editSpecification_Expressions.html Thu Jan 28 12:21:48 2016
@@ -39,7 +39,7 @@
         <tr class="oddformrow">
     #end
           <td class="formcolumncell">
-            <a name="s${SEQNUM}_forcedmetadata_${paramcounter}_tag"/>
+            <a name="s${SEQNUM}_expression_${paramcounter}_tag"/>
             <input type="button" value="$Encoder.attributeEscape($ResourceBundle.getString('ForcedMetadata.Delete'))" alt="$Encoder.attributeEscape($ResourceBundle.getString('ForcedMetadata.Deleteexpressionnumber'))${paramcounter}" onclick='javascript:s${SEQNUM}_DeleteExpression(${paramcounter});'/>
             <input type="hidden" name="s${SEQNUM}_expression_${paramcounter}_op" value="Continue"/>
             <input type="hidden" name="s${SEQNUM}_expression_${paramcounter}_name" value="$Encoder.attributeEscape($paramrecord.get('parameter'))"/>

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractor.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractor.java?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractor.java (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractor.java Thu Jan 28 12:21:48 2016
@@ -25,6 +25,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.HashMap;
+import java.util.TreeMap;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.HashSet;
@@ -427,32 +429,47 @@ public class OpenNlpExtractor extends Ba
     }
     os.addChild(os.getChildCount(), node);
 
-    node = new SpecificationNode(OpenNlpExtractorConfig.NODE_PMODEL_PATH);
-    String pmodelPath = variableContext.getParameter(seqPrefix + "pmodelpath");
-    if (pmodelPath != null) {
-      node.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_VALUE, pmodelPath);
-    } else {
-      node.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_VALUE, "");
-    }
-    os.addChild(os.getChildCount(), node);
+    String modelCount = variableContext.getParameter(seqPrefix+"model_count");
+    if (modelCount != null)
+    {
+      int count = Integer.parseInt(modelCount);
+      // Delete old spec data, including legacy node types we no longer use
+      int i = 0;
+      while (i < os.getChildCount())
+      {
+        SpecificationNode cn = os.getChild(i);
+        if (cn.getType().equals(OpenNlpExtractorConfig.NODE_FINDERMODEL))
+          os.removeChild(i);
+        else
+          i++;
+      }
 
-    node = new SpecificationNode(OpenNlpExtractorConfig.NODE_LMODEL_PATH);
-    String lmodelPath = variableContext.getParameter(seqPrefix + "lmodelpath");
-    if (lmodelPath != null) {
-      node.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_VALUE, lmodelPath);
-    } else {
-      node.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_VALUE, "");
-    }
-    os.addChild(os.getChildCount(), node);
+      // Now, go through form data
+      for (int j = 0; j < count; j++)
+      {
+        String op = variableContext.getParameter(seqPrefix+"model_"+j+"_op");
+        if (op != null && op.equals("Delete"))
+          continue;
+        String paramName = variableContext.getParameter(seqPrefix+"model_"+j+"_parametername");
+        String modelFile = variableContext.getParameter(seqPrefix+"model_"+j+"_modelfile");
+        SpecificationNode sn = new SpecificationNode(OpenNlpExtractorConfig.NODE_FINDERMODEL);
+        sn.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_PARAMETERNAME,paramName);
+        sn.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_MODELFILE,modelFile);
+        os.addChild(os.getChildCount(),sn);
+      }
+      // Look for add operation
+      String addOp = variableContext.getParameter(seqPrefix+"model_op");
+      if (addOp != null && addOp.equals("Add"))
+      {
+        String paramName = variableContext.getParameter(seqPrefix+"model_parametername");
+        String modelFile = variableContext.getParameter(seqPrefix+"model_modelfile");
+        SpecificationNode sn = new SpecificationNode(OpenNlpExtractorConfig.NODE_FINDERMODEL);
+        sn.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_PARAMETERNAME,paramName);
+        sn.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_MODELFILE,modelFile);
+        os.addChild(os.getChildCount(),sn);
+      }
 
-    node = new SpecificationNode(OpenNlpExtractorConfig.NODE_OMODEL_PATH);
-    String omodelPath = variableContext.getParameter(seqPrefix + "omodelpath");
-    if (omodelPath != null) {
-      node.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_VALUE, omodelPath);
-    } else {
-      node.setAttribute(OpenNlpExtractorConfig.ATTRIBUTE_VALUE, "");
     }
-    os.addChild(os.getChildCount(), node);
 
     return null;
   }
@@ -491,10 +508,8 @@ public class OpenNlpExtractor extends Ba
   protected static void fillInOpenNLPSpecificationMap(Map<String, Object> paramMap, Specification os) {
     String sModelPath = "";
     String tModelPath = "";
-    String pModelPath = "";
-    String lModelPath = "";
-    String oModelPath = "";
-
+    final List<Map<String,String>> finderModels = new ArrayList<>();
+    
     for (int i = 0; i < os.getChildCount(); i++) {
       SpecificationNode sn = os.getChild(i);
       if (sn.getType().equals(OpenNlpExtractorConfig.NODE_SMODEL_PATH)) {
@@ -507,29 +522,19 @@ public class OpenNlpExtractor extends Ba
         if (tModelPath == null) {
           tModelPath = "";
         }
-      } else if (sn.getType().equals(OpenNlpExtractorConfig.NODE_PMODEL_PATH)) {
-        pModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
-        if (pModelPath == null) {
-          pModelPath = "";
-        }
-      } else if (sn.getType().equals(OpenNlpExtractorConfig.NODE_LMODEL_PATH)) {
-        lModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
-        if (lModelPath == null) {
-          lModelPath = "";
-        }
-      } else if (sn.getType().equals(OpenNlpExtractorConfig.NODE_OMODEL_PATH)) {
-        oModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
-        if (oModelPath == null) {
-          oModelPath = "";
-        }
+      } else if (sn.getType().equals(OpenNlpExtractorConfig.NODE_FINDERMODEL)) {
+        final String parameterName = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_PARAMETERNAME);
+        final String modelFile = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_MODELFILE);
+        final Map<String,String> modelRecord = new HashMap<>();
+        modelRecord.put("parametername", parameterName);
+        modelRecord.put("modelfile", modelFile);
+        finderModels.add(modelRecord);
       }
 
     }
     paramMap.put("SMODELPATH", sModelPath);
     paramMap.put("TMODELPATH", tModelPath);
-    paramMap.put("PMODELPATH", pModelPath);
-    paramMap.put("LMODELPATH", lModelPath);
-    paramMap.put("OMODELPATH", oModelPath);
+    paramMap.put("MODELS", finderModels);
   }
 
   protected static int handleIOException(IOException e)
@@ -570,23 +575,19 @@ public class OpenNlpExtractor extends Ba
     
     final SentenceDetector sentenceDetector;
     final Tokenizer tokenizer;
-    final NameFinderME peopleFinder;
-    final NameFinderME locationFinder;
-    final NameFinderME organizationFinder;
-    
-    final Set<String> peopleList = new HashSet<>();
-    final Set<String> locationsList = new HashSet<>();
-    final Set<String> organizationsList = new HashSet<>();
-    
+    final Map<String,NameFinderME> finders = new HashMap<>();
+    final Map<String,Set<String>> tokenLists = new HashMap<>();
+   
     public MetadataAccumulator(final SpecPacker sp,
       final long bytesize)
       throws ManifoldCFException {
       try {
         sentenceDetector = OpenNlpExtractorConfig.sentenceDetector(new File(fileDirectory,sp.getSModelPath()));
         tokenizer = OpenNlpExtractorConfig.tokenizer(new File(fileDirectory,sp.getTModelPath()));
-        peopleFinder = OpenNlpExtractorConfig.finder(new File(fileDirectory,sp.getPModelPath()));
-        locationFinder = OpenNlpExtractorConfig.finder(new File(fileDirectory,sp.getLModelPath()));
-        organizationFinder = OpenNlpExtractorConfig.finder(new File(fileDirectory,sp.getOModelPath()));
+        final Map<String,String> finderFiles = sp.getFinderModels();
+        for (String paramName : finderFiles.keySet()) {
+          finders.put(paramName, OpenNlpExtractorConfig.finder(new File(fileDirectory,finderFiles.get(paramName))));
+        }
       } catch (IOException e) {
         throw new ManifoldCFException(e.getMessage(), e);
       }
@@ -629,23 +630,21 @@ public class OpenNlpExtractor extends Ba
       for (String sentence : sentences) {
         String[] tokens = tokenizer.tokenize(sentence);
 
-        Span[] spans = peopleFinder.find(tokens);
-        peopleList.addAll(Arrays.asList(Span.spansToStrings(spans, tokens)));
-
-        spans = locationFinder.find(tokens);
-        locationsList.addAll(Arrays.asList(Span.spansToStrings(spans, tokens)));
-
-        spans = organizationFinder.find(tokens);
-        organizationsList.addAll(Arrays.asList(Span.spansToStrings(spans, tokens)));
+        for (String parameterName : finders.keySet()) {
+          Set<String> stringSet = tokenLists.get(parameterName);
+          if (stringSet == null) {
+            stringSet = new HashSet<String>();
+            tokenLists.put(parameterName, stringSet);
+          }
+          
+          Span[] spans = finders.get(parameterName).find(tokens);
+          stringSet.addAll(Arrays.asList(Span.spansToStrings(spans, tokens)));
+        }
       }
     }
     
     public Map<String,Set<String>> getMetadata() {
-      final Map<String, Set<String>> nerMap = new HashMap<>();
-      nerMap.put(PERSONS, peopleList);
-      nerMap.put(LOCATIONS, locationsList);
-      nerMap.put(ORGANIZATIONS, organizationsList);
-      return nerMap;
+      return tokenLists;
     }
     
   }
@@ -789,16 +788,11 @@ public class OpenNlpExtractor extends Ba
 
     private final String sModelPath;
     private final String tModelPath;
-    private final String pModelPath;
-    private final String lModelPath;
-    private final String oModelPath;
+    private final Map<String, String> models = new TreeMap<>();
 
     public SpecPacker(Specification os) {
       String sModelPath = null;
       String tModelPath = null;
-      String pModelPath = null;
-      String lModelPath = null;
-      String oModelPath = null;
 
       for (int i = 0; i < os.getChildCount(); i++) {
         SpecificationNode sn = os.getChild(i);
@@ -809,22 +803,15 @@ public class OpenNlpExtractor extends Ba
         if (sn.getType().equals(OpenNlpExtractorConfig.NODE_TMODEL_PATH)) {
           tModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
         }
-        if (sn.getType().equals(OpenNlpExtractorConfig.NODE_PMODEL_PATH)) {
-          pModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
-        }
-        if (sn.getType().equals(OpenNlpExtractorConfig.NODE_LMODEL_PATH)) {
-          lModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
-        }
-        if (sn.getType().equals(OpenNlpExtractorConfig.NODE_OMODEL_PATH)) {
-          oModelPath = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_VALUE);
+        if (sn.getType().equals(OpenNlpExtractorConfig.NODE_FINDERMODEL)) {
+          final String parameterName = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_PARAMETERNAME);
+          final String modelFile = sn.getAttributeValue(OpenNlpExtractorConfig.ATTRIBUTE_MODELFILE);
+          models.put(parameterName, modelFile);
         }
 
       }
       this.sModelPath = sModelPath;
       this.tModelPath = tModelPath;
-      this.pModelPath = pModelPath;
-      this.lModelPath = lModelPath;
-      this.oModelPath = oModelPath;
     }
 
     public String toPackedString() {
@@ -833,14 +820,13 @@ public class OpenNlpExtractor extends Ba
       // extract nouns
       if (sModelPath != null)
         sb.append(sModelPath);
+      sb.append(",");
       if (tModelPath != null)
         sb.append(tModelPath);
-      if (pModelPath != null)
-        sb.append(pModelPath);
-      if (lModelPath != null)
-        sb.append(lModelPath);
-      if (oModelPath != null)
-        sb.append(oModelPath);
+      sb.append("[");
+      for (String parameterName : models.keySet()) {
+        sb.append(parameterName).append("=").append(models.get(parameterName)).append(",");
+      }
 
       return sb.toString();
     }
@@ -853,16 +839,8 @@ public class OpenNlpExtractor extends Ba
       return tModelPath;
     }
 
-    public String getPModelPath() {
-      return pModelPath;
-    }
-
-    public String getLModelPath() {
-      return lModelPath;
-    }
-
-    public String getOModelPath() {
-      return oModelPath;
+    public Map<String, String> getFinderModels() {
+      return models;
     }
 
   }

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractorConfig.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractorConfig.java?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractorConfig.java (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/java/org/apache/manifoldcf/agents/transformation/opennlp/OpenNlpExtractorConfig.java Thu Jan 28 12:21:48 2016
@@ -41,11 +41,11 @@ public class OpenNlpExtractorConfig
   // Specification nodes and values
   public static final String NODE_SMODEL_PATH = "SModelPath";
   public static final String NODE_TMODEL_PATH = "TModelPath";
-  public static final String NODE_PMODEL_PATH = "PModelPath";
-  public static final String NODE_LMODEL_PATH = "LModelPath";
-  public static final String NODE_OMODEL_PATH = "OModelPath";
+  public static final String NODE_FINDERMODEL = "FinderModel";
 
   public static final String ATTRIBUTE_VALUE = "value";
+  public static final String ATTRIBUTE_PARAMETERNAME = "parametername";
+  public static final String ATTRIBUTE_MODELFILE = "modelfile";
     
   private final static Map<File,SentenceModel> sModels = new HashMap<>();
   private final static Map<File,TokenizerModel> tModels = new HashMap<>();

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_en_US.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_en_US.properties?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_en_US.properties (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_en_US.properties Thu Jan 28 12:21:48 2016
@@ -17,6 +17,14 @@ OpenNlpExtractor.OpenNLPTabName=OpenNlp
 OpenNlpExtractor.SelectOne=-- Select Model File --
 OpenNlpExtractor.SentenceDetectorModelPath=Sentence detector model:
 OpenNlpExtractor.TokenizerModelPath=Tokenizer model:
-OpenNlpExtractor.PeopleModelPath=People model:
-OpenNlpExtractor.LocationsModelPath=Locations model:
-OpenNlpExtractor.OraganizationsModelPath=Organizations model:
\ No newline at end of file
+OpenNlpExtractor.FinderModelList=Finder model list:
+OpenNlpExtractor.ParameterName=Parameter name
+OpenNlpExtractor.ModelFile=Model file
+
+OpenNlpExtractor.PleaseProvideAParameterName=Please provide a parameter name
+OpenNlpExtractor.PleaseSelectAModelFile=Please select a finder model file
+OpenNlpExtractor.Delete=Delete
+OpenNlpExtractor.Deletemodelnumber=Delete model #
+OpenNlpExtractor.NoModelsSpecified=No finder models specified
+OpenNlpExtractor.Add=Add
+OpenNlpExtractor.Addmodel=Add finder model

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_ja_JP.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_ja_JP.properties?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_ja_JP.properties (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_ja_JP.properties Thu Jan 28 12:21:48 2016
@@ -17,6 +17,14 @@ OpenNlpExtractor.OpenNLPTabName=OpenNlp
 OpenNlpExtractor.SelectOne=-- Select Model File --
 OpenNlpExtractor.SentenceDetectorModelPath=Sentence detector model:
 OpenNlpExtractor.TokenizerModelPath=Tokenizer model:
-OpenNlpExtractor.PeopleModelPath=People model:
-OpenNlpExtractor.LocationsModelPath=Locations model:
-OpenNlpExtractor.OraganizationsModelPath=Organizations model:
\ No newline at end of file
+OpenNlpExtractor.FinderModelList=Finder model list:
+OpenNlpExtractor.ParameterName=Parameter name
+OpenNlpExtractor.ModelFile=Model file
+
+OpenNlpExtractor.PleaseProvideAParameterName=Please provide a parameter name
+OpenNlpExtractor.PleaseSelectAModelFile=Please select a finder model file
+OpenNlpExtractor.Delete=Delete
+OpenNlpExtractor.Deletemodelnumber=Delete model #
+OpenNlpExtractor.NoModelsSpecified=No finder models specified
+OpenNlpExtractor.Add=Add
+OpenNlpExtractor.Addmodel=Add finder model

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_zh_CN.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_zh_CN.properties?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_zh_CN.properties (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/native2ascii/org/apache/manifoldcf/agents/transformation/opennlp/common_zh_CN.properties Thu Jan 28 12:21:48 2016
@@ -17,6 +17,14 @@ OpenNlpExtractor.OpenNLPTabName=OpenNlp
 OpenNlpExtractor.SelectOne=-- Select Model File --
 OpenNlpExtractor.SentenceDetectorModelPath=Sentence detector model:
 OpenNlpExtractor.TokenizerModelPath=Tokenizer model:
-OpenNlpExtractor.PeopleModelPath=People model:
-OpenNlpExtractor.LocationsModelPath=Locations model:
-OpenNlpExtractor.OraganizationsModelPath=Organizations model:
\ No newline at end of file
+OpenNlpExtractor.FinderModelList=Finder model list:
+OpenNlpExtractor.ParameterName=Parameter name
+OpenNlpExtractor.ModelFile=Model file
+
+OpenNlpExtractor.PleaseProvideAParameterName=Please provide a parameter name
+OpenNlpExtractor.PleaseSelectAModelFile=Please select a finder model file
+OpenNlpExtractor.Delete=Delete
+OpenNlpExtractor.Deletemodelnumber=Delete model #
+OpenNlpExtractor.NoModelsSpecified=No finder models specified
+OpenNlpExtractor.Add=Add
+OpenNlpExtractor.Addmodel=Add finder model

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification.js
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification.js?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification.js (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification.js Thu Jan 28 12:21:48 2016
@@ -17,9 +17,43 @@
 
 <script type="text/javascript">
 <!--
+
+function s${SEQNUM}_AddModel()
+{
+  if (editjob.s${SEQNUM}_model_parametername.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('OpenNlpExtractor.PleaseProvideAParameterName'))");
+    editjob.s${SEQNUM}_model_parametername.focus();
+    return;
+  }
+  if (editjob.s${SEQNUM}_model_modelfile.value == "")
+  {
+    alert("$Encoder.bodyJavascriptEscape($ResourceBundle.getString('OpenNlpExtractor.PleaseSelectAModelFile'))");
+    editjob.s${SEQNUM}_model_modelfile.focus();
+    return;
+  }
+  document.editjob.s${SEQNUM}_model_op.value="Add";
+  postFormSetAnchor("s${SEQNUM}_model_tag");
+}
+	
+function s${SEQNUM}_DeleteModel(n)
+{
+  eval("document.editjob.s${SEQNUM}_model_"+n+"_op.value = 'Delete'");
+  if (n == 0)
+    postFormSetAnchor("s${SEQNUM}_model_tag");
+  else
+    postFormSetAnchor("s${SEQNUM}_model_"+(n-1)+"_tag");
+}
+
+function s${SEQNUM}_checkSpecificationForSave()
+{
+  return true;
+}
+
 function s${SEQNUM}_checkSpecification()
 {
   return true;
 }
+
 //-->
 </script>

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification_OpenNLP.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification_OpenNLP.html?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification_OpenNLP.html (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/editSpecification_OpenNLP.html Thu Jan 28 12:21:48 2016
@@ -62,70 +62,67 @@
       </select>
     </td>
   </tr>
+  
   <tr>
     <td class="separator" colspan="2"><hr /></td>
   </tr>
+  
   <tr>
-    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.PeopleModelPath'))</nobr></td>
-    <td class="value">
-      <select name="s${SEQNUM}_pmodelpath" size="3">
-  #if($PMODELPATH == "")
-        <option value="" selected="true">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
-  #else
-        <option value="">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
-  #end
-  #foreach ($FILENAME in $FILENAMES)
-    #if($FILENAME == $PMODELPATH)
-        <option value="$Encoder.attributeEscape($FILENAME)" selected="true">$Encoder.bodyEscape($FILENAME)</option>
-    #else
-        <option value="$Encoder.attributeEscape($FILENAME)">$Encoder.bodyEscape($FILENAME)</option>
-    #end
-  #end
-      </select>
-    </td>
-  </tr>
-  <tr>
-    <td class="separator" colspan="2"><hr /></td>
-  </tr>
-  <tr>
-    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.LocationsModelPath'))</nobr></td>
-    <td class="value">
-      <select name="s${SEQNUM}_lmodelpath" size="3">
-  #if($LMODELPATH == "")
-        <option value="" selected="true">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
-  #else
-        <option value="">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
-  #end
-  #foreach ($FILENAME in $FILENAMES)
-    #if($FILENAME == $LMODELPATH)
-        <option value="$Encoder.attributeEscape($FILENAME)" selected="true">$Encoder.bodyEscape($FILENAME)</option>
+    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.FinderModelList'))</nobr></td>
+    <td class="boxcell">
+      <table class="formtable">
+        <tr class="formheaderrow">
+          <td class="formcolumnheader"></td>
+          <td class="formcolumnheader"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.ParameterName'))</nobr></td>
+          <td class="formcolumnheader"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.ModelFile'))</nobr></td>
+        </tr>
+  #set($modelcounter = 0)
+  #foreach($modelrecord in $MODELS)
+    #if(($modelcounter % 2) == 0)
+        <tr class="evenformrow">
     #else
-        <option value="$Encoder.attributeEscape($FILENAME)">$Encoder.bodyEscape($FILENAME)</option>
+        <tr class="oddformrow">
     #end
-  #end
-      </select>
-    </td>
-  </tr>
-  <tr>
-    <td class="separator" colspan="2"><hr /></td>
-  </tr>
-  <tr>
-    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.OraganizationsModelPath'))</nobr></td>
-    <td class="value">
-      <select name="s${SEQNUM}_omodelpath" size="3">
-  #if($OMODELPATH == "")
-        <option value="" selected="true">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
-  #else
-        <option value="">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
-  #end
+          <td class="formcolumncell">
+            <a name="s${SEQNUM}_model_${modelcounter}_tag"/>
+            <input type="button" value="$Encoder.attributeEscape($ResourceBundle.getString('OpenNlpExtractor.Delete'))" alt="$Encoder.attributeEscape($ResourceBundle.getString('OpenNlpExtractor.Deletemodelnumber'))${modelcounter}" onclick='javascript:s${SEQNUM}_DeleteModel(${modelcounter});'/>
+            <input type="hidden" name="s${SEQNUM}_model_${modelcounter}_op" value="Continue"/>
+            <input type="hidden" name="s${SEQNUM}_model_${modelcounter}_parametername" value="$Encoder.attributeEscape($modelrecord.get('parametername'))"/>
+            <input type="hidden" name="s${SEQNUM}_model_${modelcounter}_modelfile" value="$Encoder.attributeEscape($modelrecord.get('modelfile'))"/>
+          </td>
+          <td class="formcolumncell">
+            <nobr>$Encoder.bodyEscape($modelrecord.get('parametername'))</nobr>
+          </td>
+          <td class="formcolumncell">
+            <nobr>$Encoder.bodyEscape($modelrecord.get('modelfile'))</nobr>
+          </td>
+        </tr>
+    #set($modelcounter = $modelcounter + 1)
+  #end
+  #if($modelcounter == 0)
+        <tr class="formrow"><td colspan="3" class="formcolumnmessage"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.NoModelsSpecified'))</nobr></td></tr>
+  #end
+        <tr class="formrow"><td colspan="3" class="formseparator"><hr/></td></tr>
+        <tr class="formrow">
+          <td class="formcolumncell">
+            <a name="s${SEQNUM}_model_tag"/>
+            <input type="hidden" name="s${SEQNUM}_model_op" value="Continue"/>
+            <input type="button" value="$Encoder.attributeEscape($ResourceBundle.getString('OpenNlpExtractor.Add'))" alt="$Encoder.attributeEscape($ResourceBundle.getString('OpenNlpExtractor.Addmodel'))" onclick="javascript:s${SEQNUM}_AddModel();"/>
+            <input type="hidden" name="s${SEQNUM}_model_count" value="${modelcounter}"/>
+          </td>
+          <td class="formcolumncell">
+            <input type="text" name="s${SEQNUM}_model_parametername" size="30" value=""/>
+          </td>
+          <td class="formcolumncell">
+            <select name="s${SEQNUM}_model_modelfile" size="3">
+              <option value="" selected="true">$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.SelectOne'))</option>
   #foreach ($FILENAME in $FILENAMES)
-    #if($FILENAME == $OMODELPATH)
-        <option value="$Encoder.attributeEscape($FILENAME)" selected="true">$Encoder.bodyEscape($FILENAME)</option>
-    #else
-        <option value="$Encoder.attributeEscape($FILENAME)">$Encoder.bodyEscape($FILENAME)</option>
-    #end
+              <option value="$Encoder.attributeEscape($FILENAME)">$Encoder.bodyEscape($FILENAME)</option>
   #end
-      </select>
+            </select>
+          </td>
+        </tr>
+      </table>
     </td>
   </tr>
 
@@ -134,7 +131,12 @@
 #else
 <input type="hidden" name="s${SEQNUM}_smodelpath" value="$Encoder.bodyEscape($SMODELPATH)"/>
 <input type="hidden" name="s${SEQNUM}_tmodelpath" value="$Encoder.bodyEscape($TMODELPATH)"/>
-<input type="hidden" name="s${SEQNUM}_pmodelpath" value="$Encoder.bodyEscape($PMODELPATH)"/>
-<input type="hidden" name="s${SEQNUM}_lmodelpath" value="$Encoder.bodyEscape($LMODELPATH)"/>
-<input type="hidden" name="s${SEQNUM}_omodelpath" value="$Encoder.bodyEscape($OMODELPATH)"/>
+
+  #set($modelcounter = 0)
+  #foreach($modelrecord in $MODELS)
+<input type="hidden" name="s${SEQNUM}_model_${modelcounter}_parametername" value="$Encoder.attributeEscape($modelrecord.get('parametername'))"/>
+<input type="hidden" name="s${SEQNUM}_model_${modelcounter}_modelfile" value="$Encoder.attributeEscape($modelrecord.get('modelfile'))"/>
+    #set($modelcounter = $modelcounter + 1)
+  #end
+<input type="hidden" name="s${SEQNUM}_model_count" value="${modelcounter}"/>
 #end

Modified: manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/viewSpecification.html
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/viewSpecification.html?rev=1727322&r1=1727321&r2=1727322&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/viewSpecification.html (original)
+++ manifoldcf/branches/CONNECTORS-1270/connectors/opennlp/connector/src/main/resources/org/apache/manifoldcf/agents/transformation/opennlp/viewSpecification.html Thu Jan 28 12:21:48 2016
@@ -33,26 +33,36 @@
   <tr>
     <td class="separator" colspan="2"><hr /></td>
   </tr>
-  <tr>
-    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.PeopleModelPath'))</nobr></td>
-    <td class="value"><nobr>$Encoder.bodyEscape($PMODELPATH)</nobr></td>
-  </tr>
-  
-  <tr>
-    <td class="separator" colspan="2"><hr /></td>
-  </tr>
-  <tr>
-    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.LocationsModelPath'))</nobr></td>
-    <td class="value"><nobr>$Encoder.bodyEscape($LMODELPATH)</nobr></td>
-  </tr>
   
   <tr>
-    <td class="separator" colspan="2"><hr /></td>
-  </tr>
-  <tr>
-    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.OraganizationsModelPath'))</nobr></td>
-    <td class="value"><nobr>$Encoder.bodyEscape($OMODELPATH)</nobr></td>
+    <td class="description"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.FinderModelList'))</nobr></td>
+    <td class="boxcell">
+      <table class="formtable">
+        <tr class="formheaderrow">
+          <td class="formcolumnheader"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.ParameterName'))</nobr></td>
+          <td class="formcolumnheader"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.ModelFile'))</nobr></td>
+        </tr>
+  #set($modelcounter = 0)
+  #foreach($modelrecord in $MODELS)
+    #if(($modelcounter % 2) == 0)
+        <tr class="evenformrow">
+    #else
+        <tr class="oddformrow">
+    #end
+          <td class="formcolumncell">
+            <nobr>$Encoder.bodyEscape($modelrecord.get('parametername'))</nobr>
+          </td>
+          <td class="formcolumncell">
+            <nobr>$Encoder.bodyEscape($modelrecord.get('modelfile'))</nobr>
+          </td>
+        </tr>
+    #set($modelcounter = $modelcounter + 1)
+  #end
+  #if($modelcounter == 0)
+        <tr class="formrow"><td colspan="4" class="formcolumnmessage"><nobr>$Encoder.bodyEscape($ResourceBundle.getString('OpenNlpExtractor.NoModelsSpecified'))</nobr></td></tr>
+  #end
+      </table>
+    </td>
   </tr>
 
-
 </table>