org.pentaho.di.cluster
Class ClusterSchema

java.lang.Object
  extended by org.pentaho.di.core.changed.ChangedFlag
      extended by org.pentaho.di.cluster.ClusterSchema
All Implemented Interfaces:
Cloneable, ChangedFlagInterface, org.pentaho.di.core.variables.VariableSpace, org.pentaho.di.core.xml.XMLInterface, org.pentaho.di.repository.RepositoryElementInterface, org.pentaho.di.repository.RepositoryObjectInterface, org.pentaho.di.shared.SharedObjectInterface

public class ClusterSchema
extends ChangedFlag
implements Cloneable, org.pentaho.di.shared.SharedObjectInterface, org.pentaho.di.core.variables.VariableSpace, org.pentaho.di.repository.RepositoryElementInterface, org.pentaho.di.core.xml.XMLInterface

A cluster schema combines a list of slave servers so that they can be set altogether. It (can) also contain a number of performance tuning options regarding this cluster. For example options regarding communications with the master node of the nodes themselves come to mind.

Since:
17-nov-2006
Author:
Matt

Field Summary
static org.pentaho.di.repository.RepositoryObjectType REPOSITORY_ELEMENT_TYPE
           
static String XML_TAG
           
 
Constructor Summary
ClusterSchema()
           
ClusterSchema(Node clusterSchemaNode, List<SlaveServer> referenceSlaveServers)
           
ClusterSchema(String name, List<SlaveServer> slaveServers)
           
 
Method Summary
 ClusterSchema clone()
           
 void copyVariablesFrom(org.pentaho.di.core.variables.VariableSpace space)
           
 String environmentSubstitute(String aString)
           
 String[] environmentSubstitute(String[] aString)
           
 boolean equals(Object obj)
           
 SlaveServer findMaster()
           
 int findNrSlaves()
           
 SlaveServer findSlaveServer(String slaveServerName)
           
 String getBasePort()
           
 boolean getBooleanValueOfVariable(String variableName, boolean defaultValue)
           
 Date getChangedDate()
           
 String getDescription()
           
 String getName()
           
 org.pentaho.di.repository.ObjectId getObjectId()
           
 org.pentaho.di.repository.ObjectRevision getObjectRevision()
           
 org.pentaho.di.core.variables.VariableSpace getParentVariableSpace()
           
 org.pentaho.di.repository.RepositoryDirectoryInterface getRepositoryDirectory()
          Not supported for Partition schema, return the root.
 org.pentaho.di.repository.RepositoryObjectType getRepositoryElementType()
           
 List<SlaveServer> getSlaveServers()
           
 List<SlaveServer> getSlaveServersFromMasterOrLocal()
           
 String[] getSlaveServerStrings()
           
 String getSocketsBufferSize()
           
 String getSocketsFlushInterval()
           
 String getVariable(String variableName)
           
 String getVariable(String variableName, String defaultValue)
           
 String getXML()
           
 int hashCode()
           
 void initializeVariablesFrom(org.pentaho.di.core.variables.VariableSpace parent)
           
 void injectVariables(Map<String,String> prop)
           
 boolean isDynamic()
           
 boolean isShared()
           
 boolean isSocketsCompressed()
           
 String[] listVariables()
           
 void replaceMeta(ClusterSchema clusterSchema)
           
 void setBasePort(String basePort)
           
 void setChangedDate(Date changedDate)
           
 void setDescription(String description)
           
 void setDynamic(boolean dynamic)
           
 void setName(String name)
           
 void setObjectId(org.pentaho.di.repository.ObjectId id)
           
 void setObjectRevision(org.pentaho.di.repository.ObjectRevision objectRevision)
           
 void setParentVariableSpace(org.pentaho.di.core.variables.VariableSpace parent)
           
 void setRepositoryDirectory(org.pentaho.di.repository.RepositoryDirectoryInterface repositoryDirectory)
           
 void setShared(boolean shared)
           
 void setSlaveServers(List<SlaveServer> slaveServers)
           
 void setSocketsBufferSize(String socketsBufferSize)
           
 void setSocketsCompressed(boolean socketsCompressed)
           
 void setSocketsFlushInterval(String socketFlushInterval)
           
 void setVariable(String variableName, String variableValue)
           
 void shareVariablesWith(org.pentaho.di.core.variables.VariableSpace space)
           
 String toString()
           
 
