org.specrunner.jetty
Class PluginStartJetty

java.lang.Object
  extended by org.specrunner.parameters.core.ParameterHolder
      extended by org.specrunner.plugins.core.AbstractPlugin
          extended by org.specrunner.plugins.core.AbstractPluginNamed
              extended by org.specrunner.plugins.core.AbstractPluginScoped
                  extended by org.specrunner.jetty.PluginStartJetty
All Implemented Interfaces:
IParameterHolder, IActionType, IParalelPlugin, IPlugin, ISleepPlugin, ITestPlugin, ITimedPlugin, IWaitPlugin

public class PluginStartJetty
extends AbstractPluginScoped

Starts a jetty server based on a jetty.xml file.

Author:
Thiago Santos

Nested Class Summary
protected  class PluginStartJetty.ReusableJetty
          Reusable server resource.
 
Field Summary
static String FEATURE_CLASSLOADER
          Feature to set class loader.
static String FEATURE_DYNAMIC
          Feature to enable server allocate a dynamic port.
static String FEATURE_FILE
          Feature to set configuration file.
static String FEATURE_PORT
          Feature to set server port.
static String FEATURE_REUSE
          Feature to set reusable "jetties".
static String SERVER_NAME
          Default server name.
 
Fields inherited from class org.specrunner.plugins.core.AbstractPluginScoped
scope
 
Fields inherited from class org.specrunner.plugins.core.AbstractPluginNamed
name
 
Fields inherited from class org.specrunner.plugins.core.AbstractPlugin
FEATURE_CONDITION, FEATURE_NORMALIZED, FEATURE_NORMALIZER, FEATURE_SLEEP, FEATURE_THREADSAFE, FEATURE_TIMEOUT, FEATURE_WAIT
 
Fields inherited from class org.specrunner.parameters.core.ParameterHolder
parameters
 
Constructor Summary
PluginStartJetty()
          Default constructor.
 
Method Summary
protected  org.eclipse.jetty.server.Server createServer()
          Creates the server from configuration file.
 ENext doStart(IContext context, IResultSet result)
           
 ActionType getActionType()
           
 Boolean getClassloader()
          Get the classloader setup.
 Boolean getDynamic()
          Get dynamic status.
 String getFile()
          Gets the configuration file.
protected  String getFileForJettyName(String jettyName)
          Gets Jetty file for a given Jetty.
 Integer getPort()
          Get port value.
protected  void getPortFromServer(org.eclipse.jetty.server.Server server)
          Recover port information from a server previously created.
 Boolean getReuse()
          Get reusable Jetty.
 void initialize(IContext context)
           
 void perform(org.eclipse.jetty.server.Server server)
          Hook for customized setups.
protected  void save(IContext context, org.eclipse.jetty.server.Server server)
          Save server to context.
protected  void scanAvailablePort(org.eclipse.jetty.server.Server server)
          Scan for a available port to set into server.
 void setClassloader(Boolean classloader)
          Enable the revertion of classloader to current thread.
protected  void setClassloader(org.eclipse.jetty.server.Server server)
          Set Jetty classloader.
 void setDynamic(Boolean dynamic)
          Set dynamic mode.
 void setFile(String file)
          Set the configuration file.
 void setPort(Integer port)
          Set expected port.
 void setReuse(Boolean reuse)
          Set reuse status.
protected  org.specrunner.jetty.PluginStartJetty.LocalSessionManager setSessionManager(org.eclipse.jetty.server.Server server)
          Sets the session manager. for reusable server the session manager must invalidate all previous sessions.
protected  void setShutdownManager(org.eclipse.jetty.server.Server server)
          Set shutdown manager.
protected  void waitForStart(org.eclipse.jetty.server.Server server)
          Start an wait for server start.
 
Methods inherited from class org.specrunner.plugins.core.AbstractPluginScoped
getScope, saveGlobal, saveLocal, saveStrict, setScope
 
Methods inherited from class org.specrunner.plugins.core.AbstractPluginNamed
getName, setName
 
Methods inherited from class org.specrunner.plugins.core.AbstractPlugin
copy, doEnd, getCondition, getConditionModel, getNormalized, getNormalized, getNormalizer, getParent, getSleep, getSleepModel, getThreadsafe, getTimeout, getTimeoutModel, getWait, getWaitModel, setCondition, setConditionModel, setNormalized, setNormalizer, setParent, setSleep, setSleepModel, setThreadsafe, setTimeout, setTimeoutModel, setWait, setWaitModel, toString
 
