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");


Reply via email to