private void resolveInterfaceAndClassLoader(OpenLService service, RulesInstantiationStrategy instantiationStrategy) throws RulesInstantiationException, ClassNotFoundException { String serviceClassName = service.getServiceClassName(); Class<?> serviceClass = null; ClassLoader serviceClassLoader = instantiationStrategy.getClassLoader(); service.setClassLoader(serviceClassLoader); if (serviceClassName != null) { try { serviceClass = serviceClassLoader.loadClass(serviceClassName.trim()); Class<?> interfaceForInstantiationStrategy = RuleServiceInstantiationFactoryHelper.getInterfaceForInstantiationStrategy(instantiationStrategy, serviceClass); instantiationStrategy.setServiceClass(interfaceForInstantiationStrategy); } catch (ClassNotFoundException e) { log.error("Failed to load service class '{}'.", serviceClassName, e); } catch (NoClassDefFoundError e) { log.error("Failed to load service class '{}'.", serviceClassName, e); } } if (serviceClass == null) { log.info("Service class is undefined for service '{}'. Generated interface has been used.", service.getName()); Class<?> instanceClass = instantiationStrategy.getInstanceClass(); serviceClass = processGeneratedServiceClass(instantiationStrategy, service, instanceClass, serviceClassLoader); service.setServiceClassName(null); //Generated class is used. } service.setServiceClass(serviceClass); }
rulesInstantiationStrategy.setServiceClass(EmptyInterface.class); // Prevent
rulesInstantiationStrategy.setServiceClass(EmptyInterface.class); // Prevent
Class<?> interfaceForInstantiationStrategy = RuleServiceInstantiationFactoryHelper .getInterfaceForInstantiationStrategy(instantiationStrategy, serviceClass); instantiationStrategy.setServiceClass(interfaceForInstantiationStrategy); } catch (ClassNotFoundException e) { log.error("Failed to load service class '{}'.", serviceClassName, e);
@Override public void setServiceClass(Class<?> serviceClass) { try { if (validateServiceClass(serviceClass)) { this.serviceClass = serviceClass; try { Class<?> clazz = undecorateServiceClass(serviceClass, getClassLoader()); getOriginalInstantiationStrategy().setServiceClass(clazz); } catch (Exception e) { throw new OpenlNotCheckedException( "Failed to set service class to instantiation strategy enhancer. Failed to get undecorated class.", e); } } else { throw new OpenlNotCheckedException( "Failed to set service class to instantiation strategy enhancer. Service class isn't supported by this strategy!"); } } catch (ValidationServiceClassException e) { throw new OpenlNotCheckedException( "Failed to set service class to instantiation strategy enhancer. Service class isn't supported by this strategy!", e); } }
@Override public void setServiceClass(Class<?> serviceClass) { try { if (validateServiceClass(serviceClass)) { this.serviceClass = serviceClass; try { Class<?> clazz = undecorateServiceClass(serviceClass, getClassLoader()); getOriginalInstantiationStrategy().setServiceClass(clazz); } catch (Exception e) { throw new OpenlNotCheckedException( "Failed to set service class to instantiation strategy enhancer. Failed to get undecorated class.", e); } } else { throw new OpenlNotCheckedException( "Failed to set service class to instantiation strategy enhancer. Service class isn't supported by this strategy!"); } } catch (ValidationServiceClassException e) { throw new OpenlNotCheckedException( "Failed to set service class to instantiation strategy enhancer. Service class isn't supported by this strategy!", e); } }
.getStrategy(modules.iterator().next(), true, dependencyManager, classLoader); rulesInstantiationStrategy.setServiceClass(LazyRuleServiceDependencyLoaderInterface.class);// Prevent
.getStrategy(modules.iterator().next(), true, dependencyManager, classLoader); rulesInstantiationStrategy.setServiceClass(LazyRuleServiceDependencyLoaderInterface.class);// Prevent
try { if (interfaceClass != null) { instantiationStrategy.setServiceClass(interfaceClass);
try { if (interfaceClass != null) { instantiationStrategy.setServiceClass(interfaceClass);
RulesInstantiationStrategy rulesInstantiationStrategy = RulesInstantiationStrategyFactory .getStrategy(getModule(), true, getDependencyManager(), getClassLoader()); rulesInstantiationStrategy.setServiceClass(EmptyInterface.class);// Prevent Map<String, Object> parameters = ProjectExternalDependenciesHelper .getExternalParamsWithProjectDependencies(dependencyManager.getExternalParameters(),
RulesInstantiationStrategy rulesInstantiationStrategy = RulesInstantiationStrategyFactory .getStrategy(getModule(), true, getDependencyManager(), getClassLoader()); rulesInstantiationStrategy.setServiceClass(EmptyInterface.class);// Prevent Map<String, Object> parameters = ProjectExternalDependenciesHelper .getExternalParamsWithProjectDependencies(dependencyManager.getExternalParameters(),
instantiationStrategy.setServiceClass(SimpleProjectDependencyLoader.EmptyInterface.class);
RulesInstantiationStrategy rulesInstantiationStrategy = RulesInstantiationStrategyFactory .getStrategy(module, true, dependencyManager, classLoader); rulesInstantiationStrategy.setServiceClass(EmptyInterface.class); Map<String, Object> parameters = ProjectExternalDependenciesHelper .getExternalParamsWithProjectDependencies(dependencyManager.getExternalParameters(),
RulesInstantiationStrategy rulesInstantiationStrategy = RulesInstantiationStrategyFactory .getStrategy(module, true, dependencyManager, classLoader); rulesInstantiationStrategy.setServiceClass(EmptyInterface.class); Map<String, Object> parameters = ProjectExternalDependenciesHelper .getExternalParamsWithProjectDependencies(dependencyManager.getExternalParameters(),
instantiationStrategy.setServiceClass(SimpleProjectDependencyLoader.EmptyInterface.class);