private TypedObjectNode transformGeometries( TypedObjectNode value, GeometryTransformer transformer ) throws IllegalArgumentException, TransformationException, UnknownCRSException { if ( value == null ) { // nothing to do } else if ( value instanceof GenericXMLElement ) { GenericXMLElement generic = (GenericXMLElement) value; List<TypedObjectNode> newChildren = new ArrayList<TypedObjectNode>( generic.getChildren().size() ); for ( int i = 0; i < generic.getChildren().size(); i++ ) { TypedObjectNode child = generic.getChildren().get( i ); TypedObjectNode transformed = transformGeometries( child, transformer ); newChildren.add( transformed ); } generic.setChildren( newChildren ); } else if ( value instanceof Property ) { Property generic = (Property) value; List<TypedObjectNode> newChildren = new ArrayList<TypedObjectNode>( generic.getChildren().size() ); for ( int i = 0; i < generic.getChildren().size(); i++ ) { TypedObjectNode child = generic.getChildren().get( i ); TypedObjectNode transformed = transformGeometries( child, transformer ); newChildren.add( transformed ); } generic.setChildren( newChildren ); } else if ( value instanceof Geometry ) { value = transformGeometry( (Geometry) value, transformer ); } else if ( value instanceof PrimitiveValue ) { // nothing to do } return value; }
private Feature transformGeometries( Feature feature, GeometryTransformer transformer ) throws IllegalArgumentException, TransformationException, UnknownCRSException { // TODO Do not modify the incoming feature, but create a new one. for ( Property prop : feature.getProperties() ) { List<TypedObjectNode> children = prop.getChildren(); if ( children != null && !children.isEmpty() ) { List<TypedObjectNode> newChildren = new ArrayList<TypedObjectNode>( children.size() ); for ( TypedObjectNode child : children ) { newChildren.add( transformGeometries( child, transformer ) ); } prop.setChildren( newChildren ); } else { TypedObjectNode value = prop.getValue(); if ( value != null ) { prop.setValue( transformGeometries( value, transformer ) ); } } } feature.setEnvelope( feature.calcEnvelope() ); return feature; }
if ( prop.getValue() != null ) { newProp.setValue( prop.getValue() ); } else if ( !prop.getChildren().isEmpty() && prop.getChildren().get( 0 ) != null ) { newProp.setChildren( prop.getChildren() ); } else if ( updateAction == null ) { updateAction = REMOVE;
PropertyNode propNode = (PropertyNode) node; Property prop = propNode.getValue(); if ( !prop.getChildren().isEmpty() ) { List<XPathNode> xpathNodes = new ArrayList<XPathNode>( prop.getChildren().size() ); for ( TypedObjectNode xmlNode : prop.getChildren() ) { if ( xmlNode instanceof org.deegree.commons.tom.ElementNode ) { xpathNodes.add( new XMLElementNode<Property>( propNode,
if ( property.getChildren() != null ) { for ( TypedObjectNode childNode : property.getChildren() ) { export( childNode, resolveState );