public void modifyFeatures(AttributeDescriptor[] types, Object[] values, Filter filter) throws IOException { Name[] names = new Name[types.length]; for (int i = 0; i < types.length; i++) { names[i] = types[i].getName(); } modifyFeatures(names, values, filter); }
Object object = feature.getAttribute(type.getName());
static SimpleFeature retype(SimpleFeature source, SimpleFeatureBuilder builder) throws IllegalAttributeException { SimpleFeatureType target = builder.getFeatureType(); for (int i = 0; i < target.getAttributeCount(); i++) { AttributeDescriptor attributeType = target.getDescriptor(i); Object value = null; if (source.getFeatureType().getDescriptor(attributeType.getName()) != null) { value = source.getAttribute(attributeType.getName()); } builder.add(value); } FeatureId id = reTypeId(source.getIdentifier(), source.getFeatureType(), target); SimpleFeature retyped = builder.buildFeature(id.getID()); retyped.getUserData().putAll(source.getUserData()); return retyped; }
public void modifyFeatures(AttributeDescriptor[] type, Object[] values, Filter filter) throws IOException { SimpleFeatureType original = typeMap.getOriginalFeatureType(); // map back attribute types and values to the original values AttributeDescriptor[] originalTypes = new AttributeDescriptor[type.length]; Object[] originalValues = new Object[values.length]; for (int i = 0; i < values.length; i++) { originalTypes[i] = original.getDescriptor(type[i].getName()); if (values[i] != null) { Class<?> target = originalTypes[i].getType().getBinding(); originalValues[i] = Converters.convert(values[i], target); if (originalValues[i] == null) throw new IOException("Could not map back " + values[i] + " to type " + target); } } featureStore() .modifyFeatures(originalTypes, originalValues, store.retypeFilter(filter, typeMap)); }
Iterator<AttributeDescriptor> it = substitutionGroup.iterator(); while (property == null && it.hasNext()) { property = feature.getProperty(it.next().getName());
private void register(AttributeDescriptor descriptor) { Name name = descriptor.getName(); descriptorRegistry.put(name, descriptor); }
/** Calls through to {@link #modifyFeatures(Name[], Object[], Filter)}. */ public final void modifyFeatures(AttributeDescriptor type, Object value, Filter filter) throws IOException { modifyFeatures(new Name[] {type.getName()}, new Object[] {value}, filter); }
public Name getName() { Name name = mapping.getTargetFeature().getName(); return name; }
/** @see FeatureStore#modifyFeatures(AttributeDescriptor[], Object[], Filter) */ public final void modifyFeatures(AttributeDescriptor[] type, Object[] value, Filter filter) throws IOException { Name attributeNames[] = new Name[type.length]; for (int i = 0; i < type.length; i++) { attributeNames[i] = type[i].getName(); } modifyFeatures(attributeNames, value, filter); }
public void modifyFeatures(AttributeDescriptor[] type, Object[] value, Filter filter) throws IOException { Name attributeNames[] = new Name[type.length]; for (int i = 0; i < type.length; i++) { attributeNames[i] = type[i].getName(); } modifyFeatures(attributeNames, value, filter); }
/** * Returns The name of attributes defined in the type. * * @param type The type. */ public static Name[] names(ComplexType type) { ArrayList names = new ArrayList(); for (Iterator itr = type.getDescriptors().iterator(); itr.hasNext(); ) { AttributeDescriptor ad = (AttributeDescriptor) itr.next(); names.add(ad.getName()); } return (Name[]) names.toArray(new Name[names.size()]); }
/** * @param typeName targetElement name * @return true if this data access contains mapping for provided targetElement name */ public boolean hasElement(Name typeName) { for (FeatureTypeMapping mapping : mappings.values()) { if (mapping.getTargetFeature().getName().equals(typeName)) { return true; } } return false; }
public AttributeDescriptor getDescriptor( final Name descriptorName, CoordinateReferenceSystem crs) { AttributeDescriptor descriptor = descriptorRegistry.get(descriptorName); if (descriptor == null) { // top level elements XSDElementDeclaration elemDecl = getElementDeclaration(descriptorName); descriptor = createAttributeDescriptor(null, elemDecl, crs); LOGGER.finest("Registering attribute descriptor " + descriptor.getName()); register(descriptor); } return descriptor; }
public MappingAttributeIterator( AppSchemaDataAccess store, FeatureTypeMapping mapping, Query query, Query unrolledQuery, Transaction transaction) throws IOException { super(store, mapping, query, unrolledQuery, false, transaction); elementName = mapping.getTargetFeature().getName(); checkAttributeMappings(); }
public AttributeNodeIterator(AttributeNodePointer pointer, Name name) { this.pointer = pointer; feature = (ComplexAttribute) pointer.getImmediateAttribute(); AttributeDescriptor descriptor = feature.getDescriptor(); Name attName = descriptor == null ? feature.getType().getName() : descriptor.getName(); if (attName.equals(name)) { children = Collections.<Property>singletonList(feature); } else { children = new ArrayList<Property>(feature.getProperties(name)); } position = children.size() > 0 ? 1 : 0; }
public NodePointer getNodePointer() { Attribute attribute = (Attribute) children.get(position - 1); Name name = attribute.getDescriptor().getName(); QName qname = new QName(name.getNamespaceURI(), name.getLocalPart()); return new AttributeNodePointer(pointer, attribute, qname); } }
private QName getFeatureTypeQName(FeatureTypeMapping featureTypeMapping) { NamespaceSupport nsSupport = featureTypeMapping.getNamespaces(); Name featureTypeName = featureTypeMapping.getTargetFeature().getName(); String uri = featureTypeName.getNamespaceURI(); String localPart = featureTypeName.getLocalPart(); String prefix = nsSupport.getPrefix(uri); return new QName(uri, localPart, prefix); }
public void testGetFeatureStoreModifyFeatures1() throws IOException { SimpleFeatureStore road = (SimpleFeatureStore) data.getFeatureSource("road"); AttributeDescriptor descriptor = roadType.getDescriptor("name"); road.modifyFeatures(descriptor.getName(), "changed", rd1Filter); SimpleFeatureCollection results = road.getFeatures(rd1Filter); assertEquals("changed", results.features().next().getAttribute("name")); }
public void testGetFeatureStoreModifyFeatures2() throws IOException { SimpleFeatureStore road = (SimpleFeatureStore) data.getFeatureSource("road"); AttributeDescriptor descriptor = roadType.getDescriptor("name"); road.modifyFeatures( new Name[] {descriptor.getName()}, new Object[] { "changed", }, rd1Filter); SimpleFeatureCollection results = road.getFeatures(rd1Filter); assertEquals("changed", results.features().next().getAttribute("name")); }