container/build/as7/extension/src/main/java/org/restcomm/slee/container/build/as7/extension/SleeSubsystemAdd.java
@Override
    public void performBoottime(OperationContext context, ModelNode operation, ModelNode model,
            ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers)
            throws OperationFailedException {

        // Add deployment processors here
        // Remove this if you don't need to hook into the deployers, or you can add as many as you like
        // see SubDeploymentProcessor for explanation of the phases
        context.addStep(new AbstractDeploymentChainStep() {
            public void execute(DeploymentProcessorTarget processorTarget) {
                processorTarget.addDeploymentProcessor(SleeExtension.SUBSYSTEM_NAME,
                        SleeDeploymentParseProcessor.PHASE,
                        SleeDeploymentParseProcessor.PRIORITY,
                        new SleeDeploymentParseProcessor());
                processorTarget.addDeploymentProcessor(SleeExtension.SUBSYSTEM_NAME,
                        SleeDeploymentInstallProcessor.PHASE,
                        SleeDeploymentInstallProcessor.PRIORITY,
                        new SleeDeploymentInstallProcessor());
            }
        }, OperationContext.Stage.RUNTIME);

        ModelNode fullModel = Resource.Tools.readModel(context.readResource(PathAddress.EMPTY_ADDRESS));

        final ModelNode cacheConfigModel = SleeSubsystemDefinition.CACHE_CONFIG.resolveModelAttribute(context, model);
        final String cacheConfig = cacheConfigModel.isDefined() ? cacheConfigModel.asString() : null;

    	// Installs the msc service which builds the SleeContainer instance and its modules
        final ServiceTarget target = context.getServiceTarget();
        final SleeContainerService sleeContainerService = new SleeContainerService(fullModel, cacheConfig);

        String dbConfigMBean = getPropertyString(fullModel, "ProfileManagement", "dbConfigMBean", "H2DBConfig");
        String datasourceServiceName = getPropertyString(fullModel, dbConfigMBean, "datasourceServiceName", "ExampleDS");

        final ServiceBuilder<?> sleeContainerServiceBuilder = target
                .addService(SleeServiceNames.SLEE_CONTAINER, sleeContainerService)
                .addDependency(PathManagerService.SERVICE_NAME, PathManager.class, sleeContainerService.getPathManagerInjector())
                .addDependency(MBeanServerService.SERVICE_NAME, MBeanServer.class, sleeContainerService.getMbeanServer())
                .addDependency(TransactionManagerService.SERVICE_NAME, TransactionManager.class, sleeContainerService.getTransactionManager())
                .addDependency(DataSourceReferenceFactoryService.SERVICE_NAME_BASE.append(datasourceServiceName),
                        ManagedReferenceFactory.class, sleeContainerService.getManagedReferenceFactory());

        newControllers.add(sleeContainerServiceBuilder.setInitialMode(Mode.ACTIVE).install());
    }
@Override
    public void performBoottime(OperationContext context, ModelNode operation, ModelNode model,
            ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers)
            throws OperationFailedException {

        // Add deployment processors here
        // Remove this if you don't need to hook into the deployers, or you can add as many as you like
        // see SubDeploymentProcessor for explanation of the phases
        context.addStep(new AbstractDeploymentChainStep() {
            public void execute(DeploymentProcessorTarget processorTarget) {
                processorTarget.addDeploymentProcessor(SleeExtension.SUBSYSTEM_NAME,
                        SleeDeploymentParseProcessor.PHASE,
                        SleeDeploymentParseProcessor.PRIORITY,
                        new SleeDeploymentParseProcessor());
                processorTarget.addDeploymentProcessor(SleeExtension.SUBSYSTEM_NAME,
                        SleeDeploymentInstallProcessor.PHASE,
                        SleeDeploymentInstallProcessor.PRIORITY,
                        new SleeDeploymentInstallProcessor());
            }
        }, OperationContext.Stage.RUNTIME);

        ModelNode fullModel = Resource.Tools.readModel(context.readResource(PathAddress.EMPTY_ADDRESS));

        final ModelNode cacheConfigModel = SleeSubsystemDefinition.CACHE_CONFIG.resolveModelAttribute(context, model);
        final String cacheConfig = cacheConfigModel.isDefined() ? cacheConfigModel.asString() : null;

    	// Installs the msc service which builds the SleeContainer instance and its modules
        final ServiceTarget target = context.getServiceTarget();
        final SleeContainerService sleeContainerService = new SleeContainerService(fullModel, cacheConfig);

        String dbConfigMBean = getPropertyString(fullModel, "ProfileManagement", "dbConfigMBean", "H2DBConfig");
        String datasourceServiceName = getPropertyString(fullModel, dbConfigMBean, "datasourceServiceName", "ExampleDS");

        final ServiceBuilder<?> sleeContainerServiceBuilder = target
                .addService(SleeServiceNames.SLEE_CONTAINER, sleeContainerService)
                .addDependency(PathManagerService.SERVICE_NAME, PathManager.class, sleeContainerService.getPathManagerInjector())
                .addDependency(MBeanServerService.SERVICE_NAME, MBeanServer.class, sleeContainerService.getMbeanServer())
                .addDependency(TransactionManagerService.SERVICE_NAME, TransactionManager.class, sleeContainerService.getTransactionManager())
                .addDependency(DataSourceReferenceFactoryService.SERVICE_NAME_BASE.append(datasourceServiceName),
                        ManagedReferenceFactory.class, sleeContainerService.getManagedReferenceFactory());

        newControllers.add(sleeContainerServiceBuilder.setInitialMode(Mode.ACTIVE).install());
    }