Methods inherited from class org.pentaho.di.core.changed.ChangedFlag
addObserver, clearChanged, deleteObserver, hasChanged, notifyObservers, setChanged, setChanged
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

XML_TAG

public static final String XML_TAG
See Also:
Constant Field Values

REPOSITORY_ELEMENT_TYPE

public static final org.pentaho.di.repository.RepositoryObjectType REPOSITORY_ELEMENT_TYPE
Constructor Detail

ClusterSchema

public ClusterSchema()

ClusterSchema

public ClusterSchema(String name,
                     List<SlaveServer> slaveServers)
Parameters:
name -
slaveServers -

ClusterSchema

public ClusterSchema(Node clusterSchemaNode,
                     List<SlaveServer> referenceSlaveServers)
Method Detail

clone

public ClusterSchema clone()
Overrides:
clone in class Object

replaceMeta

public void replaceMeta(ClusterSchema clusterSchema)

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getXML

public String getXML()
Specified by:
getXML in interface org.pentaho.di.core.xml.XMLInterface
Specified by:
getXML in interface org.pentaho.di.shared.SharedObjectInterface

getName

public String getName()
Specified by:
getName in interface org.pentaho.di.repository.RepositoryElementInterface
Specified by:
getName in interface org.pentaho.di.repository.RepositoryObjectInterface
Specified by:
getName in interface org.pentaho.di.shared.SharedObjectInterface
Returns:
the name

setName

public void setName(String name)
Specified by:
setName in interface org.pentaho.di.repository.RepositoryElementInterface
Parameters:
name - the name to set

getSlaveServers

public List<SlaveServer> getSlaveServers()
Returns:
the internal (static) list of slave servers

setSlaveServers

public void setSlaveServers(List<SlaveServer> slaveServers)
Parameters:
slaveServers - the slaveServers to set

getSlaveServerStrings

public String[] getSlaveServerStrings()
Returns:
The slave server strings from this cluster schema

isShared

public boolean isShared()
Specified by:
isShared in interface org.pentaho.di.shared.SharedObjectInterface
Returns:
the shared

setShared

public void setShared(boolean shared)
Specified by:
setShared in interface org.pentaho.di.shared.SharedObjectInterface
Parameters:
shared - the shared to set

getBasePort

public String getBasePort()
Returns:
the basePort

setBasePort

public void setBasePort(String basePort)
Parameters:
basePort - the basePort to set

findMaster

public SlaveServer findMaster()
                       throws org.pentaho.di.core.exception.KettleException
Throws:
org.pentaho.di.core.exception.KettleException

findNrSlaves

public int findNrSlaves()
Returns:
The number of slave servers, excluding the master server

getSocketsFlushInterval

public String getSocketsFlushInterval()
Returns:
the socketFlushInterval

setSocketsFlushInterval

public void setSocketsFlushInterval(String socketFlushInterval)
Parameters:
socketFlushInterval - the socketFlushInterval to set

getSocketsBufferSize

public String getSocketsBufferSize()
Returns:
the socketsBufferSize

setSocketsBufferSize

public void setSocketsBufferSize(String socketsBufferSize)
Parameters:
socketsBufferSize - the socketsBufferSize to set

isSocketsCompressed

public boolean isSocketsCompressed()
Returns:
the socketsCompressed

setSocketsCompressed

public void setSocketsCompressed(boolean socketsCompressed)
Parameters:
socketsCompressed - the socketsCompressed to set

findSlaveServer

public SlaveServer findSlaveServer(String slaveServerName)

getObjectId

public org.pentaho.di.repository.ObjectId getObjectId()
Specified by:
getObjectId in interface org.pentaho.di.repository.RepositoryElementInterface
Specified by:
getObjectId in interface org.pentaho.di.repository.RepositoryObjectInterface

setObjectId

public void setObjectId(org.pentaho.di.repository.ObjectId id)
Specified by:
setObjectId in interface org.pentaho.di.repository.RepositoryElementInterface

copyVariablesFrom

public void copyVariablesFrom(org.pentaho.di.core.variables.VariableSpace space)
Specified by:
copyVariablesFrom in interface org.pentaho.di.core.variables.VariableSpace

environmentSubstitute

