Revision 38055

View differences:

branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/fmap/dal/store/oracle/OracleValues.java
54 54
	public static final String ORACLE_EPSG_FILE_NAME = "ORA_EPSG.DBF";
55 55
	public static final String DEFAULT_GEO_FIELD = "GEOMETRY";
56 56

  
57
	public static final String DEFAULT_CARTOCIUDAD_GEO_FIELD = "GEOM";
58

  
57 59
	public static final String ORACLE_ID_FIELD = "ROWID";
58 60
	public static final String DEFAULT_ID_FIELD_CASE_SENSITIVE = "GID";
59 61
	public static final String ORACLE_GEO_SCHEMA = "MDSYS";
branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/fmap/dal/store/oracle/OracleUtils.java
4126 4126
						isrs = new Integer(Math.round((float) feat.getDouble("EPSG")));
4127 4127
					}
4128 4128
				} else {
4129
					logger.warn("Did not find Oracle SRID code: " + oraSRID + ". We'll assume it's an EPSG code.");
4129
					// logger.warn("Did not find Oracle SRID code: " + oraSRID + ". We'll assume it's an EPSG code.");
4130 4130
					isrs = new Integer(Integer.parseInt(oraSRID));
4131 4131
				}
4132 4132
			} catch (Exception e) {
branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/fmap/dal/store/oracle/OracleSetProvider.java
35 35
import org.gvsig.fmap.dal.exception.DataException;
36 36
import org.gvsig.fmap.dal.feature.FeatureQuery;
37 37
import org.gvsig.fmap.dal.feature.FeatureType;
38
import org.gvsig.fmap.dal.feature.spi.AbstractFeatureStoreProvider;
38 39
import org.gvsig.fmap.dal.store.jdbc.JDBCIterator;
39 40
import org.gvsig.fmap.dal.store.jdbc.JDBCSetProvider;
40 41
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreProvider;
......
90 91

  
91 92
		return new OracleJdbcFastIterator((JDBCStoreProvider) getStore(), this,
92 93
		getFeatureType(), resultSetID);
93
}
94 94

  
95
	}
96

  
95 97
	
96 98
	protected String getSqlForEvaluator(Evaluator filter) {
97 99
	    
98 100
	    String gfld = getFeatureType().getDefaultGeometryAttributeName();
101
	    if (gfld == null) {
102
	    	try {
103
	    		gfld = findGeometryName(getStore());
104
	    	} catch (Exception ex) {
105
	    		logger.error("While getting geom field name: "
106
	    				+ ex.getMessage() + ". Assumed: " + OracleValues.DEFAULT_CARTOCIUDAD_GEO_FIELD);
107
	    		gfld = OracleValues.DEFAULT_CARTOCIUDAD_GEO_FIELD;
108
	    	}
109
	    }
110
	    
99 111
	    Object envGeoOrNull = null;
100 112
	    
101 113
	    boolean isFilterApplicable = false;
......
127 139
		        is_geo = OracleUtils.getIsGCS(srs, srs != null && srs.length() > 0);
128 140
		        env = (Envelope) envGeoOrNull;
129 141
		        filterString = OracleUtils.getIntersectsEnvelopeSelect(
130
                    getFeatureType().getDefaultGeometryAttributeName(),
131
                    env, srs, is_geo);
142
		        		gfld, env, srs, is_geo);
132 143
		        
133 144
		    } else {
134 145
	            if (envGeoOrNull instanceof Geometry) {
......
143 154
	                        srs = (String) getStore().getDynValue(OracleStoreParameters.ORA_TABLE_SRID_KEY);
144 155
	                        is_geo = OracleUtils.getIsGCS(srs, srs != null && srs.length() > 0);
145 156
	                        filterString = OracleUtils.getIntersectsEnvelopeSelect(
146
	                            getFeatureType().getDefaultGeometryAttributeName(),
147
	                            env, srs, is_geo);
157
	                        		gfld, env, srs, is_geo);
148 158
	                        
149 159
	                    } else {
150 160

  
......
159 169
	                        srs = (String) getStore().getDynValue(OracleStoreParameters.ORA_TABLE_SRID_KEY);
160 170
	                        is_geo = OracleUtils.getIsGCS(srs, srs != null && srs.length() > 0);
161 171
	                        filterString = OracleUtils.getIntersectsMultiRectSelect(
162
	                            getFeatureType().getDefaultGeometryAttributeName(),
163
	                            geom, srs, is_geo, conn);
172
	                        		gfld, geom, srs, is_geo, conn);
164 173
	                    }
165 174
	                }
166 175
	            } else {
......
170 179
	            }
171 180
		    }
172 181
		}
173
		
182

  
174 183
		//If the filter has not been completely applied
175 184
		if (!isFilterApplicable) {
176 185
		    if (filterString == null) {
......
183 192
		return filterString;
184 193
	}
185 194

  
186
    /**
195
    private String findGeometryName(AbstractFeatureStoreProvider store) throws Exception {
196
    	
197
    	if (store instanceof OracleStoreProvider) {
198
    		
199
    		OracleStoreProvider osp = (OracleStoreProvider) store;
200
    		FeatureType ft = osp.getFeatureStore().getDefaultFeatureType(); 
201
    		return ft.getDefaultGeometryAttributeName();
202
    		
203
    	} else {
204
    		logger.error("Unable to get geometry field name! Assumed: " +
205
    				OracleValues.DEFAULT_CARTOCIUDAD_GEO_FIELD);
206
    		return OracleValues.DEFAULT_CARTOCIUDAD_GEO_FIELD;
207
    	}
208
		
209
	}
210

  
211
	/**
187 212
     * @param filter
188 213
     * @param parameters
189 214
     * @return
branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/fmap/dal/store/oracle/OracleStoreProvider.java
782 782
			*/
783 783
		}
784 784
		// limit offset
785
		
786
		if (System.currentTimeMillis() - lastPrint > 2000) {
787
			logger.info("Executing SQL: " + sql.toString());
785

  
786
		sqlCount++;
787

  
788
		if (System.currentTimeMillis() - lastPrint > 5000) {
789
			logger.info("Executing SQL # " + sqlCount + ": " + sql.toString());
788 790
			lastPrint = System.currentTimeMillis(); 
789 791
		}
790 792
		
......
792 794
	}
793 795
	
794 796
	private static long lastPrint = 0;
797
	private static long sqlCount = 0;
795 798
	
796 799
	private Object coerce(FeatureAttributeDescriptor att, Object v) throws CoercionException {
797 800
		

Also available in: Unified diff