in src/java/org/apache/fulcrum/yaafi/framework/container/ServiceContainerImpl.java [367:443]
public void initialize() throws Exception
{
this.getLogger().debug( "YAAFI Service Framework is starting up" );
// set the directories being used
this.setApplicationRootDir( (File) this.getContext().get( AvalonYaafiConstants.URN_AVALON_HOME ) );
this.setTempRootDir( (File) this.getContext().get( AvalonYaafiConstants.URN_AVALON_TEMP ) );
// get the configuration files
this.roleConfiguration = loadConfiguration( this.componentRolesLocation, this.isComponentRolesEncrypted() );
if (this.roleConfiguration == null)
{
String msg = "Unable to locate the role configuration : " + this.componentRolesLocation;
this.getLogger().error( msg );
throw new ConfigurationException( msg );
}
this.serviceConfiguration = loadConfiguration( this.componentConfigurationLocation,
this.isComponentConfigurationEncrypted() );
// create the configuration properties
Properties componentConfigurationProperties = this.loadComponentConfigurationProperties();
// expand the componentConfiguration using the componentConfigurationProperties
ConfigurationUtil.expand( this.getLogger(), (DefaultConfiguration) this.serviceConfiguration,
componentConfigurationProperties );
// create the default parameters
if (this.getParameters() == null)
{
this.parameters = this.loadParameters( this.parametersLocation, this.isParametersEncrypted() );
}
// create the service implementation instances
List<ServiceComponent> currServiceList = this.createServiceComponents( this.roleConfiguration,
this.getLogger() );
this.setServiceList( currServiceList );
// fill the service map mapping from a service name to an instance
for (int i = 0; i < this.getServiceList().size(); i++)
{
ServiceComponent serviceComponent = (ServiceComponent) this.getServiceList().get( i );
this.getServiceMap().put( serviceComponent.getName(), serviceComponent );
}
// ensure that fallback service managers are available
for (int i = 0; i < this.fallbackServiceManagerList.size(); i++)
{
String currServiceManagerName = (String) this.fallbackServiceManagerList.get( i );
if (this.getServiceMap().get( currServiceManagerName ) == null)
{
String msg = "The following fallback service manager was not found : " + currServiceManagerName;
throw new IllegalArgumentException( msg );
}
}
// run the various lifecycle stages
this.incarnateAll( this.getServiceList() );
// we are up and running
this.isCurrentlyDisposing = false;
this.isAlreadyDisposed = false;
this.getLogger().debug( "YAAFI Avalon Service Container is up and running" );
}