Revision 60 org.gvsig.oracle/trunk/org.gvsig.oracle/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/operations/OracleFetchFeatureTypeOperation.java
OracleFetchFeatureTypeOperation.java | ||
---|---|---|
69 | 69 |
ResultSetMetaData rsMetadata, |
70 | 70 |
int colIndex |
71 | 71 |
) throws SQLException { |
72 |
|
|
72 |
int type = rsMetadata.getColumnType(colIndex); |
|
73 |
if (type>=2000 && type<=4449) { |
|
74 |
return DataTypes.GEOMETRY; |
|
75 |
} |
|
76 |
String typeName = rsMetadata.getColumnTypeName(colIndex); |
|
77 |
if( "MDSYS.SDO_GEOMETRY".equalsIgnoreCase(typeName) ) { |
|
78 |
return DataTypes.GEOMETRY; |
|
79 |
} |
|
73 | 80 |
return super.getDataTypeFromMetadata(rsMetadata, colIndex); |
74 | 81 |
} |
82 |
|
|
75 | 83 |
|
76 | 84 |
@Override |
77 | 85 |
protected void fetchGeometryTypeAndSRS( |
... | ... | |
130 | 138 |
} catch (Exception ex) { |
131 | 139 |
logger.debug("Can't get geometry type and srs from column '"+attr.getName()+"'.",ex); |
132 | 140 |
} |
141 |
// in case the table is not registered on the USER_SDO_GEOM_METADATA table |
|
142 |
attr.setGeometryType(getGeometryTypeFromDatabaseTypeName("GEOMETRY")); |
|
133 | 143 |
} |
134 | 144 |
|
135 | 145 |
private GeometryType getGeometryTypeFromDatabaseTypeName(String typeName) { |
Also available in: Unified diff