Class TurbineYaafiComponentService
- java.lang.Object
-
- org.apache.turbine.services.BaseInitable
-
- org.apache.turbine.services.BaseService
-
- org.apache.turbine.services.TurbineBaseService
-
- org.apache.turbine.services.avaloncomponent.TurbineYaafiComponentService
-
- All Implemented Interfaces:
org.apache.avalon.framework.activity.Disposable
,org.apache.avalon.framework.activity.Initializable
,org.apache.avalon.framework.service.ServiceManager
,AvalonComponentService
,Initable
,Service
,TurbineServiceProvider
public class TurbineYaafiComponentService extends TurbineBaseService implements AvalonComponentService, org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.activity.Disposable
An implementation of Turbine service initializing the YAAFI container- Author:
- Siegfried Goeschl
-
-
Field Summary
Fields Modifier and Type Field Description static String
COMPONENT_PARAMETERS_KEY
property to lookup the properties filestatic String
COMPONENT_PARAMETERS_VALUE
the default value for the parameter filestatic String
CONTAINER_CONFIGURATION_KEY
property to lookup the container configuration filestatic String
CONTAINER_CONFIGURATION_VALUE
the default value for the container configuration file-
Fields inherited from class org.apache.turbine.services.BaseService
configuration, name, serviceBroker
-
Fields inherited from class org.apache.turbine.services.BaseInitable
initableBroker, isInitialized
-
Fields inherited from interface org.apache.turbine.services.avaloncomponent.AvalonComponentService
AVALON_LOG_CATEGORY, COMPONENT_APP_ROOT, COMPONENT_CONFIG_KEY, COMPONENT_CONFIG_VALUE, COMPONENT_LOOKUP_KEY, COMPONENT_ROLE_KEY, COMPONENT_ROLE_VALUE, SERVICE_NAME
-
Fields inherited from interface org.apache.turbine.services.Service
SERVICE_NAME
-
-
Constructor Summary
Constructors Constructor Description TurbineYaafiComponentService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.avalon.framework.logger.Logger
createAvalonLogger()
Create the Avalon logger to be passed to YAAFI.protected org.apache.fulcrum.yaafi.framework.factory.ServiceContainerConfiguration
createServiceContainerConfiguration(org.apache.commons.configuration2.Configuration conf, File applicationRoot)
Create a ServiceContainerConfiguration based on the Turbine configurationvoid
dispose()
Disposes of the container and releases resourcesboolean
exists(String roleName)
Is the service known to the service container?Object
get(String roleName)
Returns an instance of the requested service.boolean
hasService(String roleName)
void
init()
Load all configured components and initialize them.void
initialize()
Initializes the containerObject
lookup(String roleName)
Returns an instance of the named componentvoid
release(Object component)
Releases the component.void
shutdown()
Shuts the Component Service down, calls dispose on the components that implement this interface-
Methods inherited from class org.apache.turbine.services.TurbineBaseService
init, init
-
Methods inherited from class org.apache.turbine.services.BaseService
getConfiguration, getName, getProperties, getServiceBroker, setName, setServiceBroker
-
Methods inherited from class org.apache.turbine.services.BaseInitable
getInit, getInitableBroker, setInit, setInitableBroker
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.turbine.services.Initable
getInit, init, setInitableBroker
-
Methods inherited from interface org.apache.turbine.services.Service
getConfiguration, getName, getProperties, setName, setServiceBroker
-
-
-
-
Field Detail
-
CONTAINER_CONFIGURATION_KEY
public static final String CONTAINER_CONFIGURATION_KEY
property to lookup the container configuration file- See Also:
- Constant Field Values
-
CONTAINER_CONFIGURATION_VALUE
public static final String CONTAINER_CONFIGURATION_VALUE
the default value for the container configuration file- See Also:
- Constant Field Values
-
COMPONENT_PARAMETERS_KEY
public static final String COMPONENT_PARAMETERS_KEY
property to lookup the properties file- See Also:
- Constant Field Values
-
COMPONENT_PARAMETERS_VALUE
public static final String COMPONENT_PARAMETERS_VALUE
the default value for the parameter file- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TurbineYaafiComponentService
public TurbineYaafiComponentService()
-
-
Method Detail
-
init
public void init() throws InitializationException
Load all configured components and initialize them. This is a zero parameter variant which queries the Turbine Servlet for its config.- Specified by:
init
in interfaceInitable
- Overrides:
init
in classTurbineBaseService
- Throws:
InitializationException
- Something went wrong in the init stage
-
shutdown
public void shutdown()
Shuts the Component Service down, calls dispose on the components that implement this interface- Specified by:
shutdown
in interfaceInitable
- Overrides:
shutdown
in classTurbineBaseService
-
initialize
public void initialize() throws Exception
Initializes the container- Specified by:
initialize
in interfaceorg.apache.avalon.framework.activity.Initializable
- Throws:
Exception
- generic exception
-
dispose
public void dispose()
Disposes of the container and releases resources- Specified by:
dispose
in interfaceorg.apache.avalon.framework.activity.Disposable
-
lookup
public Object lookup(String roleName) throws org.apache.avalon.framework.service.ServiceException
Returns an instance of the named component- Specified by:
lookup
in interfaceorg.apache.avalon.framework.service.ServiceManager
- Parameters:
roleName
- Name of the role the component fills.- Returns:
- an instance of the named component
- Throws:
org.apache.avalon.framework.service.ServiceException
-
release
public void release(Object component)
Releases the component.- Specified by:
release
in interfaceorg.apache.avalon.framework.service.ServiceManager
- Specified by:
release
in interfaceTurbineServiceProvider
- Parameters:
component
- the component to release
-
hasService
public boolean hasService(String roleName)
- Specified by:
hasService
in interfaceorg.apache.avalon.framework.service.ServiceManager
- See Also:
ServiceManager.hasService(java.lang.String)
-
createServiceContainerConfiguration
protected org.apache.fulcrum.yaafi.framework.factory.ServiceContainerConfiguration createServiceContainerConfiguration(org.apache.commons.configuration2.Configuration conf, File applicationRoot) throws IOException
Create a ServiceContainerConfiguration based on the Turbine configuration- Parameters:
conf
- the Turbine configurationapplicationRoot
- the application root directory- Returns:
- the YAAFI configuration
- Throws:
IOException
- creating the YAAFI configuration failed
-
createAvalonLogger
protected org.apache.avalon.framework.logger.Logger createAvalonLogger()
Create the Avalon logger to be passed to YAAFI.- Returns:
- an Avalon Logger
-
exists
public boolean exists(String roleName)
Description copied from interface:TurbineServiceProvider
Is the service known to the service container?- Specified by:
exists
in interfaceTurbineServiceProvider
- Parameters:
roleName
- the name of the requested service- Returns:
- true if the service is known to the provider
- See Also:
TurbineServiceProvider.exists(java.lang.String)
-
get
public Object get(String roleName) throws InstantiationException
Description copied from interface:TurbineServiceProvider
Returns an instance of the requested service. If the given service is not available/found we throw a RuntimeException since this is less intrusive.- Specified by:
get
in interfaceTurbineServiceProvider
- Parameters:
roleName
- the name of the requested service- Returns:
- an instance of the service
- Throws:
InstantiationException
- the service could not be instantiated- See Also:
TurbineServiceProvider.get(java.lang.String)
-
-