public MappedSchemaBuilderGML( String configURL, List<String> gmlSchemas, StorageCRS storageCRS,
List<NamespaceHint> nsHints, BLOBMapping blobConf,
List<FeatureTypeMappingJAXB> ftMappingConfs, boolean deleteCascadingByDB )
throws FeatureStoreException {
gmlSchema = buildGMLSchema( configURL, gmlSchemas );
CRSRef crs = CRSManager.getCRSRef( storageCRS.getValue() );
CoordinateDimension dim = crs.getDimension() == 3 ? DIM_3 : DIM_2;
geometryParams = new GeometryStorageParams( crs, storageCRS.getSrid(), dim );
addNamespaceBindings( configURL, gmlSchema, nsHints );
schemaWalker = new XPathSchemaWalker( gmlSchema, nsBindings );
if ( blobConf != null ) {
Pair<BlobMapping, BBoxTableMapping> pair = buildBlobMapping( blobConf,
gmlSchema.getGMLSchema().getVersion() );
blobMapping = pair.first;
bboxMapping = pair.second;
}
if ( ftMappingConfs != null ) {
for ( FeatureTypeMappingJAXB ftMappingConf : ftMappingConfs ) {
org.deegree.feature.persistence.sql.FeatureTypeMapping ftMapping = buildFtMapping( ftMappingConf );
ftNameToMapping.put( ftMapping.getFeatureType(), ftMapping );
}
}
this.deleteCascadingByDB = deleteCascadingByDB;
}