Revision 60 org.gvsig.oracle/trunk/org.gvsig.oracle/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/operations/OracleFetchFeatureTypeOperation.java

View differences:

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