com.xebialabs.deployit.plugin.jbossdm.step
Class BaseStep<C extends com.xebialabs.deployit.plugin.api.execution.ExecutionContext>

java.lang.Object
  extended by com.xebialabs.deployit.plugin.jbossdm.step.BaseStep<C>
All Implemented Interfaces:
com.xebialabs.deployit.plugin.api.execution.Step<C>, java.io.Serializable
Direct Known Subclasses:
CliDeploymentStep, CliInspectionStep

public abstract class BaseStep<C extends com.xebialabs.deployit.plugin.api.execution.ExecutionContext>
extends java.lang.Object
implements com.xebialabs.deployit.plugin.api.execution.Step<C>

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.xebialabs.deployit.plugin.api.execution.Step
com.xebialabs.deployit.plugin.api.execution.Step.Result
 
Field Summary
static java.lang.String JBOSS_CLI_SCRIPTING_ENGINE
           
static java.lang.String JYTHON_SCRIPT_ENGINE
           
protected  org.slf4j.Logger logger
           
 
Constructor Summary
protected BaseStep(java.lang.String script, int order, java.util.Map<java.lang.String,java.lang.Object> pythonContext, java.lang.String description, CliManagedContainer container)
           
 
Method Summary
protected  javax.script.Bindings createBindings(java.util.Map<java.lang.String,java.lang.Object> variables)
           
protected  void disconnect()
           
 java.lang.Object executeCliCommand(java.lang.String cmd)
           
protected  void executeScript(javax.script.ScriptEngine scriptEngine)
           
protected  java.util.List<java.lang.String> getAdditionalLibraries()
           
 CliManagedContainer getContainer()
           
 C getCtx()
           
 java.lang.String getDescription()
           
 com.xebialabs.overthere.OverthereConnection getLocalConnection()
           
 int getOrder()
           
 com.xebialabs.overthere.OverthereConnection getRemoteConnection()
           
 com.xebialabs.overthere.OverthereFile getRemoteWorkingDirectory()
           
 java.lang.String getRemoteWorkingDirPath()
           
 com.xebialabs.deployit.plugin.api.execution.Step.Result handleExecute(C ctx)
           
 boolean hostFileExists(java.lang.String remoteFile)
           
 boolean isRetainRemoteWorkingDirOnCompletion()
           
protected  void loadLibraryScripts(java.util.List<java.lang.String> libs, javax.script.ScriptEngine scriptEngine)
           
protected  void loadLibraryScriptsAndEval(java.lang.String scriptPath, javax.script.ScriptEngine scriptEngine, javax.script.Bindings localBindings)
           
protected  javax.script.ScriptEngine loadScriptEngine(C ctx)
           
 java.lang.String readHostFile(java.lang.String remoteFile)
           
 java.lang.String[] readHostFileLines(java.lang.String remoteFile)
           
 void setAdditionalLibraries(java.util.List<java.lang.String> additionalLibraries)
           
 void setRemoteWorkingDirPath(java.lang.String remoteWorkingDirPath)
           
 void setRetainRemoteWorkingDirOnCompletion(boolean deleteWorkingDirOnCompletion)
           
