org.apache.turbine.services.avaloncomponent
Class TurbineYaafiComponentService

java.lang.Object
  extended by org.apache.turbine.services.BaseInitable
      extended by org.apache.turbine.services.BaseService
          extended by org.apache.turbine.services.TurbineBaseService
              extended by 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
static String COMPONENT_PARAMETERS_KEY
          property to lookup the properties file
static String COMPONENT_PARAMETERS_VALUE
          the default value for the parameter file
static String CONTAINER_CONFIGURATION_KEY
          property to lookup the container configuration file
static 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
 
Constructor Summary
TurbineYaafiComponentService()
           
 
Method Summary
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.configuration.Configuration conf)
          Create a ServiceContainerConfiguration based on the Turbine configuration
 void dispose()
          Disposes of the container and releases resources
 boolean 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 container
 Object lookup(String roleName)
          Returns an instance of the named component
 void 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, 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.Service
getConfiguration, getName, getProperties, setName, setServiceBroker
 
Methods inherited from interface org.apache.turbine.services.Initable
getInit, init, setInitableBroker
 

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 interface Initable
Overrides:
init in class TurbineBaseService
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 interface Initable
Overrides:
shutdown in class TurbineBaseService

initialize

public void initialize()
                throws Exception
Initializes the container

Specified by:
initialize in interface org.apache.avalon.framework.activity.Initializable
Throws:
Exception - generic exception

dispose

public void dispose()
Disposes of the container and releases resources

Specified by:
dispose in interface org.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 interface org.apache.avalon.framework.service.ServiceManager
Parameters:
roleName - Name of the role the component fills.
Returns:
an instance of the named component
Throws:
Exception - generic exception
org.apache.avalon.framework.service.ServiceException

release

public void release(Object component)
Releases the component.

Specified by:
release in interface org.apache.avalon.framework.service.ServiceManager
Specified by:
release in interface TurbineServiceProvider
Parameters:
component - the component to release

hasService

public boolean hasService(String roleName)
Specified by:
hasService in interface org.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.configuration.Configuration conf)
                                                                                                                throws IOException
Create a ServiceContainerConfiguration based on the Turbine configuration

Parameters:
conf - the Turbine configuration
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 interface TurbineServiceProvider
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 servise is not available/found we throw a RuntimeException since this is less intrusive.

Specified by:
get in interface TurbineServiceProvider
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)


Copyright © 2000-2011 The Apache Software Foundation. All Rights Reserved.