Author: kwright
Date: Wed May  7 18:17:12 2014
New Revision: 1593099

URL: http://svn.apache.org/r1593099
Log:
Write new code to go from specification to UI and back.

Modified:
    
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConfig.java
    
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConnector.java

Modified: 
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConfig.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConfig.java?rev=1593099&r1=1593098&r2=1593099&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConfig.java
 (original)
+++ 
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConfig.java
 Wed May  7 18:17:12 2014
@@ -37,6 +37,12 @@ public class AmazonCloudSearchConfig {
   public static final String PROXY_PORT_DEFAULT = "";
   
   // Specification nodes and values
+  public static final String NODE_MAXLENGTH = "maxlength";
+  public static final String MAXLENGTH_DEFAULT = "";
+  public static final String NODE_MIMETYPES = "mimetypes";
+  public static final String MIMETYPES_DEFAULT = "";
+  public static final String NODE_EXTENSIONS = "extensions";
+  public static final String EXTENSIONS_DEFAULT = "";
   public static final String NODE_FIELDMAP = "fieldmap";
   public static final String NODE_KEEPMETADATA = "keepAllMetadata";
   public static final String ATTRIBUTE_SOURCE = "source";

Modified: 
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConnector.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConnector.java?rev=1593099&r1=1593098&r2=1593099&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConnector.java
 (original)
+++ 
manifoldcf/branches/CONNECTORS-916/connectors/amazoncloudsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/amazoncloudsearch/AmazonCloudSearchConnector.java
 Wed May  7 18:17:12 2014
@@ -862,7 +862,22 @@ public class AmazonCloudSearchConnector 
   
   protected static void fillInContentsSpecificationMap(Map<String,Object> 
paramMap, OutputSpecification os)
   {
-    // MHL
+    String maxFileSize = AmazonCloudSearchConfig.MAXLENGTH_DEFAULT;
+    String allowedMimeTypes = AmazonCloudSearchConfig.MIMETYPES_DEFAULT;
+    String allowedFileExtensions = AmazonCloudSearchConfig.EXTENSIONS_DEFAULT;
+    for (int i = 0; i < os.getChildCount(); i++)
+    {
+      SpecificationNode sn = os.getChild(i);
+      if (sn.getType.equals(AmazonCloudSearchConfig.NODE_MAXLENGTH))
+        maxFileSize = sn.getAttribute(AmazonCloudSearchConfig.ATTRIBUTE_VALUE);
+      else if (sn.getType().equals(AmazonCloudSearchConfig.NODE_MIMETYPES))
+        allowedMimeTypes = 
sn.getValue(AmazonCloudSearchConfig.ATTRIBUTE_VALUE);
+      else if (sn.getType().equals(AmazonCloudSearchConfig.NODE_EXTENSIONS))
+        allowedFileExtensions = 
sn.getValue(AmazonCloudSearchConfig.ATTRIBUTE_VALUE);
+    }
+    paramMap.put("MAXFILESIZE",maxFileSize);
+    paramMap.put("MIMETYPES",allowedMimeTypes);
+    paramMap.put("EXTENSIONS",allowedFileExtensions);
   }
   
   /**
@@ -924,20 +939,61 @@ public class AmazonCloudSearchConnector 
   */
   @Override
   public String processSpecificationPost(IPostParameters variableContext,
-      Locale locale, OutputSpecification os) throws ManifoldCFException {
-    ConfigurationNode specNode = getSpecNode(os);
-    boolean bAdd = (specNode == null);
-    if (bAdd) 
+    Locale locale, OutputSpecification os) throws ManifoldCFException {
+    String x;
+        
+    x = variableContext.getParameter("maxfilesize");
+    if (x != null)
     {
-      specNode = new 
SpecificationNode(AmazonCloudSearchSpecs.AMAZONCLOUDSEARCH_SPECS_NODE);
+      int i = 0;
+      while (i < os.getChildCount())
+      {
+        SpecificationNode node = os.getChild(i);
+        if (node.getType().equals(AmazonCloudSearchConfig.NODE_MAXLENGTH))
+          os.removeChild(i);
+        else
+          i++;
+      }
+      SpecificationNode sn = new 
SpecificationNode(AmazonCloudSearchConfig.NODE_MAXLENGTH);
+      sn.setAttributeValue(AmazonCloudSearchConfig.ATTRIBUTE_VALUE,x);
+      os.addChild(os.getChildCount(),sn);
+    }
+
+    x = variableContext.getParameter("mimetypes");
+    if (x != null)
+    {
+      int i = 0;
+      while (i < os.getChildCount())
+      {
+        SpecificationNode node = os.getChild(i);
+        if (node.getType().equals(AmazonCloudSearchConfig.NODE_MIMETYPES))
+          os.removeChild(i);
+        else
+          i++;
+      }
+      SpecificationNode sn = new 
SpecificationNode(AmazonCloudSearchConfig.NODE_MIMETYPES);
+      sn.setValue(x);
+      os.addChild(os.getChildCount(),sn);
     }
-    AmazonCloudSearchSpecs.contextToSpecNode(variableContext, specNode);
-    if (bAdd)
+
+    x = variableContext.getParameter("extensions");
+    if (x != null)
     {
-      os.addChild(os.getChildCount(), specNode);
+      int i = 0;
+      while (i < os.getChildCount())
+      {
+        SpecificationNode node = os.getChild(i);
+        if (node.getType().equals(AmazonCloudSearchConfig.NODE_EXTENSIONS))
+          os.removeChild(i);
+        else
+          i++;
+      }
+      SpecificationNode sn = new 
SpecificationNode(AmazonCloudSearchConfig.NODE_EXTENSIONS);
+      sn.setValue(x);
+      os.addChild(os.getChildCount(),sn);
     }
     
-    String x = variableContext.getParameter("cloudsearch_fieldmapping_count");
+    x = variableContext.getParameter("cloudsearch_fieldmapping_count");
     if (x != null && x.length() > 0)
     {
       // About to gather the fieldmapping nodes, so get rid of the old ones.


Reply via email to