tb.nillable(ad.isNillable()); tb.add(ad.getLocalName(), target, gd.getCoordinateReferenceSystem());
public void testBogusCreation() throws Exception { SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); tb.setName("test1"); tb.nillable(false).add("billy", String.class); tb.nillable(false).add("jimmy", String.class); SimpleFeatureType test = tb.buildFeatureType(); // try { // SimpleFeatureBuilder.build(test, (Object[])null, null); // fail("no error"); // } catch (IllegalAttributeException iae) { // } try { SimpleFeatureBuilder.build(test, new Object[32], null); fail("no error"); } catch (Exception e) { } }
private SimpleFeatureType buildTestFeatureType() { SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.setName(TEST.TestFeature.getLocalPart()); typeBuilder.setNamespaceURI(TEST.TestFeature.getNamespaceURI()); typeBuilder.add("name", String.class); typeBuilder.add("description", String.class); typeBuilder.add("geom", Point.class); typeBuilder.nillable(true); typeBuilder.add("count", Integer.class); typeBuilder.nillable(true); typeBuilder.add("date", Date.class); typeBuilder.add("data", String.class); typeBuilder.add("decimal", BigDecimal.class); SimpleFeatureType type = typeBuilder.buildFeatureType(); return type; }
/** * Sets all the attribute specific state from a single descriptor. * * <p>This method is convenience for: <code> * builder.minOccurs( descriptor.getMinOccurs() ).maxOccurs( descriptor.getMaxOccurs() ) * .nillable( descriptor.isNillable() )... * </code> */ public SimpleFeatureTypeBuilder descriptor(AttributeDescriptor descriptor) { minOccurs(descriptor.getMinOccurs()); maxOccurs(descriptor.getMaxOccurs()); nillable(descriptor.isNillable()); // namespaceURI( descriptor.getName().getNamespaceURI() ); defaultValue(descriptor.getDefaultValue()); if (descriptor instanceof GeometryDescriptor) { crs(((GeometryDescriptor) descriptor).getCoordinateReferenceSystem()); } return this; }
@Test public void testNullableAttributes() { SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); tb.nillable(true); tb.add("a", String.class); tb.nillable(false); tb.add("b", String.class); tb.nillable(true); tb.add("c", String.class); tb.setName("test"); SimpleFeatureType schema = tb.buildFeatureType(); PropertyIsBetween between = ff.between(ff.property("a"), ff.property("b"), ff.property("c")); NullHandlingVisitor visitor = new NullHandlingVisitor(schema); Filter result = (Filter) between.accept(visitor, null); assertTrue(result instanceof And); Filter expected = ff.and(Arrays.asList(between, propertyNotNull("a"), propertyNotNull("c"))); assertEquals(expected, result); }
/** * Create the modified feature type. * * @param sourceFeatureType the source feature type * @return the modified feature type * @throws ProcessException errror */ private SimpleFeatureType createTargetFeatureType(FeatureType sourceFeatureType) throws ProcessException { try { SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.setName(sourceFeatureType.getName().getLocalPart()); typeBuilder.setNamespaceURI(sourceFeatureType.getName().getNamespaceURI()); for (PropertyDescriptor attbType : sourceFeatureType.getDescriptors()) { typeBuilder.add((AttributeDescriptor) attbType); } typeBuilder.minOccurs(1).maxOccurs(1).nillable(false).add("lrs_measure", Double.class); typeBuilder.setDefaultGeometry( sourceFeatureType.getGeometryDescriptor().getLocalName()); return typeBuilder.buildFeatureType(); } catch (Exception e) { LOGGER.warning("Error creating type: " + e); throw new ProcessException("Error creating type: " + e, e); } }
@Override protected SimpleFeatureType buildTargetFeatureType() { SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); for (AttributeDescriptor ad : delegate.getSchema().getAttributeDescriptors()) { if (ad instanceof GeometryDescriptor) { GeometryDescriptor gd = (GeometryDescriptor) ad; Class<?> binding = ad.getType().getBinding(); if (Point.class.isAssignableFrom(binding)) { tb.add(ad); } else { tb.minOccurs(ad.getMinOccurs()); tb.maxOccurs(ad.getMaxOccurs()); tb.nillable(ad.isNillable()); tb.add(ad.getLocalName(), Point.class, gd.getCoordinateReferenceSystem()); } } else { tb.add(ad); } } tb.setName(delegate.getSchema().getName()); return tb.buildFeatureType(); }
public void testAttributeDefaultValue() { SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder(); builder.setName("buggy"); builder.nillable(false).defaultValue(12).add("attrWithDefault", Integer.class); builder.nillable(true).defaultValue(null).add("attrWithoutDefault", Integer.class); SimpleFeatureType featureType = builder.buildFeatureType(); assertFalse(featureType.getDescriptor("attrWithDefault").isNillable()); assertEquals(12, featureType.getDescriptor("attrWithDefault").getDefaultValue()); assertTrue(featureType.getDescriptor("attrWithoutDefault").isNillable()); assertNull(featureType.getDescriptor("attrWithoutDefault").getDefaultValue()); }
builder.setCRS(CRS.decode("EPSG:4326")); builder.add(aname("geometry"), Geometry.class); builder.nillable(false).add(aname("intProperty"), Integer.class);
tb.nillable(ad.isNillable()); tb.add(ad.getLocalName(), target, gd.getCoordinateReferenceSystem());
tb.nillable(ad.isNillable()); tb.add(ad.getLocalName(), target, gd.getCoordinateReferenceSystem());
/** * Default SimpleFeatureTypeBuilder which provides the Bands schema of a Sentinel2 provider. * * @return * @throws NoSuchAuthorityCodeException * @throws FactoryException */ public static SimpleFeatureTypeBuilder defaultBandFeatureTypeBuilder(String typeName) throws NoSuchAuthorityCodeException, FactoryException { SimpleFeatureTypeBuilder sceneBuilder = SceneFeatureIterator.defaultSceneFeatureTypeBuilder(typeName); SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.init(sceneBuilder.buildFeatureType()); typeBuilder.setName(typeName); typeBuilder.setDefaultGeometry(SceneFeatureIterator.SHAPE_ATTRIBUTE_NAME); typeBuilder.minOccurs(1).maxOccurs(1).nillable(false).add(BAND_ATTRIBUTE_NAME, String.class); return typeBuilder; }
/** * Sets all the attribute specific state from a single descriptor. * <p> * This method is convenience for: * <code> * builder.minOccurs( descriptor.getMinOccurs() ).maxOccurs( descriptor.getMaxOccurs() ) * .nillable( descriptor.isNillable() )... * </code> * </p> */ public SimpleFeatureTypeBuilder descriptor( AttributeDescriptor descriptor ) { minOccurs( descriptor.getMinOccurs() ); maxOccurs( descriptor.getMaxOccurs() ); nillable( descriptor.isNillable() ); //namespaceURI( descriptor.getName().getNamespaceURI() ); defaultValue( descriptor.getDefaultValue() ); if ( descriptor instanceof GeometryDescriptor ) { crs( ( (GeometryDescriptor) descriptor).getCoordinateReferenceSystem() ); } return this; }
/** * Create the modified feature type. * * @param sourceFeatureType * the source feature type * @return the modified feature type * @throws ProcessException * errror */ private SimpleFeatureType createTargetFeatureType(FeatureType sourceFeatureType) throws ProcessException { try { SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.setName(sourceFeatureType.getName().getLocalPart()); typeBuilder.setNamespaceURI(sourceFeatureType.getName().getNamespaceURI()); for (PropertyDescriptor attbType : sourceFeatureType.getDescriptors()) { typeBuilder.add((AttributeDescriptor) attbType); } typeBuilder.minOccurs(1).maxOccurs(1).nillable(false).add("nearest_distance", Double.class); typeBuilder.minOccurs(1).maxOccurs(1).nillable(false).add("nearest_bearing", Double.class); typeBuilder .setDefaultGeometry(sourceFeatureType.getGeometryDescriptor().getLocalName()); return typeBuilder.buildFeatureType(); } catch (Exception e) { LOGGER.warning("Error creating type: " + e); throw new ProcessException("Error creating type: " + e, e); } }
/** * Create the modified feature type. * * @param sourceFeatureType the source feature type * @return the modified feature type * @throws ProcessException errror */ private SimpleFeatureType createTargetFeatureType(FeatureType sourceFeatureType) throws ProcessException { try { SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.setName(sourceFeatureType.getName().getLocalPart()); typeBuilder.setNamespaceURI(sourceFeatureType.getName().getNamespaceURI()); for (PropertyDescriptor attbType : sourceFeatureType.getDescriptors()) { typeBuilder.add((AttributeDescriptor) attbType); } typeBuilder.minOccurs(1).maxOccurs(1).nillable(false).add("lrs_measure", Double.class); typeBuilder .setDefaultGeometry(sourceFeatureType.getGeometryDescriptor().getLocalName()); return typeBuilder.buildFeatureType(); } catch (Exception e) { LOGGER.warning("Error creating type: " + e); throw new ProcessException("Error creating type: " + e, e); } }
@Override protected SimpleFeatureType buildTargetFeatureType() { SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); for (AttributeDescriptor ad : delegate.getSchema().getAttributeDescriptors()) { if(ad instanceof GeometryDescriptor) { GeometryDescriptor gd = (GeometryDescriptor) ad; Class<?> binding = ad.getType().getBinding(); if(Point.class.isAssignableFrom(binding)) { tb.add(ad); } else { tb.minOccurs(ad.getMinOccurs()); tb.maxOccurs(ad.getMaxOccurs()); tb.nillable(ad.isNillable()); tb.add(ad.getLocalName(), Point.class, gd.getCoordinateReferenceSystem()); } } else { tb.add(ad); } } tb.setName(delegate.getSchema().getName()); return tb.buildFeatureType(); }
protected KMLCentroidFeatureCollection( FeatureCollection<SimpleFeatureType, SimpleFeature> delegate) { super(delegate); // build the centroid collection schema SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder(); for (AttributeDescriptor ad : delegate.getSchema().getAttributeDescriptors()) { if (ad instanceof GeometryDescriptor) { GeometryDescriptor gd = (GeometryDescriptor) ad; Class<?> binding = ad.getType().getBinding(); if (Point.class.isAssignableFrom(binding)) { tb.add(ad); } else { tb.minOccurs(ad.getMinOccurs()); tb.maxOccurs(ad.getMaxOccurs()); tb.nillable(ad.isNillable()); tb.add(ad.getLocalName(), Point.class, gd.getCoordinateReferenceSystem()); } } else { tb.add(ad); } } tb.setName(delegate.getSchema().getName()); this.schema = tb.buildFeatureType(); }
builder.length(ati.getLength()); builder.nillable(ati.isNillable()); builder.add(ati.getName(), ati.getBinding());