@Override public void encode(ContentHandler output) throws Exception { Object value = ((PropertyType) object).getValue(); output.startElement(WFS.NAMESPACE, VALUE, "wfs:" + VALUE, new AttributesImpl()); if (value instanceof Geometry) { Encoder encoder = new Encoder(new org.geotools.gml2.GMLConfiguration()); encoder.setInline(true); encoder.encode(value, org.geotools.gml2.GML._Geometry, output); } else { String s = value.toString(); output.characters(s.toCharArray(), 0, s.length()); } output.endElement(WFS.NAMESPACE, VALUE, "wfs:" + VALUE); } };
protected UpdateElementType createUpdate(WfsFactory factory, Update elem) throws Exception { List<QName> propertyNames = elem.getPropertyNames(); List<Object> newValues = elem.getNewValues(); if (propertyNames.size() != newValues.size()) { throw new IllegalArgumentException( "Got " + propertyNames.size() + " property names and " + newValues.size() + " values"); } UpdateElementType update = factory.createUpdateElementType(); QName typeName = elem.getTypeName(); update.setTypeName(typeName); String srsName = getFeatureTypeInfo(typeName).getDefaultSRS(); update.setSrsName(new URI(srsName)); Filter filter = elem.getFilter(); update.setFilter(filter); @SuppressWarnings("unchecked") List<PropertyType> properties = update.getProperty(); for (int i = 0; i < propertyNames.size(); i++) { QName propName = propertyNames.get(i); Object value = newValues.get(i); PropertyType property = factory.createPropertyType(); property.setName(propName); property.setValue(value); properties.add(property); } return update; }
new Object[] { Schemas.getChildElementParticle(element.getType(), "Name", false), property.getName() }); QName newTypeName = guessValueType(property.getValue()); XSDTypeDefinition type = (newTypeName != null) ? index.getTypeDefinition(newTypeName) : null; particle.setContent(value); properties.add(new Object[] {particle, property.getValue()}); } else { new Object[] { Schemas.getChildElementParticle(element.getType(), "Value", false), property.getValue() }; properties.add(p);
/** * Sets ith "Property" element */ public void setPropertyArray(int i, net.opengis.wfs.PropertyType property) { synchronized (monitor()) { check_orphaned(); net.opengis.wfs.PropertyType target = null; target = (net.opengis.wfs.PropertyType)get_store().find_element_user(PROPERTY$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } target.set(property); } }
/** * Sets the "Property" element */ public void setProperty(net.opengis.wfs.PropertyType property) { synchronized (monitor()) { check_orphaned(); net.opengis.wfs.PropertyType target = null; target = (net.opengis.wfs.PropertyType)get_store().find_element_user(PROPERTY$0, 0); if (target == null) { target = (net.opengis.wfs.PropertyType)get_store().add_element_user(PROPERTY$0); } target.set(property); } }
PropertyType property = (PropertyType) update.getProperty().get(0); assertEquals("street\nline2\nline3\n", property.getValue());
protected UpdateElementType createUpdate(WfsFactory factory, Update elem) throws Exception { List<QName> propertyNames = elem.getPropertyNames(); List<Object> newValues = elem.getNewValues(); if (propertyNames.size() != newValues.size()) { throw new IllegalArgumentException( "Got " + propertyNames.size() + " property names and " + newValues.size() + " values"); } UpdateElementType update = factory.createUpdateElementType(); QName typeName = elem.getTypeName(); update.setTypeName(typeName); String srsName = getFeatureTypeInfo(typeName).getDefaultSRS(); update.setSrsName(new URI(srsName)); Filter filter = elem.getFilter(); update.setFilter(filter); @SuppressWarnings("unchecked") List<PropertyType> properties = update.getProperty(); for (int i = 0; i < propertyNames.size(); i++) { QName propName = propertyNames.get(i); Object value = newValues.get(i); PropertyType property = factory.createPropertyType(); property.setName(propName); property.setValue(value); properties.add(property); } return update; }