Class TableProviderManager


  • public class TableProviderManager
    extends Object
    • Method Detail

      • initialize

        public static void initialize​(com.streambase.liveview.server.core.LiveViewServer lvServer)
      • initialize

        public static void initialize​(com.streambase.liveview.server.table.system.TablesTable tt,
                                      com.streambase.liveview.server.table.system.TableColumnsTable tct,
                                      com.streambase.liveview.server.core.LiveViewServerConfig conf,
                                      com.streambase.liveview.server.table.StreamBaseConnectionPool sbConnPool)
      • validateTablesContainers

        public void validateTablesContainers()
      • getTablesTable

        public com.streambase.liveview.server.table.system.TablesTable getTablesTable()
      • getConfig

        public com.streambase.liveview.server.core.LiveViewServerConfig getConfig()
        Returns:
        the config
      • addTableProvider

        public void addTableProvider​(com.streambase.liveview.internal.protocol.jaxb.ExternalServerConnectionType externalServer,
                                     int retryCount)
                              throws LiveViewException
        Connect to a TableProvider, which then allows for remote connections as if they were LiveView Tables
        Parameters:
        externalServer - id must be unique
        retryCount - The number of failed tries we've already made.
        Throws:
        LiveViewException
        Since:
        LiveView 1.6
      • getJavaClassname

        public static String getJavaClassname​(com.streambase.liveview.internal.protocol.jaxb.ExternalServerConnectionType externalServer)
      • removeTableProvider

        public void removeTableProvider​(String id)
                                 throws LiveViewException
        Disconnect a previously-connected TableProvider. This is called from outside, so no part has happened, yet, and it shouldn't be requeued for restart
        Parameters:
        id -
        Throws:
        LiveViewException
        Since:
        LiveView 1.6
      • getCreateTableDir

        public File getCreateTableDir​(boolean create)
      • getProjectBin

        public File getProjectBin()
        Get the projectBin, which is the writable base directory where all stuff that we write should go.
        Returns:
      • addingNew

        public boolean addingNew​(String tableName)
        This method should be called as early as possible in the createTable path. It is intended to prevent multiple clients from trying to create the same table simultaneously You must call RemoveNew(tableName) regardless if the table is created successfully or not.
        Parameters:
        tableName -
        Returns:
        true if the table is really new. False if the table exists, or is in the process of being created.
      • removeNew

        public boolean removeNew​(String tableName)
        This method MUST be called with the same table name if AddingNew has been called.
        Parameters:
        tableName -
        Returns:
        true if the table was in the currently creating state.
      • createTable

        public void createTable​(String name,
                                com.streambase.liveview.config.model.lvconf.LiveviewConfiguration conf,
                                boolean saveInProject)
                         throws JAXBException,
                                StreamBaseException
        Does pre-checks, saves lvconf file and registers the table in defined state with the services layer
        Parameters:
        conf -
        saveInProject - TODO
        Throws:
        JAXBException
        StreamBaseException
      • validateDependentTables

        public void validateDependentTables​(com.streambase.liveview.config.model.lvconf.LiveviewConfiguration conf)
                                     throws LiveViewException
        Throws:
        LiveViewException
      • registerDependentTables

        public void registerDependentTables​(com.streambase.liveview.config.model.lvconf.TableType tableInfo,
                                            com.streambase.liveview.server.table.CatalogedTable baseCatalogedTable,
                                            boolean useDynamicStates)
                                     throws LiveViewException
        Throws:
        LiveViewException
      • hasDangerousConnection

        public static boolean hasDangerousConnection​(com.streambase.liveview.config.AbstractConfigObject configObject)
      • addDependentTable

        public void addDependentTable​(com.streambase.liveview.server.table.CatalogedTable baseTable,
                                      String dependentTableName)
        It adds the dependent table name to the dependents maps that every table provider has.
        Parameters:
        baseTable -
        dependentTableName -