Author: ang05a
Date: 2012-03-26 01:51:38 -0700 (Mon, 26 Mar 2012)
New Revision: 38647
Modified:
trunk/modules/extension/app-schema/app-schema/src/main/java/org/geotools/data/complex/DataAccessMappingFeatureIterator.java
Log:
Fix app-schema bug for isList with simple types.
Modified: trunk/modules/extension/app-schema/app-schema/src/main/java/org/geotools/data/complex/DataAccessMappingFeatureIterator.java
===================================================================
--- trunk/modules/extension/app-schema/app-schema/src/main/java/org/geotools/data/complex/DataAccessMappingFeatureIterator.java 2012-03-26 04:15:48 UTC (rev 38646)
+++ trunk/modules/extension/app-schema/app-schema/src/main/java/org/geotools/data/complex/DataAccessMappingFeatureIterator.java 2012-03-26 08:51:38 UTC (rev 38647)
@@ -41,6 +41,7 @@
import org.geotools.data.joining.JoiningNestedAttributeMapping;
import org.geotools.data.joining.JoiningQuery;
import org.geotools.feature.AttributeBuilder;
+import org.geotools.feature.ComplexAttributeImpl;
import org.geotools.feature.FeatureCollection;
import org.geotools.feature.FeatureImpl;
import org.geotools.feature.FeatureIterator;
@@ -830,13 +831,13 @@
String valueString = StringUtils.join(values, " ");
StepList fullPath = attMapping.getTargetXPath();
StepList leafPath = fullPath.subList(fullPath.size() - 1, fullPath.size());
- if (ComplexFeatureConstants.SIMPLE_CONTENT.equals(instance.getDescriptor()
- .getName())) {
- instance.setValue(valueString);
- } else {
+ if (instance instanceof ComplexAttributeImpl) {
// xpath builder will work out the leaf attribute to set values on
xpathAttributeBuilder.set(instance, leafPath, valueString, null, null,
false, sourceExpr);
+ } else {
+ // simple attributes
+ instance.setValue(valueString);
}
}
} else if (attMapping.isMultiValued()) {
|