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/05/10 07:52:01 UTC

svn commit: r1743120 - /manifoldcf/branches/CONNECTORS-1313/connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java

Author: kwright
Date: Tue May 10 07:52:01 2016
New Revision: 1743120

URL: http://svn.apache.org/viewvc?rev=1743120&view=rev
Log:
Handle the case where the attribute is repeated

Modified:
    manifoldcf/branches/CONNECTORS-1313/connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java

Modified: manifoldcf/branches/CONNECTORS-1313/connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1313/connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java?rev=1743120&r1=1743119&r2=1743120&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1313/connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java (original)
+++ manifoldcf/branches/CONNECTORS-1313/connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java Tue May 10 07:52:01 2016
@@ -1819,23 +1819,8 @@ public class JDBCConnector extends org.a
           i++;
       }
 
-      int attributeCount = Integer.parseInt(xc);
-      for (int attributeIndex = 0; attributeIndex < attributeCount; attributeIndex++)
-      {
-        final String attributeOp = variableContext.getParameter(seqPrefix+"attr_"+attributeIndex+"_op");
-        if (!(attributeOp != null && attributeOp.equals("Delete")))
-        {
-          // Include this!!
-          final String attributeName = variableContext.getParameter(seqPrefix+"attr_"+attributeIndex+"_name");
-          final String attributeQuery = variableContext.getParameter(seqPrefix+"attr_"+attributeIndex+"_query");
-          SpecificationNode node = new SpecificationNode(JDBCConstants.attributeQueryNode);
-          node.setAttribute(JDBCConstants.attributeName, attributeName);
-          node.setValue(attributeQuery);
-          ds.addChild(ds.getChildCount(),node);
-        }
-      }
-      
       // Now, maybe do add
+      final String newAttributeName;
       final String newAttributeOp = variableContext.getParameter(seqPrefix+"attr_op");
       if (newAttributeOp != null && newAttributeOp.equals("Add"))
       {
@@ -1843,9 +1828,33 @@ public class JDBCConnector extends org.a
         final String attributeQuery = variableContext.getParameter(seqPrefix+"attr_query");
         SpecificationNode node = new SpecificationNode(JDBCConstants.attributeQueryNode);
         node.setAttribute(JDBCConstants.attributeName, attributeName);
+        newAttributeName = attributeName;
         node.setValue(attributeQuery);
         ds.addChild(ds.getChildCount(),node);
       }
+      else
+      {
+        newAttributeName = null;
+      }
+
+      int attributeCount = Integer.parseInt(xc);
+      for (int attributeIndex = 0; attributeIndex < attributeCount; attributeIndex++)
+      {
+        final String attributeOp = variableContext.getParameter(seqPrefix+"attr_"+attributeIndex+"_op");
+        if (!(attributeOp != null && attributeOp.equals("Delete")))
+        {
+          // Include this!!
+          final String attributeName = variableContext.getParameter(seqPrefix+"attr_"+attributeIndex+"_name");
+          if (newAttributeName == null || !attributeName.equals(newAttributeName)) {
+            final String attributeQuery = variableContext.getParameter(seqPrefix+"attr_"+attributeIndex+"_query");
+            SpecificationNode node = new SpecificationNode(JDBCConstants.attributeQueryNode);
+            node.setAttribute(JDBCConstants.attributeName, attributeName);
+            node.setValue(attributeQuery);
+            ds.addChild(ds.getChildCount(),node);
+          }
+        }
+      }
+      
     }
     
     xc = variableContext.getParameter(seqPrefix+"specsecurity");