@ Override public void performBoottime ( OperationContext context , ModelNode operation , ModelNode model , ServiceVerificationHandler verificationHandler , List < ServiceController < ? > > newControllers ) throws OperationFailedException { // Add deployment processors here // Remove this if you don't need to hook into the deployers, or you can add as many as you like // see SubDeploymentProcessor for explanation of the phases context . addStep ( new AbstractDeploymentChainStep ( ) { public void execute ( DeploymentProcessorTarget processorTarget ) { processorTarget . addDeploymentProcessor ( SleeExtension . SUBSYSTEM_NAME , SleeDeploymentParseProcessor . PHASE , SleeDeploymentParseProcessor . PRIORITY , new SleeDeploymentParseProcessor ( ) ) ; processorTarget . addDeploymentProcessor ( SleeExtension . SUBSYSTEM_NAME , SleeDeploymentInstallProcessor . PHASE , SleeDeploymentInstallProcessor . PRIORITY , new SleeDeploymentInstallProcessor ( ) ) ; } } , OperationContext . Stage . RUNTIME ) ; ModelNode fullModel = Resource . Tools . readModel ( context . readResource ( PathAddress . EMPTY_ADDRESS ) ) ; final ModelNode cacheConfigModel = SleeSubsystemDefinition . CACHE_CONFIG . resolveModelAttribute ( context , model ) ; final String cacheConfig = cacheConfigModel . isDefined ( ) ? cacheConfigModel . asString ( ) : null ; // Installs the msc service which builds the SleeContainer instance and its modules final ServiceTarget target = context . getServiceTarget ( ) ; final SleeContainerService sleeContainerService = new SleeContainerService ( fullModel , cacheConfig ) ; String dbConfigMBean = getPropertyString ( fullModel , "ProfileManagement" , "dbConfigMBean" , "H2DBConfig" ) ; String datasourceServiceName = getPropertyString ( fullModel , dbConfigMBean , "datasourceServiceName" , "ExampleDS" ) ; final ServiceBuilder < ? > sleeContainerServiceBuilder = target . addService ( SleeServiceNames . SLEE_CONTAINER , sleeContainerService ) . addDependency ( PathManagerService . SERVICE_NAME , PathManager . class , sleeContainerService . getPathManagerInjector ( ) ) . addDependency ( MBeanServerService . SERVICE_NAME , MBeanServer . class , sleeContainerService . getMbeanServer ( ) ) . addDependency ( TransactionManagerService . SERVICE_NAME , TransactionManager . class , sleeContainerService . getTransactionManager ( ) ) . addDependency ( DataSourceReferenceFactoryService . SERVICE_NAME_BASE . append ( datasourceServiceName ) , ManagedReferenceFactory . class , sleeContainerService . getManagedReferenceFactory ( ) ) ; newControllers . add ( sleeContainerServiceBuilder . setInitialMode ( Mode . ACTIVE ) . install ( ) ) ; }
{@inheritDoc}
{