|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.geotools.data.oracle.OracleOCIDataStoreFactory
Creates an Oracle datastore based on a thick OCI client connection, instead of the traditional (thin) jdbc connection. The thin JDBC connection was designed for clients requiring no more classes than just the classes12.jar (or ojdbc14.jar). The OCI JDBC drivers are based on the Oracle client software and rely mostly on the very fast C/C++ based OCI (Oracle Call Interface) runtime.
This leads to an easy way to speed up GeoTools when gt2 is running on the same computer as the oracle install, as the OCI drivers are already there. And I believe if a computer has the OCI correctly installed and configure it can be used on remote computers, with the faster connection. This just takes more work by the admin. Server applications like GeoServer will often be on the same computer as the databse, so it makes sense to offer admins the advantage of using the OCI jdbc driver.
Instead of the instance, host, port requirments of the normal oracle factory this driver just requires the 'alias', which refers to values defined by the Oracle Net Configuration assistant and stored in $ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora. We have also had luck on the same computer with just leaving 'alias' as an empty string, and it seems to have a reasonable default behavior.
This factory should be registered in the META-INF/ folder, under services/ in the DataStoreFactorySpi file.
Nested Class Summary |
Nested classes inherited from class org.geotools.data.DataStoreFactorySpi |
DataStoreFactorySpi.Param |
Constructor Summary | |
OracleOCIDataStoreFactory()
Creates a new instance of OracleOCIDataStoreFactory |
Method Summary | |
boolean |
canProcess(java.util.Map params)
Determines whether DataStore created by this factory can process the parameters. |
DataStore |
createDataStore(java.util.Map params)
Construct a postgis data store using the params. |
DataStore |
createNewDataStore(java.util.Map params)
Oracle cannot create a new database. |
java.lang.String |
getDescription()
Describe the nature of the datastore constructed by this factory. |
java.lang.String |
getDisplayName()
Name suitable for display to end user. |
java.util.Map |
getImplementationHints()
Returns the implementation hints. |
DataStoreFactorySpi.Param[] |
getParametersInfo()
Describe parameters. |
boolean |
isAvailable()
Returns whether the OracleDataStoreFactory would actually be able to generate a DataStore. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public OracleOCIDataStoreFactory()
Method Detail |
public boolean canProcess(java.util.Map params)
Required Parameters are:
dbtype
- must equal "oracle"
host
port
user
passwd
instance
There are no defaults since each parameter must be explicitly defined by the user, or another DataSourceFactorySpi should be used. This behaviour is defined in the DataStoreFactorySpi contract.
canProcess
in interface DataStoreFactorySpi
params
- The parameter to check.
public DataStore createDataStore(java.util.Map params) throws java.io.IOException
createDataStore
in interface DataStoreFactorySpi
params
- The full set of information needed to construct a live
data source. Should have dbtype equal to postgis, as well as
host, user, passwd, database, and table.
java.io.IOException
- DOCUMENT ME!
DataSourceException
- Thrown if there were any problems creating
or connecting the datasource.public DataStore createNewDataStore(java.util.Map params) throws java.io.IOException
createNewDataStore
in interface DataStoreFactorySpi
params
-
java.io.IOException
- DOCUMENT ME!
java.lang.UnsupportedOperationException
- Cannot create new databasepublic java.lang.String getDisplayName()
DataStoreFactorySpi
A non localized display name for this data store type.
getDisplayName
in interface DataStoreFactorySpi
public java.lang.String getDescription()
getDescription
in interface DataStoreFactorySpi
public boolean isAvailable()
isAvailable
in interface DataStoreFactorySpi
public DataStoreFactorySpi.Param[] getParametersInfo()
getParametersInfo
in interface DataStoreFactorySpi
DataStoreFactorySpi.getParametersInfo()
public java.util.Map getImplementationHints()
getImplementationHints
in interface Factory
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |