The GeoRaptor code often has to create Structs for SDO_GEOMETRY objects from internal structures such as an Envelope (a rectangular area defined via a lower left and an upper right coordinate).
There is a method in SVSpatialLayer called getSearchFilterGeometry that does this. Firstly it successfully creates a java geometry object from the supplied envelope (using a JGeometry constructor).
Then it attempts to create a Struct for use in a query using the JGeometry.storeJS(jgeom,conn) method (using a Connection I extracted from SQL Developer). The creation fails with the following error "Fail to convert to internal representation: oracle.jdbc.proxy.oracle$1jdbc$1proxy$1NullProxy$2java$1sql$1Array$$$Proxy@4d7d7041". The connection is open and appears to be correct.
If I avoid using the connection inherited from the SQL Developer table tree object, but instead hard code the creation of a new Connection that doesn't use the SQL Developer connection (created using DriverManager) the JGeometry.storeJS method works.
So, the issue appears to be in the connections. But I don't know how to debug the problem. Am I getting the SQL Developer connection correctly?
The GeoRaptor code often has to create Structs for SDO_GEOMETRY objects from internal structures such as an Envelope (a rectangular area defined via a lower left and an upper right coordinate).
There is a method in SVSpatialLayer called getSearchFilterGeometry that does this. Firstly it successfully creates a java geometry object from the supplied envelope (using a JGeometry constructor).
Then it attempts to create a Struct for use in a query using the JGeometry.storeJS(jgeom,conn) method (using a Connection I extracted from SQL Developer). The creation fails with the following error "Fail to convert to internal representation: oracle.jdbc.proxy.oracle$1jdbc$1proxy$1NullProxy$2java$1sql$1Array$$$Proxy@4d7d7041". The connection is open and appears to be correct.
If I avoid using the connection inherited from the SQL Developer table tree object, but instead hard code the creation of a new Connection that doesn't use the SQL Developer connection (created using DriverManager) the JGeometry.storeJS method works.
So, the issue appears to be in the connections. But I don't know how to debug the problem. Am I getting the SQL Developer connection correctly?