Changeset 1038:6260271ba203


Ignore:
Timestamp:
04/16/13 14:12:15 (6 years ago)
Author:
Stella Giannakopoulou <sgian@…>
Branch:
default
Message:

used OGCConstants when appending distance in MonetDBQueryBuilder

File:
1 edited

Legend:

Unmodified
Added
Removed
  • monetdb/src/main/java/org/openrdf/sail/monetdb/evaluation/MonetDBQueryBuilder.java

    r968 r1038  
    104104 
    105105import eu.earthobservatory.constants.GeoConstants; 
     106import eu.earthobservatory.constants.OGCConstants; 
    106107 
    107108/** 
     
    112113 */ 
    113114public class MonetDBQueryBuilder extends GeneralDBQueryBuilder { 
    114  
     115         
     116        public static final String ST_TRANSFORM = "ST_Transform";        
     117        public static final String GEOGRAPHY = "Geography"; 
     118         
    115119        /** 
    116120         * If (spatial) label column met is null, I must not try to retrieve its srid.  
     
    14521456                        boolean check2 = expr.getRightArg().getClass().getCanonicalName().equals("org.openrdf.sail.monetdb.algebra.MonetDBSqlNull"); 
    14531457                        boolean check3 = expr.getThirdArg().getClass().getCanonicalName().equals("org.openrdf.sail.monetdb.algebra.MonetDBSqlNull"); 
     1458                         
    14541459                        if(check1) 
    14551460                        { 
     
    14731478                                if (expr.getThirdArg() instanceof GeneralDBStringValue) 
    14741479                                {                        
    1475                                         String unparsedUnits = ((GeneralDBStringValue)expr.getThirdArg()).getValue(); 
    1476  
    1477                                         units = unparsedUnits.substring(unparsedUnits.lastIndexOf('/')+1); 
    1478                                         if(units.equals("metre") || units.equals("meter")) 
    1479                                         {                                        
    1480                                                 filter.appendFunction("GEOGRAPHY"); 
     1480                                        units = ((GeneralDBStringValue)expr.getThirdArg()).getValue(); 
     1481                                        if(!OGCConstants.supportedUnitsOfMeasure.contains(units)) 
     1482                                        { 
     1483                                                throw new UnsupportedRdbmsOperatorException("No such unit of measure exists"); 
     1484                                        }        
     1485 
     1486                                        if(units.equals(OGCConstants.OGCmetre)) 
     1487                                        { 
     1488                                                filter.appendFunction(GEOGRAPHY); 
    14811489                                                filter.openBracket(); 
    1482                                                 filter.appendFunction("ST_TRANSFORM"); 
     1490                                                filter.appendFunction(ST_TRANSFORM); 
    14831491                                                filter.openBracket(); 
    1484                                         }        
    1485                                         else if(units.equals("degree")) 
     1492                                        } 
     1493                                        else if(units.equals(OGCConstants.OGCdegree)) 
    14861494                                        { 
    1487                                                 filter.appendFunction("ST_TRANSFORM"); 
     1495                                                filter.appendFunction(ST_TRANSFORM); 
    14881496                                                filter.openBracket(); 
    14891497                                        }        
     
    15121520                                } 
    15131521                                 
    1514                                 if(units.equals("metre") || units.equals("meter")) 
    1515                                 {                                        
     1522                                if(units.equals(OGCConstants.OGCmetre)) 
     1523                                {                                
    15161524                                        filter.appendComma(); 
    15171525                                        filter.append(String.valueOf(GeoConstants.defaultSRID)); 
     
    15211529                                        filter.appendComma(); 
    15221530 
    1523                                         filter.appendFunction("GEOGRAPHY"); 
     1531                                        filter.appendFunction(GEOGRAPHY); 
    15241532                                        filter.openBracket(); 
    1525                                         filter.appendFunction("ST_TRANSFORM"); 
    1526                                         filter.openBracket();                            
    1527                                 } 
    1528                                 else if(units.equals("degree")) 
     1533                                        filter.appendFunction(ST_TRANSFORM); 
     1534                                        filter.openBracket(); 
     1535                                } 
     1536                                else if(units.equals(OGCConstants.OGCdegree)) 
    15291537                                { 
    15301538                                        filter.appendComma(); 
     
    15341542                                        filter.appendComma(); 
    15351543                                         
    1536                                         filter.appendFunction("ST_TRANSFORM"); 
     1544                                        filter.appendFunction(ST_TRANSFORM); 
    15371545                                        filter.openBracket(); 
    15381546                                }        
     
    15401548                                { 
    15411549                                        filter.appendComma(); 
    1542                                 }                                                                                                                                
     1550                                }                                                                                                                        
    15431551                                 
    15441552                                if(expr.getRightArg() instanceof GeneralDBStringValue) 
     
    15951603                                } 
    15961604 
    1597                                 if(units.equals("metre") || units.equals("meter")) 
     1605                                if(units.equals(OGCConstants.OGCmetre)) 
    15981606                                { 
    15991607                                        filter.appendComma(); 
     
    16021610                                        filter.closeBracket(); 
    16031611                                } 
    1604                                 else if(units.equals("degree")) 
     1612                                else if(units.equals(OGCConstants.OGCdegree)) 
    16051613                                { 
    16061614                                        filter.appendComma(); 
Note: See TracChangeset for help on using the changeset viewer.