@Override protected void geometryMappingSnippet( StringBuffer sql, GeometryMapping mapping, List<StringBuffer> ddls, TableName table ) { MappingExpression me = mapping.getMapping(); if ( me instanceof DBField ) { DBField dbField = (DBField) me; sql.append( ",\n " ); sql.append( dbField.getColumn() ); sql.append( " geometry" ); ddls.addAll( getGeometryCreate( mapping, (DBField) me, table ) ); } else { LOG.info( "Skipping geometry mapping -- not mapped to a db field. " ); } }
+ "'. Currently, only DBFields are supported." ); String columnName = ( (DBField) mapping ).getColumn(); if ( propName == null ) { LOG.debug( "Using column name for property name." ); if ( joinConfig != null ) { jc = buildJoinTable( table, joinConfig ); DBField dbField = new DBField( jc.get( 0 ).getToTable().toString(), jc.get( 0 ).getToColumns().get( 0 ).toString() ); valueTable = new TableName( dbField.getTable(), dbField.getSchema() );
@Override public PropertyNameMapping getMapping( ValueReference propName, TableAliasManager aliasManager ) throws FilterEvaluationException, UnmappableException { GeometryStorageParams geometryParams = new GeometryStorageParams( blobMapping.getCRS(), undefinedSrid, CoordinateDimension.DIM_2 ); GeometryMapping bboxMapping = new GeometryMapping( null, false, new DBField( blobMapping.getBBoxColumn() ), GeometryType.GEOMETRY, geometryParams, null ); return new PropertyNameMapping( getGeometryConverter( bboxMapping ), null, blobMapping.getBBoxColumn(), aliasManager.getRootTableAlias() ); }
DBField dbField = new DBField( md.column ); QName ptName = makeFullyQualified( new QName( md.column.toLowerCase() ), ftName.getPrefix(), ftName.getNamespaceURI() );
@Override protected void geometryMappingSnippet( StringBuffer sql, GeometryMapping mapping, List<StringBuffer> ddls, TableName table ) { MappingExpression me = mapping.getMapping(); if ( me instanceof DBField ) { DBField dbField = (DBField) me; sql.append( ",\n " ); sql.append( dbField.getColumn() ); sql.append( " sdo_geometry" ); ddls.addAll( getGeometryCreate( mapping, (DBField) me, table ) ); } else { LOG.info( "Skipping geometry mapping -- not mapped to a db field. " ); } }
DBField dbField = new DBField( md.column ); QName ptName = makeFullyQualified( new QName( md.column.toLowerCase() ), ftName.getPrefix(), ftName.getNamespaceURI() );
@Override protected void featureMappingSnippet( StringBuffer sql, FeatureMapping mapping ) { SQLIdentifier col = mapping.getJoinedTable().get( mapping.getJoinedTable().size() - 1 ).getFromColumns().get( 0 ); if ( col != null ) { sql.append( ",\n " ); sql.append( col ); sql.append( " varchar(2000)" ); } MappingExpression hrefMe = mapping.getHrefMapping(); if ( hrefMe instanceof DBField ) { sql.append( ",\n " ); sql.append( ( (DBField) hrefMe ).getColumn() ); sql.append( " varchar(2000)" ); } }
private PrimitiveMapping generatePropMapping( SimplePropertyType pt, MappingContext mc ) { LOG.debug( "Mapping simple property '" + pt.getName() + "'" ); ValueReference path = getPropName( pt.getName() ); MappingContext propMc = null; List<TableJoin> jc = null; MappingExpression mapping = null; if ( pt.getMaxOccurs() == 1 ) { propMc = mcManager.mapOneToOneElement( mc, pt.getName() ); mapping = new DBField( propMc.getColumn() ); } else { propMc = mcManager.mapOneToManyElements( mc, pt.getName() ); jc = generateJoinChain( mc, propMc ); mapping = new DBField( "value" ); } return new PrimitiveMapping( path, false, mapping, pt.getPrimitiveType(), jc, null ); }
private List<StringBuffer> getGeometryCreate( GeometryMapping mapping, DBField dbField, TableName table ) { List<StringBuffer> ddls = new ArrayList<StringBuffer>(); StringBuffer sql = new StringBuffer(); String schema = table.getSchema() == null ? "" : table.getSchema(); String column = dbField.getColumn(); String srid = mapping.getSrid(); // TODO String geometryType = "GEOMETRY"; int dim = 2; sql.append( "SELECT ADDGEOMETRYCOLUMN('" + schema.toLowerCase() + "', '" + table.getTable().toLowerCase() + "','" + column + "','" + srid + "','" + geometryType + "', " + dim + ")" ); ddls.add( sql ); return ddls; }
DBField dbField = new DBField( attrMc.getTable(), attrMc.getColumn() ); PrimitiveType pt = new PrimitiveType( attrDecl.getTypeDefinition() ); particles.add( new PrimitiveMapping( path, !attrUse.getRequired(), dbField, pt, null, null ) ); MappingContext attrMc = mcManager.mapOneToOneAttribute( mc, attrName ); ValueReference path = new ValueReference( "@" + getName( attrName ), null ); DBField dbField = new DBField( attrMc.getTable(), attrMc.getColumn() ); particles.add( new PrimitiveMapping( path, true, dbField, new PrimitiveType( BOOLEAN ), null, null ) ); GeometryType gt = GeometryType.GEOMETRY; MappingContext elMC = mcManager.mapOneToOneElement( mc, new QName( "value" ) ); particles.add( new GeometryMapping( path, true, new DBField( elMC.getColumn() ), gt, geometryParams, null ) ); } else if ( opt instanceof FeaturePropertyType ) { QName valueFtName = ( (FeaturePropertyType) opt ).getFTName(); particles.add( new FeatureMapping( path, true, new DBField( hrefMC.getColumn() ), valueFtName, jc ) ); } else { LOG.warn( "Unhandled object property type '" + opt.getClass() + "'." );
@Override protected void featureMappingSnippet( StringBuffer sql, FeatureMapping mapping ) { SQLIdentifier col = mapping.getJoinedTable().get( mapping.getJoinedTable().size() - 1 ).getFromColumns().get( 0 ); if ( col != null ) { sql.append( ",\n " ); sql.append( col ); sql.append( " text" ); } MappingExpression hrefMe = mapping.getHrefMapping(); if ( hrefMe instanceof DBField ) { sql.append( ",\n " ); sql.append( ( (DBField) hrefMe ).getColumn() ); sql.append( " text" ); } }
return new FeatureMapping( path, pt.getMinOccurs() == 0, new DBField( hrefMC.getColumn() ), pt.getFTName(), jc );
@Override protected void featureMappingSnippet( StringBuffer sql, FeatureMapping mapping ) { SQLIdentifier col = mapping.getJoinedTable().get( mapping.getJoinedTable().size() - 1 ).getFromColumns().get( 0 ); if ( col != null ) { sql.append( ",\n " ); sql.append( col ); sql.append( " varchar(2000)" ); } MappingExpression hrefMe = mapping.getHrefMapping(); if ( hrefMe instanceof DBField ) { sql.append( ",\n " ); sql.append( ( (DBField) hrefMe ).getColumn() ); sql.append( " varchar(2000)" ); } }
private GeometryMapping generatePropMapping( GeometryPropertyType pt, MappingContext mc ) { LOG.debug( "Mapping geometry property '" + pt.getName() + "'" ); ValueReference path = getPropName( pt.getName() ); MappingContext propMc = null; List<TableJoin> jc = null; MappingExpression mapping = null; if ( pt.getMaxOccurs() == 1 ) { propMc = mcManager.mapOneToOneElement( mc, pt.getName() ); mapping = new DBField( propMc.getColumn() ); } else { propMc = mcManager.mapOneToManyElements( mc, pt.getName() ); jc = generateJoinChain( mc, propMc ); mapping = new DBField( "value" ); } return new GeometryMapping( path, pt.getMinOccurs() == 0, mapping, pt.getGeometryType(), geometryParams, jc ); }
@Override protected void primitiveMappingSnippet( StringBuffer sql, PrimitiveMapping mapping ) { MappingExpression me = mapping.getMapping(); if ( me instanceof DBField ) { DBField dbField = (DBField) me; sql.append( ",\n " ); sql.append( dbField.getColumn() ); sql.append( " " ); sql.append( getDBType( mapping.getType().getBaseType() ) ); } }
MappingExpression mapping = new DBField( elMC.getColumn() ); PrimitiveType pt = new PrimitiveType( (XSSimpleTypeDefinition) typeDef ); mappings.add( new PrimitiveMapping( path, false, mapping, pt, jc, null ) );
@Override protected void primitiveMappingSnippet( StringBuffer sql, PrimitiveMapping mapping ) { MappingExpression me = mapping.getMapping(); if ( me instanceof DBField ) { DBField dbField = (DBField) me; sql.append( ",\n " ); sql.append( dbField.getColumn() ); sql.append( " " ); sql.append( getDBType( mapping.getType().getBaseType() ) ); } }
private CompoundMapping generatePropMapping( CodePropertyType pt, MappingContext mc ) { LOG.debug( "Mapping code property '" + pt.getName() + "'" ); ValueReference path = getPropName( pt.getName() ); MappingContext propMc = null; MappingContext codeSpaceMc = null; List<TableJoin> jc = null; MappingExpression mapping = null; if ( pt.getMaxOccurs() == 1 ) { propMc = mcManager.mapOneToOneElement( mc, pt.getName() ); codeSpaceMc = mcManager.mapOneToOneAttribute( propMc, new QName( "codeSpace" ) ); mapping = new DBField( propMc.getColumn() ); } else { propMc = mcManager.mapOneToManyElements( mc, pt.getName() ); codeSpaceMc = mcManager.mapOneToOneAttribute( propMc, new QName( "codeSpace" ) ); jc = generateJoinChain( mc, propMc ); mapping = new DBField( "value" ); } MappingExpression csMapping = new DBField( codeSpaceMc.getColumn() ); List<Mapping> particles = new ArrayList<Mapping>(); particles.add( new PrimitiveMapping( new ValueReference( "text()", null ), false, mapping, new PrimitiveType( STRING ), null, null ) ); particles.add( new PrimitiveMapping( new ValueReference( "@codeSpace", null ), true, csMapping, new PrimitiveType( STRING ), null, null ) ); return new CompoundMapping( path, pt.getMinOccurs() == 0, particles, jc, pt.getElementDecl() ); }
@Override protected void primitiveMappingSnippet( StringBuffer sql, PrimitiveMapping mapping ) { MappingExpression me = mapping.getMapping(); if ( me instanceof DBField ) { DBField dbField = (DBField) me; sql.append( ",\n " ); sql.append( dbField.getColumn() ); sql.append( " " ); sql.append( getDBType( mapping.getType().getBaseType() ) ); } }
column = "value"; DBField dbField = new DBField( mc.getTable(), column ); PrimitiveType pt = new PrimitiveType( BaseType.STRING ); if ( typeDef.getSimpleType() != null ) { DBField dbField = new DBField( attrMc.getTable(), attrMc.getColumn() ); PrimitiveType pt = new PrimitiveType( attrDecl.getTypeDefinition() ); particles.add( new PrimitiveMapping( path, !attrUse.getRequired(), dbField, pt, null, null ) ); MappingContext attrMc = mcManager.mapOneToOneAttribute( mc, attrName ); ValueReference path = new ValueReference( "@" + getName( attrName ), null ); DBField dbField = new DBField( attrMc.getTable(), attrMc.getColumn() ); particles.add( new PrimitiveMapping( path, true, dbField, new PrimitiveType( BOOLEAN ), null, null ) );