Methods inherited from class org.specrunner.parameters.core.ParameterHolder
getParameters, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.specrunner.parameters.IParameterHolder
getParameters, setParameters
 

Field Detail

SERVER_NAME

public static final String SERVER_NAME
Default server name.

See Also:
Constant Field Values

FEATURE_FILE

public static final String FEATURE_FILE
Feature to set configuration file.


FEATURE_DYNAMIC

public static final String FEATURE_DYNAMIC
Feature to enable server allocate a dynamic port.


FEATURE_PORT

public static final String FEATURE_PORT
Feature to set server port.


FEATURE_REUSE

public static final String FEATURE_REUSE
Feature to set reusable "jetties".


FEATURE_CLASSLOADER

public static final String FEATURE_CLASSLOADER
Feature to set class loader.

Constructor Detail

PluginStartJetty

public PluginStartJetty()
Default constructor.

Method Detail

getFile

public String getFile()
Gets the configuration file.

Returns:
The configuration file.

setFile

public void setFile(String file)
Set the configuration file.

Parameters:
file - The file.

getDynamic

public Boolean getDynamic()
Get dynamic status.

Returns:
true, if dynamic port allocation is enable, false, otherwise.

setDynamic

public void setDynamic(Boolean dynamic)
Set dynamic mode.

Parameters:
dynamic - The dynamic status.

getPort

public Integer getPort()
Get port value.

Returns:
The port value.

setPort

public void setPort(Integer port)
Set expected port.

Parameters:
port - The port.

getReuse

public Boolean getReuse()
Get reusable Jetty.

Returns:
The reuse status.

setReuse

public void setReuse(Boolean reuse)
Set reuse status.

Parameters:
reuse - true, for reuse, false otherwise.

getClassloader

public Boolean getClassloader()
Get the classloader setup.

Returns:
The classloader state.

setClassloader

public void setClassloader(Boolean classloader)
Enable the revertion of classloader to current thread.

Parameters:
classloader - The classloader flag.

getActionType

public ActionType getActionType()

initialize

public void initialize(IContext context)
                throws PluginException
Specified by:
initialize in interface IPlugin
Overrides:
initialize in class AbstractPlugin
Throws:
PluginException

doStart

public ENext doStart(IContext context,
                     IResultSet result)
              throws PluginException
Specified by:
doStart in interface IPlugin
Overrides:
doStart in class AbstractPlugin
Throws:
PluginException

save

protected void save(IContext context,
                    org.eclipse.jetty.server.Server server)
Save server to context.

Parameters:
context - A context.
server - A server.

createServer

protected org.eclipse.jetty.server.Server createServer()
                                                throws Exception
Creates the server from configuration file.

Returns:
The server.
Throws:
Exception - On creation errors.

setShutdownManager

protected void setShutdownManager(org.eclipse.jetty.server.Server server)
Set shutdown manager.

Parameters:
server - The server

getPortFromServer

protected void getPortFromServer(org.eclipse.jetty.server.Server server)
Recover port information from a server previously created.

Parameters:
server - The server.

setClassloader

protected void setClassloader(org.eclipse.jetty.server.Server server)
Set Jetty classloader.

Parameters:
server - The server.

setSessionManager

protected org.specrunner.jetty.PluginStartJetty.LocalSessionManager setSessionManager(org.eclipse.jetty.server.Server server)
Sets the session manager. for reusable server the session manager must invalidate all previous sessions.

Parameters:
server - The server.
Returns:
The session manager used.

scanAvailablePort

protected void scanAvailablePort(org.eclipse.jetty.server.Server server)
                          throws PluginException
Scan for a available port to set into server.

Parameters:
server - The server.
Throws:
PluginException - On setting errors.

perform

public void perform(org.eclipse.jetty.server.Server server)
Hook for customized setups.

Parameters:
server - The server object.

waitForStart

protected void waitForStart(org.eclipse.jetty.server.Server server)
                     throws Exception
Start an wait for server start.

Parameters:
server - The server.
Throws:
Exception - On initialization errors.

getFileForJettyName

protected String getFileForJettyName(String jettyName)
Gets Jetty file for a given Jetty.

Parameters:
jettyName - The Jetty name.
Returns:
The configuration file.


Copyright © 2015. All rights reserved.