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 2019/10/22 18:31:24 UTC
svn commit: r1868768 -
/manifoldcf/trunk/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java
Author: kwright
Date: Tue Oct 22 18:31:24 2019
New Revision: 1868768
URL: http://svn.apache.org/viewvc?rev=1868768&view=rev
Log:
Fix the way attributes are indexed to be compatible with LAPI connector
Modified:
manifoldcf/trunk/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java
Modified: manifoldcf/trunk/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java?rev=1868768&r1=1868767&r2=1868768&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java (original)
+++ manifoldcf/trunk/connectors/csws/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/csws/CswsConnector.java Tue Oct 22 18:31:24 2019
@@ -3727,6 +3727,7 @@ public class CswsConnector extends org.a
if (objInfo == null) {
return false;
}
+
final List<? extends AttributeGroup> attributeGroups = objInfo.getMetadata().getAttributeGroups();
for (final AttributeGroup attribute : attributeGroups) {
final int index = attribute.getKey().indexOf(".");
@@ -3737,12 +3738,34 @@ public class CswsConnector extends org.a
final long attrCatID = new Long(categoryId).longValue();
if (attrCatID == catID) {
final List<? extends DataValue> dataValues = attribute.getValues();
- final String[] valuesToIndex = new String[dataValues.size()];
+
int i = 0;
for (final DataValue dataValue : dataValues) {
- valuesToIndex[i++] = dataValue.getDescription();
+ int j = 0;
+ String[] valuesToIndex1 = null;
+ if (dataValue instanceof StringValue) {
+ StringValue typedAttr = (StringValue)dataValue;
+ List<String> valArray = typedAttr.getValues();
+ if(valArray != null) {
+ valuesToIndex1 = new String[valArray.size()];
+ for (final String valueToIndex : valArray) {
+ valuesToIndex1[j++] = valueToIndex;
+ }
+ }
+ } else if (dataValue instanceof DateValue) {
+ DateValue typedAttr = (DateValue)dataValue;
+ List<XMLGregorianCalendar> valArray = typedAttr.getValues();
+ if (valArray != null) {
+ valuesToIndex1 = new String[valArray.size()];
+ for (final XMLGregorianCalendar valueToIndex : valArray) {
+ valuesToIndex1[j++] = valueToIndex.toString();
+ }
+ }
+ }
+ if (valuesToIndex1 != null) {
+ rd.addField(catName + "." + dataValue.getDescription(), valuesToIndex1);
+ }
}
- rd.addField(catName + "." + categoryAttributeName, valuesToIndex);
}
}
return true;