Class JtsGisWrapper

  • All Implemented Interfaces:
    Driver

    public class JtsGisWrapper
    extends org.postgresql.Driver
    JtsGisWrapper Wraps the PostGreSQL Driver to add the JTS/PostGIS Object Classes. This method currently works with J2EE DataSource implementations, and with DriverManager framework. Simply replace the "jdbc:postgresql:" with a "jdbc:postgresql_JTS" in the jdbc URL.
    Author:
    markus.schaber@logix-tt.com
    • Constructor Detail

      • JtsGisWrapper

        public JtsGisWrapper()
    • Method Detail

      • connect

        public Connection connect​(String url,
                                  Properties info)
                           throws SQLException
        Creates a postgresql connection, and then adds the PostGIS data types to it calling addpgtypes()
        Specified by:
        connect in interface Driver
        Overrides:
        connect in class org.postgresql.Driver
        Parameters:
        url - the URL of the database to connect to
        info - a list of arbitrary tag/value pairs as connection arguments
        Returns:
        a connection to the URL or null if it isnt us
        Throws:
        SQLException - if a database access error occurs
        See Also:
        Driver.connect(java.lang.String, java.util.Properties), Driver
      • addGISTypes

        public static void addGISTypes​(org.postgresql.PGConnection pgconn)
                                throws SQLException
        Adds the JTS/PostGIS Data types to a PG Connection.
        Parameters:
        pgconn - The PGConnection object to add the types to
        Throws:
        SQLException - when an SQLException occurs
      • mangleURL

        public static String mangleURL​(String url)
                                throws SQLException
        Mangles the PostGIS URL to return the original PostGreSQL URL
        Parameters:
        url - String containing the url to be "mangled"
        Returns:
        "mangled" string
        Throws:
        SQLException - when a SQLException occurs
      • acceptsURL

        public boolean acceptsURL​(String url)
        Returns true if the driver thinks it can open a connection to the given URL. Typically, drivers will return true if they understand the subprotocol specified in the URL and false if they don't. Our protocols start with jdbc:postgresql_postGIS:
        Specified by:
        acceptsURL in interface Driver
        Overrides:
        acceptsURL in class org.postgresql.Driver
        Parameters:
        url - the URL of the driver
        Returns:
        true if this driver accepts the given URL
        See Also:
        Driver.acceptsURL(java.lang.String)
      • getMajorVersion

        public int getMajorVersion()
        Gets the underlying drivers major version number
        Specified by:
        getMajorVersion in interface Driver
        Overrides:
        getMajorVersion in class org.postgresql.Driver
        Returns:
        the drivers major version number
      • getMinorVersion

        public int getMinorVersion()
        Get the underlying drivers minor version number
        Specified by:
        getMinorVersion in interface Driver
        Overrides:
        getMinorVersion in class org.postgresql.Driver
        Returns:
        the drivers minor version number
      • getVersion

        public static String getVersion()
        Returns our own CVS version plus postgres Version
        Returns:
        String representation of the version