@Override public SimpleFeature next() throws IOException, IllegalArgumentException, NoSuchElementException { // read the regular feature SimpleFeature f = super.next(); // rebuild it with the join feature type joinFeatureBuilder.init(f); f = joinFeatureBuilder.buildFeature(f.getID()); // add additional attributes for joined features for (int i = 0; i < joinReaders.size(); i++) { JDBCFeatureReader r = joinReaders.get(i); f.setAttribute(f.getAttributeCount() - joinReaders.size() + i, r.next()); } return f; }
@Override public SimpleFeature next() throws NoSuchElementException { final SimpleFeature f = delegate.next(); fb.init(f); fb.set("location", location); return fb.buildFeature(f.getID()); } }
/** * Copy an existing feature (the values are reused so be careful with mutable values). * * <p>If multiple features need to be copied, this method should not be used and instead an * instance should be instantiated directly. * * <p>This method is a short-hand convenience which creates a builder instance and initializes * it with the attributes from the specified feature. */ public static SimpleFeature copy(SimpleFeature original) { if (original == null) return null; SimpleFeatureBuilder builder = new SimpleFeatureBuilder(original.getFeatureType()); builder.init(original); // this is a shallow copy return builder.buildFeature(original.getID()); }
@Override public void visit(Feature feature) { fb.init((SimpleFeature) feature); SimpleFeature f = fb.buildFeature(feature.getIdentifier().getID()); features.add(f); } },
/** * * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated modifiable */ public Object parse(ElementInstance instance, Node node, Object value) throws Exception { SimpleFeatureBuilder b = new SimpleFeatureBuilder(FeatureType); SimpleFeature feature = (SimpleFeature) value; b.init(feature); b.set("name", node.getChildValue("name")); b.set("description", node.getChildValue("description")); // <element maxOccurs="unbounded" minOccurs="0" ref="kml:Feature"/> b.set("Feature", node.getChildValues(SimpleFeature.class)); return b.buildFeature(feature.getID()); }
/** * * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated modifiable */ public Object parse(ElementInstance instance, Node node, Object value) throws Exception { SimpleFeatureBuilder b = new SimpleFeatureBuilder(FeatureType); SimpleFeature feature = (SimpleFeature) value; b.init(feature); b.set("name", node.getChildValue("name")); b.set("description", node.getChildValue("description")); // <element maxOccurs="unbounded" minOccurs="0" ref="kml:Feature"/> b.set("Feature", node.getChildValues(SimpleFeature.class)); return b.buildFeature(feature.getID()); } }
while (fi.hasNext()) { fb.init((SimpleFeature) fi.next()); SimpleFeature feature = fb.buildFeature(null);
/** * * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated modifiable */ public Object parse(ElementInstance instance, Node node, Object value) throws Exception { // retype from the abstract feature type, since extended data could have altered the schema // placemarks add an additional geometry field SimpleFeature feature = (SimpleFeature) value; SimpleFeatureType abstractFeatureType = feature.getFeatureType(); SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); tb.init(abstractFeatureType); tb.setName("placemark"); tb.add("Geometry", Geometry.class); tb.setDefaultGeometry("Geometry"); SimpleFeatureType placemarkFeatureType = tb.buildFeatureType(); SimpleFeatureBuilder b = new SimpleFeatureBuilder(placemarkFeatureType); b.init(feature); // <element minOccurs="0" ref="kml:Geometry"/> for (Object childObj : node.getChildren(Geometry.class)) { Node childNode = (Node) childObj; String componentName = childNode.getComponent().getName(); if (SUPPORTED_GEOMETRY_TYPES.contains(componentName)) { b.set("Geometry", childNode.getValue()); } } return b.buildFeature(feature.getID()); }
public void testUserData() throws Exception { GeometryFactory gf = new GeometryFactory(); builder.add(gf.createPoint(new Coordinate(0, 0))); builder.add(Integer.valueOf(1)); builder.add(new Float(2.0)); builder.featureUserData("foo", "bar"); SimpleFeature feature = builder.buildFeature("fid"); assertNotNull(feature); assertEquals("bar", feature.getUserData().get("foo")); builder = new SimpleFeatureBuilder(feature.getFeatureType()); builder.init(feature); feature = builder.buildFeature("fid"); assertNotNull(feature); assertEquals("bar", feature.getUserData().get("foo")); } }
public void testGetBoundsSupportsFeaturesWithoutGeometry() throws Exception { SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(data.getSchema("road")); featureBuilder.init(roadFeatures[0]); featureBuilder.set("geom", null); SimpleFeature feature = featureBuilder.buildFeature("road.rd0"); data.addFeature(feature); SimpleFeatureSource road = data.getFeatureSource("road"); assertEquals(roadBounds, road.getBounds(Query.ALL)); }
indexSchema, reader.getCoordinateReferenceSystem()); SimpleFeatureBuilder fb = new SimpleFeatureBuilder(ftNative); fb.init(sf); fb.set( indexSchema.getGeometryDescriptor().getLocalName(),
SimpleFeature buildFeature() { SimpleFeatureBuilder builder = this.builder != null ? this.builder : createBuilder(); SimpleFeatureType featureType = builder.getFeatureType(); SimpleFeature f = builder.buildFeature(getFID()); if (geometry != null) { if (featureType.getGeometryDescriptor() == null) { // GEOT-4293, case of geometry coming after properties, we have to retype // the builder // JD: this is ugly, we should really come up with a better way to store internal // state of properties, and avoid creating the builder after the properties object // is completed SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.init(featureType); addGeometryType(typeBuilder, geometry); featureType = typeBuilder.buildFeatureType(); SimpleFeatureBuilder newBuilder = new SimpleFeatureBuilder(featureType); newBuilder.init(f); f = newBuilder.buildFeature(getFID()); } f.setAttribute(featureType.getGeometryDescriptor().getLocalName(), geometry); } incrementFID(); return f; } // "{" +
private static SimpleFeature createUpdatedFeature(SimpleFeatureBuilder builder, SimpleFeature baseFeature, String name, Number value) { builder.init(baseFeature); builder.set(name, value); return builder.buildFeature(baseFeature.getID()); } }
public static SimpleFeature createStyledFeature(SimpleFeatureType type, SimpleFeature feature, String styleCSS) { SimpleFeatureBuilder sfb = new SimpleFeatureBuilder(type); sfb.init(feature); sfb.set(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, styleCSS); return sfb.buildFeature(feature.getID()); } }
public static SimpleFeature createStyledFeature(SimpleFeatureType type, SimpleFeature feature, String styleCSS) { SimpleFeatureBuilder sfb = new SimpleFeatureBuilder(type); sfb.init(feature); sfb.set(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, styleCSS); return sfb.buildFeature(feature.getID()); } }
private List<SimpleFeature> createClones(int count, SimpleFeature proto) { List<SimpleFeature> list = new ArrayList<>(count); SimpleFeatureBuilder builder = new SimpleFeatureBuilder(proto.getFeatureType()); for (int i = 0; i < count; i++) { builder.init(proto); String fid = String.valueOf(i); SimpleFeature f = builder.buildFeature(fid); f.getUserData().put(Hints.USE_PROVIDED_FID, Boolean.TRUE); f.getUserData().put(Hints.PROVIDED_FID, fid); list.add(f); } return list; }
private List<SimpleFeature> createClones(int count, SimpleFeature proto) { List<SimpleFeature> list = new ArrayList<>(count); SimpleFeatureBuilder builder = new SimpleFeatureBuilder(proto.getFeatureType()); for (int i = 0; i < count; i++) { builder.init(proto); String fid = String.valueOf(i); SimpleFeature f = builder.buildFeature(fid); f.getUserData().put(Hints.USE_PROVIDED_FID, Boolean.TRUE); f.getUserData().put(Hints.PROVIDED_FID, fid); list.add(f); } return list; }
public static SimpleFeature copy(SimpleFeature f, String newId) { SimpleFeatureBuilder cloner = new SimpleFeatureBuilder(f.getFeatureType()); cloner.init(f); return cloner.buildFeature(newId); }
@Override public Object clone() { SimpleFeatureShapeFigure clone = (SimpleFeatureShapeFigure) super.clone(); SimpleFeatureBuilder builder = new SimpleFeatureBuilder(simpleFeature.getFeatureType()); builder.init(simpleFeature); clone.simpleFeature = builder.buildFeature(null); clone.simpleFeature.setDefaultGeometry(getGeometry().clone()); clone.shape = getShape(); return clone; }
@Override public Object clone() { SimpleFeaturePointFigure clone = (SimpleFeaturePointFigure) super.clone(); SimpleFeatureBuilder builder = new SimpleFeatureBuilder(simpleFeature.getFeatureType()); builder.init(simpleFeature); clone.simpleFeature = builder.buildFeature(null); clone.simpleFeature.setDefaultGeometry(getGeometry().clone()); clone.geometry = (Point) geometry.clone(); clone.sceneTransformProvider = sceneTransformProvider; return clone; }