Package adams.flow.dropwizard
Class AbstractRESTProvider
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.dropwizard.AbstractRESTProvider
-
- All Implemented Interfaces:
adams.core.CleanUpHandler,adams.core.Destroyable,adams.core.GlobalInfoSupporter,adams.core.logging.LoggingLevelHandler,adams.core.logging.LoggingSupporter,adams.core.option.OptionHandler,adams.core.SizeOfHandler,adams.flow.core.FlowContextHandler,RESTProvider,Serializable
- Direct Known Subclasses:
EchoServer,GenericServer
public abstract class AbstractRESTProvider extends adams.core.option.AbstractOptionHandler implements RESTProvider
Ancestor for servers providing webservices.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected io.dropwizard.core.Applicationm_Applicationthe application.protected adams.core.io.PlaceholderFilem_ConfigFilethe YAML config file to use.protected io.dropwizard.core.setup.Environmentm_Environmentthe environment in use.protected adams.flow.core.Actorm_Ownerthe owning actor.protected booleanm_Runningwhether the webservice is running.
-
Constructor Summary
Constructors Constructor Description AbstractRESTProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidcheck()Performs some initial checks before starting the service.voidcleanUp()Cleans up data structures, frees up memory.StringconfigFileTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected abstract com.github.fracpete.javautils.struct.Struct2<io.dropwizard.core.Application,io.dropwizard.core.setup.Environment>doStart()Performs the actual start of the service.protected voiddoStop()Performs the actual stop of the service.adams.core.io.PlaceholderFilegetConfigFile()Returns the YAML config file in use.adams.flow.core.ActorgetFlowContext()Returns the owning actor.booleanisRunning()Returns whether the service is running.voidlog(String msg, String id)Logs an error message if a valid global log actor has been set up.voidsetConfigFile(adams.core.io.PlaceholderFile value)Sets the YAML config file to use.voidsetFlowContext(adams.flow.core.Actor value)Sets the actor that executes this webservice.Stringstart()Starts the service.Stringstop()Stops the service.-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, initialize, loggingLevelTipText, newOptionManager, reset, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
Field Detail
-
m_ConfigFile
protected adams.core.io.PlaceholderFile m_ConfigFile
the YAML config file to use.
-
m_Owner
protected adams.flow.core.Actor m_Owner
the owning actor.
-
m_Running
protected boolean m_Running
whether the webservice is running.
-
m_Application
protected io.dropwizard.core.Application m_Application
the application.
-
m_Environment
protected io.dropwizard.core.setup.Environment m_Environment
the environment in use.
-
-
Method Detail
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classadams.core.option.AbstractOptionHandler
-
setConfigFile
public void setConfigFile(adams.core.io.PlaceholderFile value)
Sets the YAML config file to use.- Specified by:
setConfigFilein interfaceRESTProvider- Parameters:
value- the file
-
getConfigFile
public adams.core.io.PlaceholderFile getConfigFile()
Returns the YAML config file in use.- Specified by:
getConfigFilein interfaceRESTProvider- Returns:
- the file
-
configFileTipText
public String configFileTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setFlowContext
public void setFlowContext(adams.flow.core.Actor value)
Sets the actor that executes this webservice.- Specified by:
setFlowContextin interfaceadams.flow.core.FlowContextHandler- Specified by:
setFlowContextin interfaceRESTProvider- Parameters:
value- the owner
-
getFlowContext
public adams.flow.core.Actor getFlowContext()
Returns the owning actor.- Specified by:
getFlowContextin interfaceadams.flow.core.FlowContextHandler- Specified by:
getFlowContextin interfaceRESTProvider- Returns:
- the owner
-
check
protected void check()
Performs some initial checks before starting the service.
Default implementation does nothing.
-
log
public void log(String msg, String id)
Logs an error message if a valid global log actor has been set up.- Parameters:
msg- the message to logid- an optional ID of the data token that failed in the web service
-
doStart
protected abstract com.github.fracpete.javautils.struct.Struct2<io.dropwizard.core.Application,io.dropwizard.core.setup.Environment> doStart() throws ExceptionPerforms the actual start of the service.- Returns:
- the tuple of application and environment
- Throws:
Exception- if start fails
-
start
public String start()
Starts the service.- Specified by:
startin interfaceRESTProvider- Returns:
- null if successful, otherwise error message
-
isRunning
public boolean isRunning()
Returns whether the service is running.- Specified by:
isRunningin interfaceRESTProvider- Returns:
- true if running
-
doStop
protected void doStop() throws ExceptionPerforms the actual stop of the service.- Throws:
Exception- if stopping fails
-
stop
public String stop()
Stops the service.- Specified by:
stopin interfaceRESTProvider- Returns:
- null if successful, otherwise error message
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUpin interfaceadams.core.CleanUpHandler- Specified by:
cleanUpin interfaceRESTProvider
-
-