protected RulesInstantiationStrategy getStrategy(Collection<Module> modules, IDependencyManager dependencyManager) { if (rulesInstantiationStrategy == null) { switch (modules.size()) { case 0: throw new IllegalStateException("There are no modules to instantiate."); case 1: rulesInstantiationStrategy = RulesInstantiationStrategyFactory.getStrategy(modules.iterator() .next(), isExecutionMode(), dependencyManager, classLoader); break; default: rulesInstantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, classLoader, isExecutionMode()); } } return rulesInstantiationStrategy; }
protected RulesInstantiationStrategy getStrategy(Collection<Module> modules, IDependencyManager dependencyManager) { if (rulesInstantiationStrategy == null) { switch (modules.size()) { case 0: throw new IllegalStateException("There are no modules to instantiate."); case 1: rulesInstantiationStrategy = RulesInstantiationStrategyFactory.getStrategy(modules.iterator() .next(), isExecutionMode(), dependencyManager, classLoader); break; default: rulesInstantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, classLoader, isExecutionMode()); } } return rulesInstantiationStrategy; }
/** {@inheritDoc} */ public RulesInstantiationStrategy getStrategy(ServiceDescription serviceDescription, IDependencyManager dependencyManager) { Collection<Module> modules = serviceDescription.getModules(); int moduleSize = modules.size(); if (moduleSize == 0) { throw new IllegalStateException("There are no modules to instantiate."); } String serviceName = serviceDescription.getName(); if (isLazy()) { log.debug("Lazy loading strategy has been used for service: '{}'.", serviceName); return new LazyInstantiationStrategy(serviceDescription.getDeployment(), modules, dependencyManager); } if (moduleSize == 1) { log.debug("Single module loading strategy has been used for service: '{}'.", serviceName); Module module = modules.iterator().next(); return RulesInstantiationStrategyFactory.getStrategy(module, true, dependencyManager); } log.debug("Multi module loading strategy has been used for service: '{}'.", serviceName); return new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, true); } }
/** {@inheritDoc} */ public RulesInstantiationStrategy getStrategy(Collection<Module> modules, IDependencyManager dependencyManager) { ServiceDescription serviceDescription = ServiceDescriptionHolder.getInstance().getServiceDescription(); if (serviceDescription == null) { throw new IllegalStateException("ServiceDescription is not found."); } int moduleSize = modules.size(); if (moduleSize == 0) { throw new IllegalStateException("There are no modules to instantiate."); } String serviceName = serviceDescription.getName(); if (isLazy()) { log.debug("Lazy loading strategy has been used for service: '{}'.", serviceName); return new LazyInstantiationStrategy(serviceDescription.getDeployment(), modules, dependencyManager); } if (moduleSize == 1) { log.debug("Single module loading strategy has been used for service: '{}'.", serviceName); Module module = modules.iterator().next(); return RulesInstantiationStrategyFactory.getStrategy(module, true, dependencyManager); } log.debug("Multi module loading strategy has been used for service: '{}'.", serviceName); return new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, true); } }
} else { if (isProject && modules.size() > 0) { rulesInstantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, classLoader, executionMode);
} else { if (isProject && modules.size() > 0) { rulesInstantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, dependencyManager, classLoader, executionMode);
} else { List<Module> modules = this.moduleInfo.getProject().getModules(); instantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, webStudioWorkspaceDependencyManager, false);
} else { List<Module> modules = this.moduleInfo.getProject().getModules(); instantiationStrategy = new SimpleMultiModuleInstantiationStrategy(modules, webStudioWorkspaceDependencyManager, false);