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 StringCOMPONENT_PARAMETERS_KEYproperty to lookup the properties filestatic StringCOMPONENT_PARAMETERS_VALUEthe default value for the parameter filestatic StringCONTAINER_CONFIGURATION_KEYproperty to lookup the container configuration filestatic StringCONTAINER_CONFIGURATION_VALUEthe 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.LoggercreateAvalonLogger()Create the Avalon logger to be passed to YAAFI.protected org.apache.fulcrum.yaafi.framework.factory.ServiceContainerConfigurationcreateServiceContainerConfiguration(org.apache.commons.configuration2.Configuration conf, File applicationRoot)Create a ServiceContainerConfiguration based on the Turbine configurationvoiddispose()Disposes of the container and releases resourcesbooleanexists(String roleName)Is the service known to the service container?Objectget(String roleName)Returns an instance of the requested service.booleanhasService(String roleName)voidinit()Load all configured components and initialize them.voidinitialize()Initializes the containerObjectlookup(String roleName)Returns an instance of the named componentvoidrelease(Object component)Releases the component.voidshutdown()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:
initin interfaceInitable- Overrides:
initin 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:
shutdownin interfaceInitable- Overrides:
shutdownin classTurbineBaseService
-
initialize
public void initialize() throws Exception
Initializes the container- Specified by:
initializein interfaceorg.apache.avalon.framework.activity.Initializable- Throws:
Exception- generic exception
-
dispose
public void dispose()
Disposes of the container and releases resources- Specified by:
disposein 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:
lookupin 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:
releasein interfaceorg.apache.avalon.framework.service.ServiceManager- Specified by:
releasein interfaceTurbineServiceProvider- Parameters:
component- the component to release
-
hasService
public boolean hasService(String roleName)
- Specified by:
hasServicein 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:TurbineServiceProviderIs the service known to the service container?- Specified by:
existsin 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:TurbineServiceProviderReturns 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:
getin 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)
-
-