protected  void throwCliScriptException(java.lang.String script, javax.script.ScriptException e)
           
 com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(java.io.File content, java.lang.String fileName)
           
 com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(com.xebialabs.overthere.OverthereFile content, java.lang.String fileName)
           
 com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(java.lang.String content, java.lang.String fileName)
           
 com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(java.net.URL content, java.lang.String fileName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.xebialabs.deployit.plugin.api.execution.Step
execute
 

Field Detail

JBOSS_CLI_SCRIPTING_ENGINE

public static final java.lang.String JBOSS_CLI_SCRIPTING_ENGINE
See Also:
Constant Field Values

JYTHON_SCRIPT_ENGINE

public static final java.lang.String JYTHON_SCRIPT_ENGINE
See Also:
Constant Field Values

logger

protected final org.slf4j.Logger logger
Constructor Detail

BaseStep

protected BaseStep(java.lang.String script,
                   int order,
                   java.util.Map<java.lang.String,java.lang.Object> pythonContext,
                   java.lang.String description,
                   CliManagedContainer container)
Method Detail

getOrder

public int getOrder()

getDescription

public java.lang.String getDescription()
Specified by:
getDescription in interface com.xebialabs.deployit.plugin.api.execution.Step<C extends com.xebialabs.deployit.plugin.api.execution.ExecutionContext>

handleExecute

public com.xebialabs.deployit.plugin.api.execution.Step.Result handleExecute(C ctx)
                                                                      throws java.lang.Exception
Throws:
java.lang.Exception

executeScript

protected void executeScript(javax.script.ScriptEngine scriptEngine)
                      throws java.io.IOException,
                             javax.script.ScriptException
Throws:
java.io.IOException
javax.script.ScriptException

loadLibraryScriptsAndEval

protected void loadLibraryScriptsAndEval(java.lang.String scriptPath,
                                         javax.script.ScriptEngine scriptEngine,
                                         javax.script.Bindings localBindings)
                                  throws javax.script.ScriptException,
                                         java.io.IOException
Throws:
javax.script.ScriptException
java.io.IOException

loadScriptEngine

protected javax.script.ScriptEngine loadScriptEngine(C ctx)
                                              throws java.io.IOException,
                                                     javax.script.ScriptException
Throws:
java.io.IOException
javax.script.ScriptException

loadLibraryScripts

protected void loadLibraryScripts(java.util.List<java.lang.String> libs,
                                  javax.script.ScriptEngine scriptEngine)
                           throws java.io.IOException,
                                  javax.script.ScriptException
Throws:
java.io.IOException
javax.script.ScriptException

throwCliScriptException

protected void throwCliScriptException(java.lang.String script,
                                       javax.script.ScriptException e)

createBindings

protected javax.script.Bindings createBindings(java.util.Map<java.lang.String,java.lang.Object> variables)

executeCliCommand

public java.lang.Object executeCliCommand(java.lang.String cmd)

getCtx

public C getCtx()

setAdditionalLibraries

public void setAdditionalLibraries(java.util.List<java.lang.String> additionalLibraries)

getAdditionalLibraries

protected java.util.List<java.lang.String> getAdditionalLibraries()

getContainer

public CliManagedContainer getContainer()

getRemoteWorkingDirectory

public com.xebialabs.overthere.OverthereFile getRemoteWorkingDirectory()

getLocalConnection

public com.xebialabs.overthere.OverthereConnection getLocalConnection()

getRemoteConnection

public com.xebialabs.overthere.OverthereConnection getRemoteConnection()

disconnect

protected void disconnect()

getRemoteWorkingDirPath

public java.lang.String getRemoteWorkingDirPath()

setRemoteWorkingDirPath

public void setRemoteWorkingDirPath(java.lang.String remoteWorkingDirPath)

isRetainRemoteWorkingDirOnCompletion

public boolean isRetainRemoteWorkingDirOnCompletion()

setRetainRemoteWorkingDirOnCompletion

public void setRetainRemoteWorkingDirOnCompletion(boolean deleteWorkingDirOnCompletion)

uploadToWorkingDirectory

public com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(java.lang.String content,
                                                                      java.lang.String fileName)

uploadToWorkingDirectory

public com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(java.io.File content,
                                                                      java.lang.String fileName)

uploadToWorkingDirectory

public com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(com.xebialabs.overthere.OverthereFile content,
                                                                      java.lang.String fileName)

uploadToWorkingDirectory

public com.xebialabs.overthere.OverthereFile uploadToWorkingDirectory(java.net.URL content,
                                                                      java.lang.String fileName)

hostFileExists

public boolean hostFileExists(java.lang.String remoteFile)

readHostFile

public java.lang.String readHostFile(java.lang.String remoteFile)

readHostFileLines

public java.lang.String[] readHostFileLines(java.lang.String remoteFile)