private void map( PrimitiveMapping mapping, List<MappableStep> remaining ) throws UnmappableException { final PrimitiveMapping primMapping = mapping; final MappingExpression me = primMapping.getMapping(); ParticleConverter<?> converter = null; if ( fs != null ) { converter = fs.getConverter( primMapping ); } if ( !( me instanceof DBField ) ) { final String qualifiedExpr = me.toString().replace( "$0", currentTableAlias ); propMapping = new PropertyNameMapping( converter, joins, qualifiedExpr, null ); return; } propMapping = new PropertyNameMapping( converter, joins, ( (DBField) me ).getColumn(), currentTableAlias ); }
protected void getPSBody( AbstractWhereBuilder builder, StringBuilder getDatasetIDs ) { String rootTableAlias = builder.getAliasManager().getRootTableAlias(); getDatasetIDs.append( " FROM " ); getDatasetIDs.append( mainTable ); getDatasetIDs.append( " " ); getDatasetIDs.append( rootTableAlias ); for ( PropertyNameMapping mappedPropName : builder.getMappedPropertyNames() ) { for ( Join join : mappedPropName.getJoins() ) { getDatasetIDs.append( " LEFT OUTER JOIN " ); getDatasetIDs.append( join.getToTable() ); getDatasetIDs.append( ' ' ); getDatasetIDs.append( join.getToTableAlias() ); getDatasetIDs.append( " ON " ); getDatasetIDs.append( join.getSQLJoinCondition() ); } } if ( builder.getWhere() != null ) { getDatasetIDs.append( " WHERE " ); getDatasetIDs.append( builder.getWhere().getSQL() ); } }
sql = new SQLArgument( value, converter ); } else { sql = new SQLColumn( propMapping.getTableAlias(), propMapping.getColumn(), propMapping.getConverter() );
GeometryParticleConverter converter = new PostGISGeometryConverter( column, STORAGE_CRS, STORAGE_SRID, useLegacyPredicates ); propMapping = new PropertyNameMapping( converter, joins, column, table ); } else { BaseType bt = null; propMapping = new PropertyNameMapping( converter, joins, column, table );
sql = new SQLArgument( value, converter ); } else { sql = new SQLColumn( propMapping.getTableAlias(), propMapping.getColumn(), propMapping.getConverter() );
for ( Join join : mappedPropName.getJoins() ) { sql.append( " LEFT OUTER JOIN " ); sql.append( join.getToTable() );
private void map( GeometryMapping mapping, List<MappableStep> remaining ) throws UnmappableException { GeometryMapping geomMapping = mapping; MappingExpression me = geomMapping.getMapping(); if ( !( me instanceof DBField ) ) { throw new UnmappableException( "Mappings to non-DBField geometries is currently not supported." ); } ParticleConverter<?> converter = null; if ( fs != null ) { converter = fs.getConverter( geomMapping ); } propMapping = new PropertyNameMapping( converter, joins, ( (DBField) me ).getColumn(), currentTableAlias ); }
for ( Join join : mappedPropName.getJoins() ) { sql.append( " LEFT OUTER JOIN " ); sql.append( join.getToTable() );
tableColumn.first.second, tableColumn.second ); mapping = new PropertyNameMapping( converter, joins, tableColumn.first.second, tableAlias ); } else { Queryable queryable = getQueryable( qName ); queryable.getColumn(), queryable.isMultiple() ); mapping = new PropertyNameMapping( converter, new ArrayList<Join>(), queryable.getColumn(), tableAlias ); } else {
for ( Join join : mappedPropName.getJoins() ) { sql.append( " LEFT OUTER JOIN " ); sql.append( join.getToTable() );
@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() ); }