Class StoreFactory


  • public class StoreFactory
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      StoreFactory()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void debugmsg​(java.lang.String msg)  
      static java.lang.Object deserializeObject​(java.lang.Object o)
      Deserializes a byte array into a Java object.
      static java.lang.Object deserializeObjectFromBytes​(byte[] bytes)  
      static java.lang.Exception dropTable​(java.lang.String tableName)
      Drops a table in the default database.
      static boolean dropTable​(java.sql.Connection connection, java.lang.String table)
      Drops a table in the database associated with connection.
      static java.sql.Connection getConnection()
      Returns a connection object to the default database.
      static java.sql.Connection getConnection​(boolean autoCommit)
      Returns a connection object to the default database using the default username/password.
      static java.sql.Connection getConnection​(java.lang.String database)
      Returns a connection object to the named database with AutoCommit set to TRUE using the default username/password.
      static java.sql.Connection getConnection​(java.lang.String database, boolean autoCommit)
      Returns a connection object to the named database with the default username/password.
      static java.sql.Connection getConnection​(java.lang.String database, boolean autoCommit, java.lang.String user, java.lang.String password, java.util.Properties info)
      Returns a connection to the named database.
      static java.lang.String getDbHost()  
      static java.lang.String getDbPort()  
      static java.lang.String getDefaultDatabase()  
      static PropertyStore getDefaultPropertyStore()
      Returns the default property store.
      static DeltaStore getDeltaStore​(java.lang.String identifier, boolean isRestarting)
      Returns the DeltaStore with identifier
      static java.lang.String getJdbcDriver()  
      static java.lang.String getJdbcPassword()  
      static java.lang.String getJdbcURL()  
      static java.lang.String getJdbcUser()  
      static java.lang.String getProperty​(java.lang.String key)
      This method will look at the configuration in the caller's thread (RS.getServer) to see if it overrides the default settings from global/solution properties.
      static PropertyStore getPropertyStore​(java.lang.String name)
      Returns the PropertyStore identified by name.
      static java.lang.String getSysStoreCreateStmtByDriver​(java.lang.String driver)
      This method returns the proper 'CREATE TABLE' statement for the System Store Connector based on the specified JDBC driver name.
      static java.lang.String getSystemDatabase()
      Returns the default system database name
      static java.lang.String getSystemDatabaseURL()
      Returns the SystemStore JDBC URL.
      static java.util.Vector<java.lang.String> getTables​(java.sql.Connection connection, java.lang.String table)  
      static java.lang.String getVarcharLength()  
      static boolean isDerbyDriver​(java.lang.String driver)  
      static boolean isDerbyNetworkDriver​(java.lang.String driver)
      Determines if the passed driver is a Derby Network Driver.
      static boolean isMSSQLDriver​(java.lang.String driver)  
      static void logmsg​(java.lang.String msg)  
      static void releaseDB​(java.lang.String id)  
      static void retainDB​(java.lang.String id, java.lang.String db)  
      static byte[] serializeObject​(java.lang.Object obj)
      Serializes an object to a byte array.
      static void setDerbyUserPassword​(java.lang.String user, java.lang.String password)  
      static void shutdown()
      Shuts down all open databases.
      static void startDerbyServer​(java.lang.String hostname, java.lang.String portNo, boolean sysIBM)
      Start the networked Derby Server.
      static void stopDerbyServer​(java.lang.String hostname, int port)  
      static boolean tableExists​(java.sql.Connection connection, java.lang.String table)
      Checks if a table is accessible in the database.
      static boolean verifyTable​(java.sql.Connection connection, java.lang.String table, java.util.Vector<java.lang.String> sql)
      Verifies that a table is accessible in the database.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • JDBC_DRIVER_DERBY_NET

        public static final java.lang.String JDBC_DRIVER_DERBY_NET
        See Also:
        Constant Field Values
      • JDBC_DRIVER_DERBY_EMB

        public static final java.lang.String JDBC_DRIVER_DERBY_EMB
        See Also:
        Constant Field Values
      • JDBC_DRIVER_ORACLE

        public static final java.lang.String JDBC_DRIVER_ORACLE
        See Also:
        Constant Field Values
      • JDBC_DRIVER_MSSQL

        public static final java.lang.String JDBC_DRIVER_MSSQL
        See Also:
        Constant Field Values
      • JDBC_DRIVER_SOLID

        public static final java.lang.String JDBC_DRIVER_SOLID
        See Also:
        Constant Field Values
      • DEFAULT_PROPERTYSTORE

        public static final java.lang.String DEFAULT_PROPERTYSTORE
        See Also:
        Constant Field Values
      • VARCHAR_LENGTH

        public static final java.lang.String VARCHAR_LENGTH
    • Constructor Detail

      • StoreFactory

        public StoreFactory()
    • Method Detail

      • getDefaultPropertyStore

        public static PropertyStore getDefaultPropertyStore()
                                                     throws java.lang.Exception
        Returns the default property store.
        Throws:
        java.lang.Exception
      • getPropertyStore

        public static PropertyStore getPropertyStore​(java.lang.String name)
                                              throws java.lang.Exception
        Returns the PropertyStore identified by name. Only one instance of a given name is present at one time.
        Parameters:
        name - The property store name
        Returns:
        The property store object associated with name
        Throws:
        java.lang.Exception
      • getDeltaStore

        public static DeltaStore getDeltaStore​(java.lang.String identifier,
                                               boolean isRestarting)
                                        throws java.lang.Exception
        Returns the DeltaStore with identifier
        Parameters:
        identifier - The delta table identity/tablename
        isRestarting - True if the delta is opened in restart mode
        Returns:
        The DeltaStore object associated with identifier
        Throws:
        java.lang.Exception
      • getSystemDatabaseURL

        public static java.lang.String getSystemDatabaseURL()
        Returns the SystemStore JDBC URL.
      • getSystemDatabase

        public static java.lang.String getSystemDatabase()
        Returns the default system database name
      • getConnection

        public static java.sql.Connection getConnection()
                                                 throws java.lang.Exception
        Returns a connection object to the default database. The connection object is in auto-commit mode and uses the default username/password.
        Returns:
        A connection object to the named database.
        Throws:
        java.lang.Exception
      • getConnection

        public static java.sql.Connection getConnection​(boolean autoCommit)
                                                 throws java.lang.Exception
        Returns a connection object to the default database using the default username/password.
        Parameters:
        autoCommit - The auto-commit flag
        Returns:
        A connection object to the named database.
        Throws:
        java.lang.Exception
      • getConnection

        public static java.sql.Connection getConnection​(java.lang.String database)
                                                 throws java.lang.Exception
        Returns a connection object to the named database with AutoCommit set to TRUE using the default username/password.
        Parameters:
        database - The database name
        Returns:
        A connection object to the named database.
        Throws:
        java.lang.Exception
      • getConnection

        public static java.sql.Connection getConnection​(java.lang.String database,
                                                        boolean autoCommit)
                                                 throws java.lang.Exception
        Returns a connection object to the named database with the default username/password.
        Parameters:
        database - The database name
        autoCommit - The auto-commit flag
        Returns:
        A connection object to the named database.
        Throws:
        java.lang.Exception
      • getConnection

        public static java.sql.Connection getConnection​(java.lang.String database,
                                                        boolean autoCommit,
                                                        java.lang.String user,
                                                        java.lang.String password,
                                                        java.util.Properties info)
                                                 throws java.lang.Exception
        Returns a connection to the named database.
        Parameters:
        database - If the value starts with "jdbc:" then it is used asis to obtain a connection object. Otherwise, this method prepends the JDBC_URL setting from the global.properties file and appends ";create=true". When prepending JDBC_URL it is assumed that Derby is used.
        autoCommit - The auto commit flag set on the connection object
        user - The username
        password - The password
        info - If specified, this method will use the database asis (e.g. no prepend/append) combined with this parameter to obtain a connection object. The info object should contain fields for user and pass and other related parameters to the driver.
        Throws:
        java.lang.Exception
      • setDerbyUserPassword

        public static void setDerbyUserPassword​(java.lang.String user,
                                                java.lang.String password)
      • dropTable

        public static boolean dropTable​(java.sql.Connection connection,
                                        java.lang.String table)
        Drops a table in the database associated with connection.
        Parameters:
        connection - The connection object obtained by getConnection()
        table - The table to drop
      • verifyTable

        public static boolean verifyTable​(java.sql.Connection connection,
                                          java.lang.String table,
                                          java.util.Vector<java.lang.String> sql)
                                   throws java.lang.Exception
        Verifies that a table is accessible in the database.
        Parameters:
        connection - The connection object obtained by getConnection(). If NULL, a connection to the default table is obtained.
        table - The table name to verify
        sql - A vector of SQL statements to create the table if it does not exist
        Throws:
        java.lang.Exception
      • tableExists

        public static boolean tableExists​(java.sql.Connection connection,
                                          java.lang.String table)
                                   throws java.lang.Exception
        Checks if a table is accessible in the database.
        Parameters:
        connection - The connection object obtained by getConnection(). If NULL, a connection to the default table is obtained.
        table - The table name to verify
        Throws:
        java.lang.Exception
      • getTables

        public static java.util.Vector<java.lang.String> getTables​(java.sql.Connection connection,
                                                                   java.lang.String table)
                                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • shutdown

        public static void shutdown()
        Shuts down all open databases.
      • dropTable

        public static java.lang.Exception dropTable​(java.lang.String tableName)
        Drops a table in the default database.
        Parameters:
        tableName - The name of the table to drop.
      • serializeObject

        public static byte[] serializeObject​(java.lang.Object obj)
                                      throws java.lang.Exception
        Serializes an object to a byte array.
        Parameters:
        obj - The object to serialize
        Returns:
        The byte array containing the serialized object
        Throws:
        java.lang.Exception
      • deserializeObject

        public static java.lang.Object deserializeObject​(java.lang.Object o)
                                                  throws java.lang.Exception
        Deserializes a byte array into a Java object.
        Parameters:
        o - The byte array with the serialized Java object
        Returns:
        The resurrected java object
        Throws:
        java.lang.Exception
      • deserializeObjectFromBytes

        public static java.lang.Object deserializeObjectFromBytes​(byte[] bytes)
                                                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • retainDB

        public static void retainDB​(java.lang.String id,
                                    java.lang.String db)
      • releaseDB

        public static void releaseDB​(java.lang.String id)
      • logmsg

        public static void logmsg​(java.lang.String msg)
      • debugmsg

        public static void debugmsg​(java.lang.String msg)
      • startDerbyServer

        public static void startDerbyServer​(java.lang.String hostname,
                                            java.lang.String portNo,
                                            boolean sysIBM)
                                     throws java.lang.Exception
        Start the networked Derby Server. This method does not use the API, but spawns a new process, to let the database stay around after exiting the server/CE.
        Parameters:
        hostname -
        portNo -
        sysIBM -
        Throws:
        java.lang.Exception
      • stopDerbyServer

        public static void stopDerbyServer​(java.lang.String hostname,
                                           int port)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • isDerbyNetworkDriver

        public static boolean isDerbyNetworkDriver​(java.lang.String driver)
        Determines if the passed driver is a Derby Network Driver.
        Returns:
        true if the passed driver is a Derby network driver otherwise false.
      • isDerbyDriver

        public static boolean isDerbyDriver​(java.lang.String driver)
      • isMSSQLDriver

        public static boolean isMSSQLDriver​(java.lang.String driver)
      • getDefaultDatabase

        public static java.lang.String getDefaultDatabase()
      • getJdbcDriver

        public static java.lang.String getJdbcDriver()
      • getJdbcURL

        public static java.lang.String getJdbcURL()
      • getJdbcUser

        public static java.lang.String getJdbcUser()
      • getJdbcPassword

        public static java.lang.String getJdbcPassword()
      • getVarcharLength

        public static java.lang.String getVarcharLength()
      • getDbHost

        public static java.lang.String getDbHost()
      • getDbPort

        public static java.lang.String getDbPort()
      • getSysStoreCreateStmtByDriver

        public static java.lang.String getSysStoreCreateStmtByDriver​(java.lang.String driver)
        This method returns the proper 'CREATE TABLE' statement for the System Store Connector based on the specified JDBC driver name.
        Parameters:
        driver - java class name of the JDBC driver
        Returns:
        the proper 'CREATE TABLE' statement for the used database; null if the driver is not recognized.
      • getProperty

        public static java.lang.String getProperty​(java.lang.String key)
        This method will look at the configuration in the caller's thread (RS.getServer) to see if it overrides the default settings from global/solution properties. If the custom system store settings are enabled the value is retrieved from the configuration, otherwise it is retrieved by System.getProperty().
        Parameters:
        key - the property's indentifier
        Returns:
        the value corresponding to the specified identifier.