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