@Override protected SimpleFeatureType buildFeatureType() throws IOException { List<AttributeDescriptor> types = readAttributes(); SimpleFeatureType parent = null; GeometryDescriptor geomDescriptor = (GeometryDescriptor) types.get(0); Class<?> geomBinding = geomDescriptor.getType().getBinding(); if ((geomBinding == Point.class) || (geomBinding == MultiPoint.class)) { parent = BasicFeatureTypes.POINT; } else if ((geomBinding == Polygon.class) || (geomBinding == MultiPolygon.class)) { parent = BasicFeatureTypes.POLYGON; } else if ((geomBinding == LineString.class) || (geomBinding == MultiLineString.class)) { parent = BasicFeatureTypes.LINE; } SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder(); builder.setDefaultGeometry(geomDescriptor.getLocalName()); builder.addAll(types); builder.setName(entry.getName()); builder.setAbstract(false); if (parent != null) { builder.setSuperType(parent); } return builder.buildFeatureType(); }
tb.setNamespaceURI(namespace); tb.addAll(types); setDefaultGeometry(tb, properties, featureType); return tb.buildFeatureType();
tb.setAbstract(isAbstract); if (types != null) { tb.addAll(types);
@Override public SimpleFeatureType convertType(SimpleFeatureType featureType, VectorFormat format, ImportData data, ImportTask item) { SimpleFeatureType converted = featureType; String featureTypeName = convertTypeName(featureType.getTypeName()); // trim the length of the name // by default, postgis table/index names need to fit in 64 characters // with the "spatial_" prefix and "_geometry" suffix, that leaves 47 chars // and we should leave room to append integers to make the name unique too if (featureTypeName.length() > 45) { SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); featureTypeName = featureTypeName.substring(0, 45); typeBuilder.setName(featureTypeName); typeBuilder.addAll(featureType.getAttributeDescriptors()); converted = typeBuilder.buildFeatureType(); } return converted; } };
@Override public SimpleFeatureType convertType( SimpleFeatureType featureType, VectorFormat format, ImportData data, ImportTask item) { SimpleFeatureType converted = DEFAULT.convertType(featureType, format, data, item); String featureTypeName = convertTypeName(featureType.getTypeName()); // trim the length of the name // by default, postgis table/index names need to fit in 64 characters // with the "spatial_" prefix and "_geometry" suffix, that leaves 47 chars // and we should leave room to append integers to make the name unique too if (featureTypeName.length() > 45) { SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); featureTypeName = featureTypeName.substring(0, 45); typeBuilder.setName(featureTypeName); typeBuilder.addAll(featureType.getAttributeDescriptors()); converted = typeBuilder.buildFeatureType(); } return converted; } };
private List<NodeRef> createLayers(int base, int count) { SimpleFeatureTypeBuilder ftb = new SimpleFeatureTypeBuilder(); Map<String, SimpleFeatureType> types = new HashMap<>(); for (int i = base; i < count; i++) { String treePath = "tree" + i; ftb.setName(treePath); ftb.addAll(ftproto.getAttributeDescriptors()); SimpleFeatureType featureType = ftb.buildFeatureType(); types.put(treePath, featureType); } return createLayers(types); }
simpleFeatureTypeBuilder.setCRS(sourceCRS); simpleFeatureTypeBuilder.add("GEOM", binding); simpleFeatureTypeBuilder.addAll(featureSchema); SimpleFeatureType simpleFeatureTypeWithCRS = simpleFeatureTypeBuilder .buildFeatureType();
ftBuilder.setCRS(origCRS); ftBuilder.addAll(schema.getAttributeDescriptors()); ftBuilder.setName(schema.getName());
tb.addAll( types ); tb.setDefaultGeometry( schema.getGeometryDescriptor().getLocalName() );
builder.addAll(types); builder.setName(createFeatureTypeName()); if (namespace != null) {
builder.addAll(types); builder.setName(createFeatureTypeName()); if (namespace != null) {
tb.setNamespaceURI(namespace); tb.addAll(types);
tb.setAbstract(isAbstract); if(types != null) { tb.addAll(types);
typeBuilder.addAll(featureType.getAttributeDescriptors()); featureType = typeBuilder.buildFeatureType();
public void testResultingSchemaExplicitTargetSchema(Name targetName, @Nullable String... propertySubset) throws Exception { SimpleFeatureType redefinedFullSchema; { SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder(); builder.setName(targetName); if (propertySubset == null || propertySubset.length == 0) { builder.addAll(pointsType.getAttributeDescriptors()); } else { for (String att : propertySubset) { AttributeDescriptor descriptor = pointsType.getDescriptor(att); Preconditions.checkArgument(descriptor != null); builder.add(descriptor); } } redefinedFullSchema = builder.buildFeatureType(); } builder.targetSchema(redefinedFullSchema); FeatureReader<SimpleFeatureType, SimpleFeature> reader = builder.build(); assertEquals(redefinedFullSchema, reader.getFeatureType()); SimpleFeature f = reader.next(); assertNotNull(f); assertEquals(redefinedFullSchema, f.getType()); }
public void testResultingSchemaExplicitTargetSchema(Name targetName, @Nullable String... propertySubset) throws Exception { SimpleFeatureType redefinedFullSchema; { SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder(); builder.setName(targetName); if (propertySubset == null || propertySubset.length == 0) { builder.addAll(pointsType.getAttributeDescriptors()); } else { for (String att : propertySubset) { AttributeDescriptor descriptor = pointsType.getDescriptor(att); Preconditions.checkArgument(descriptor != null); builder.add(descriptor); } } redefinedFullSchema = builder.buildFeatureType(); } builder.targetSchema(redefinedFullSchema); FeatureReader<SimpleFeatureType, SimpleFeature> reader = builder.build(); assertEquals(redefinedFullSchema, reader.getFeatureType()); SimpleFeature f = reader.next(); assertNotNull(f); assertEquals(redefinedFullSchema, f.getType()); }
typeBuilder.addAll(featureType.getAttributeDescriptors()); featureType = typeBuilder.buildFeatureType();