/** * Builds an attribute descriptor first building an attribute type from internal state. * * <p>If {@link #crs} has been set via {@link #setCRS(CoordinateReferenceSystem)} the internal * attribute type will be built via {@link #buildGeometryType()}, otherwise it will be built via * {@link #buildType()}. * * <p>This method calls through to {@link #buildDescriptor(String, AttributeType)}. * * @param name The name of the descriptor. * @see #buildDescriptor(String, AttributeType) */ public AttributeDescriptor buildDescriptor(String name) { setName(name); if (binding == null) throw new IllegalStateException("No binding has been provided for this attribute"); if (crs != null || Geometry.class.isAssignableFrom(binding)) { return buildDescriptor(name, buildGeometryType()); } else { return buildDescriptor(name, buildType()); } }
/** * Adds a new geometric attribute w/ provided name, class, and coordinate reference system. * * <p>The <tt>crs</tt> parameter may be <code>null</code>. * * @param name The name of the attribute. * @param binding The class that the attribute is bound to. * @param crs The crs of of the geometry, may be <code>null</code>. */ public void add(String name, Class<?> binding, CoordinateReferenceSystem crs) { attributeBuilder.setBinding(binding); attributeBuilder.setName(name); attributeBuilder.setCRS(crs); GeometryType type = attributeBuilder.buildGeometryType(); GeometryDescriptor descriptor = attributeBuilder.buildDescriptor(name, type); attributes().add(descriptor); }
GeometryType type = attributeBuilder.buildGeometryType(); descriptor = attributeBuilder.buildDescriptor(name, type); } else {
attributeBuilder.init(att); attributeBuilder.setCRS(defaultCrs); GeometryType type = attributeBuilder.buildGeometryType();
atBuilder.crs(crs); ftBuilder.add( atBuilder.buildDescriptor(adLocalName, atBuilder.buildGeometryType())); } else { Integer min = extractInteger(adDBO, KEY_minOccurs, false);
build.setBinding(geometryClass); GeometryType geometryType = build.buildGeometryType(); attributes.add( build.buildDescriptor(BasicFeatureTypes.GEOMETRY_ATTRIBUTE_NAME, geometryType));
ab.init(types[i]); ab.setCRS(override); types[i] = ab.buildDescriptor(types[i].getLocalName(), ab.buildGeometryType());
att = ab.buildDescriptor(name, ab.buildGeometryType()); } else {
/** * Builds an attribute descriptor first building an attribute type from * internal state. * <p> * If {@link #crs} has been set via {@link #setCRS(CoordinateReferenceSystem)} * the internal attribute type will be built via {@link #buildGeometryType()}, * otherwise it will be built via {@link #buildType()}. * </p> * <p> * This method calls through to {@link #buildDescriptor(String, AttributeType)}. * </p> * @param name The name of the descriptor. * * @see #buildDescriptor(String, AttributeType) */ public AttributeDescriptor buildDescriptor( String name ) { setName(name); if(binding == null) throw new IllegalStateException("No binding has been provided for this attribute"); if ( crs != null || Geometry.class.isAssignableFrom(binding)) { return buildDescriptor(name, buildGeometryType()); } else { return buildDescriptor(name, buildType()); } }
/** * Adds a new geometric attribute w/ provided name, class, and coordinate * reference system. * <p> * The <tt>crs</tt> parameter may be <code>null</code>. * </p> * @param name The name of the attribute. * @param binding The class that the attribute is bound to. * @param crs The crs of of the geometry, may be <code>null</code>. */ public void add(String name, Class<?> binding, CoordinateReferenceSystem crs ) { attributeBuilder.setBinding(binding); attributeBuilder.setName(name); attributeBuilder.setCRS(crs); GeometryType type = attributeBuilder.buildGeometryType(); GeometryDescriptor descriptor = attributeBuilder.buildDescriptor(name,type); attributes().add(descriptor); }
GeometryType type = attributeBuilder.buildGeometryType(); descriptor = attributeBuilder.buildDescriptor(name, type); } else {
GeometryType type = attributeBuilder.buildGeometryType(); descriptor = attributeBuilder.buildDescriptor(name, type); } else {
attributeBuilder.init( att ); attributeBuilder.setCRS(defaultCrs); GeometryType type = attributeBuilder.buildGeometryType();
AttributeDescriptor mappedDescriptor; if (ad instanceof GeometryDescriptor) { GeometryType at = ab.buildGeometryType(); ab.setCRS(((GeometryDescriptor) ad).getCoordinateReferenceSystem()); mappedDescriptor = ab.buildDescriptor(new NameImpl(namespaceURI, name), at);
attributeBuilder.setBinding(attribute.getType()); att = attributeBuilder.buildDescriptor(attributeName, attributeBuilder.buildGeometryType());
AttributeDescriptor mappedDescriptor; if (ad instanceof GeometryDescriptor) { GeometryType at = ab.buildGeometryType(); ab.setCRS(((GeometryDescriptor) ad).getCoordinateReferenceSystem()); mappedDescriptor = ab.buildDescriptor(new NameImpl(namespaceURI, name), at);
ab.init(types[i]); ab.setCRS(override); types[i] = ab.buildDescriptor(types[i].getLocalName(), ab.buildGeometryType());
private static GeometryDescriptor handleGeometryAttribute(SimpleFeatureType schema, CoordinateReferenceSystem crs, SimpleFeatureTypeBuilder factory, GeometryDescriptor defaultGeometryType, AttributeDescriptor attributeType) { GeometryDescriptor geometryType = (GeometryDescriptor) attributeType; GeometryDescriptor geometry; AttributeTypeBuilder builder = new AttributeTypeBuilder(); builder.setName(geometryType.getLocalName()); builder.setBinding(geometryType.getType().getBinding()); builder.setNillable(geometryType.isNillable()); // builder.setDefaultValue(defaultValue); builder.setCRS(crs); geometry = builder .buildDescriptor(geometryType.getLocalName(), builder.buildGeometryType()); if (defaultGeometryType == null || geometryType == schema.getGeometryDescriptor()) { defaultGeometryType = geometry; } factory.add(geometry); return defaultGeometryType; }
att = ab.buildDescriptor( attribute.getName(), ab.buildGeometryType()); if (attribute.isDefaultGeometry() != null && attribute.isDefaultGeometry()) {
private AttributeDescriptor buildAttributeDescriptor( SolrAttribute solrAttribute, GeometryConfig geometry) { AttributeTypeBuilder attributeBuilder = new AttributeTypeBuilder(); if (geometry == null) { attributeBuilder.setName(solrAttribute.getName()); attributeBuilder.setBinding(solrAttribute.getType()); return attributeBuilder.buildDescriptor( solrAttribute.getName(), attributeBuilder.buildType()); } attributeBuilder.setCRS(geometry.getCrs()); attributeBuilder.setName(geometry.getAttributeName()); attributeBuilder.setBinding(geometry.getType()); return attributeBuilder.buildDescriptor( geometry.getAttributeName(), attributeBuilder.buildGeometryType()); }