From: <svn...@os...> - 2012-03-26 08:51:45
|
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()) { |