public String environmentSubstitute(String aString)
Specified by:
environmentSubstitute in interface org.pentaho.di.core.variables.VariableSpace

environmentSubstitute

public String[] environmentSubstitute(String[] aString)
Specified by:
environmentSubstitute in interface org.pentaho.di.core.variables.VariableSpace

getParentVariableSpace

public org.pentaho.di.core.variables.VariableSpace getParentVariableSpace()
Specified by:
getParentVariableSpace in interface org.pentaho.di.core.variables.VariableSpace

setParentVariableSpace

public void setParentVariableSpace(org.pentaho.di.core.variables.VariableSpace parent)
Specified by:
setParentVariableSpace in interface org.pentaho.di.core.variables.VariableSpace

getVariable

public String getVariable(String variableName,
                          String defaultValue)
Specified by:
getVariable in interface org.pentaho.di.core.variables.VariableSpace

getVariable

public String getVariable(String variableName)
Specified by:
getVariable in interface org.pentaho.di.core.variables.VariableSpace

getBooleanValueOfVariable

public boolean getBooleanValueOfVariable(String variableName,
                                         boolean defaultValue)
Specified by:
getBooleanValueOfVariable in interface org.pentaho.di.core.variables.VariableSpace

initializeVariablesFrom

public void initializeVariablesFrom(org.pentaho.di.core.variables.VariableSpace parent)
Specified by:
initializeVariablesFrom in interface org.pentaho.di.core.variables.VariableSpace

listVariables

public String[] listVariables()
Specified by:
listVariables in interface org.pentaho.di.core.variables.VariableSpace

setVariable

public void setVariable(String variableName,
                        String variableValue)
Specified by:
setVariable in interface org.pentaho.di.core.variables.VariableSpace

shareVariablesWith

public void shareVariablesWith(org.pentaho.di.core.variables.VariableSpace space)
Specified by:
shareVariablesWith in interface org.pentaho.di.core.variables.VariableSpace

injectVariables

public void injectVariables(Map<String,String> prop)
Specified by:
injectVariables in interface org.pentaho.di.core.variables.VariableSpace

isDynamic

public boolean isDynamic()
Returns:
the dynamic

setDynamic

public void setDynamic(boolean dynamic)
Parameters:
dynamic - the dynamic to set

getSlaveServersFromMasterOrLocal

public List<SlaveServer> getSlaveServersFromMasterOrLocal()
                                                   throws org.pentaho.di.core.exception.KettleException
Returns:
A list of dynamic slave servers, retrieved from the first master server that was available.
Throws:
org.pentaho.di.core.exception.KettleException - when none of the masters can be contacted.

getRepositoryDirectory

public org.pentaho.di.repository.RepositoryDirectoryInterface getRepositoryDirectory()
Not supported for Partition schema, return the root.

Specified by:
getRepositoryDirectory in interface org.pentaho.di.repository.RepositoryElementInterface

setRepositoryDirectory

public void setRepositoryDirectory(org.pentaho.di.repository.RepositoryDirectoryInterface repositoryDirectory)
Specified by:
setRepositoryDirectory in interface org.pentaho.di.repository.RepositoryElementInterface

getRepositoryElementType

public org.pentaho.di.repository.RepositoryObjectType getRepositoryElementType()
Specified by:
getRepositoryElementType in interface org.pentaho.di.repository.RepositoryElementInterface

getObjectRevision

public org.pentaho.di.repository.ObjectRevision getObjectRevision()
Specified by:
getObjectRevision in interface org.pentaho.di.repository.RepositoryElementInterface

setObjectRevision

public void setObjectRevision(org.pentaho.di.repository.ObjectRevision objectRevision)
Specified by:
setObjectRevision in interface org.pentaho.di.repository.RepositoryElementInterface

getDescription

public String getDescription()
Specified by:
getDescription in interface org.pentaho.di.repository.RepositoryElementInterface

setDescription

public void setDescription(String description)
Specified by:
setDescription in interface org.pentaho.di.repository.RepositoryElementInterface

getChangedDate

public Date getChangedDate()
Specified by:
getChangedDate in interface org.pentaho.di.shared.SharedObjectInterface
Returns:
the changedDate

setChangedDate

public void setChangedDate(Date changedDate)
Parameters:
changedDate - the changedDate to set