Class Platform


  • public final class Platform
    extends java.lang.Object
    The Platform class encapsulates various bits of information about the system environment. It operates as a singleton, stores no state and uses ZooKeeper to save and obtain information. If an IllegalStateException is encountered while using this class, this indicates that EsbTestUtils.initializeEnvironment() or one of its extensions needs to be called first.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Platform.Mode
      An enum listing the different modes Attivio can run in.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_HOST  
      static java.lang.String DEFAULT_PROJECT_ENVIRONMENT_NAME  
      static java.lang.String DICTIONARY  
      static java.lang.String FT
      znode where ft status is stored
      static java.lang.String HADOOP  
      static java.lang.String INDEX  
      static Platform instance  
      static java.lang.String LOCALHOST  
      static java.lang.String MODE
      znode where clustered status is stored.
      static java.lang.String NODES  
      static java.lang.String PROJECTS  
      static java.lang.String SERVICES
      znode where service registration is stored.
    • Method Detail

      • projectRootPath

        public java.lang.String projectRootPath()
        Returns:
        the prefix path from root for the project, taking into account the current environment
      • isFaultTolerant

        public boolean isFaultTolerant()
      • setFaultTolerant

        public void setFaultTolerant​(boolean ft)
        Sets the system fault tolerance setting.
        Parameters:
        ft -
      • baseport

        public int baseport()
        Returns the baseport for this node, first checking the ZooKeeper based configuration and falling back to the attivio.baseport SystemProperty.
        Returns:
        the baseport for this node
      • storeBaseport

        public int storeBaseport()
      • perfmonBaseport

        public int perfmonBaseport()
      • getPort

        public int getPort​(DefaultEndpoints.Ports port)
        Parameters:
        port -
        Returns:
        the port offset plus the current Attivio system baseport
      • getProjectDataDirectory

        public java.lang.String getProjectDataDirectory()
        This data directory will be shared by all nodes in the cluster
        Returns:
        the project-level data directory
      • setProjectDataDirectory

        public void setProjectDataDirectory​(java.lang.String dataDir)
      • getProjectName

        public java.lang.String getProjectName()
      • getProjectEnvironment

        public java.lang.String getProjectEnvironment()
      • getProjectCurator

        public org.apache.curator.framework.CuratorFramework getProjectCurator()
      • getRootCurator

        public org.apache.curator.framework.CuratorFramework getRootCurator()
      • getAieRootCurator

        public org.apache.curator.framework.CuratorFramework getAieRootCurator()
      • getIndexCurator

        public org.apache.curator.framework.CuratorFramework getIndexCurator()
      • getDictionaryCurator

        public org.apache.curator.framework.CuratorFramework getDictionaryCurator()
      • getHadoopCurator

        public org.apache.curator.framework.CuratorFramework getHadoopCurator()
      • setProjectNameForNode

        public void setProjectNameForNode​(java.lang.String pName)
        Should only be called from the node launcher. projectName cannot be changed after this method was called.
        Parameters:
        pName -
      • setProjectName

        public void setProjectName​(java.lang.String projectName)
        Caution, this method can only be called under certain conditions.
        Parameters:
        projectName -
      • setEnvNameForNode

        public void setEnvNameForNode​(java.lang.String eName)
        Should only be called from the node launcher. projectName cannot be changed after this method was called.
        Parameters:
        eName -
      • setProjectEnvironment

        public void setProjectEnvironment​(java.lang.String projectEnvironment)
      • getNodeName

        public java.lang.String getNodeName()
      • setNodeName

        public void setNodeName​(java.lang.String nodeName)
        Caution, this method can only be called under certain conditions.
        Parameters:
        nodeName -
      • setBaseport

        public void setBaseport​(java.lang.String projectName,
                                java.lang.String projectEnvironment,
                                java.lang.String nodeName,
                                int baseport)
      • setStoreBaseport

        public void setStoreBaseport​(java.lang.String projectName,
                                     java.lang.String projectEnvironment,
                                     int baseport)
      • setPerfmonBaseport

        public void setPerfmonBaseport​(java.lang.String projectName,
                                       java.lang.String projectEnvironment,
                                       int baseport)
      • getHost

        public java.lang.String getHost()
      • setHost

        public void setHost​(java.lang.String host)
      • reset

        public void reset​(java.lang.String prevHost,
                          java.lang.String prevNodeName,
                          java.lang.String prevProjectName,
                          java.lang.String prevEnvName)
        Resets the internal state so that cached data will be refetched. This method is automatically called between unit tests by hooks inserted by TestCuratorFrameworkBuilder