@Override public org.kie.api.runtime.manager.RuntimeEnvironmentBuilder newDefaultBuilder(String groupId, String artifactId, String version) { return RuntimeEnvironmentBuilder.getDefault(groupId, artifactId, version); }
/** * Provides default configuration of <code>RuntimeEnvironmentBuilder</code> that is based on: * <ul> * <li>DefaultRuntimeEnvironment</li> * </ul> * but it does not have persistence for process engine configured so it will only store process instances in memory * @return new instance of <code>RuntimeEnvironmentBuilder</code> that is already preconfigured with defaults * * @see DefaultRuntimeEnvironment */ public static RuntimeEnvironmentBuilder getDefaultInMemory() { RuntimeEnvironmentBuilder builder = new RuntimeEnvironmentBuilder(new DefaultRuntimeEnvironment(null, false)); builder .addConfiguration("drools.processSignalManagerFactory", DefaultSignalManagerFactory.class.getName()) .addConfiguration("drools.processInstanceManagerFactory", DefaultProcessInstanceManagerFactory.class.getName()); return builder; }
builder = getDefaultInMemory(); } else { builder = getDefault(); builder.entityManagerFactory(emf); contaxtParams.put("entityManagerFactory", emf); Object entry = getInstanceFromModel(model, kieContainer, contaxtParams); builder.addEnvironmentEntry(model.getName(), entry); Object entry = getInstanceFromModel(model, kieContainer, contaxtParams); builder.addConfiguration(model.getName(), (String) entry); Object strategy = getInstanceFromModel(model, kieContainer, contaxtParams); mStrategies[index] = (ObjectMarshallingStrategy)strategy; index++; builder.addEnvironmentEntry(EnvironmentName.OBJECT_MARSHALLING_STRATEGIES, mStrategies); builder.addEnvironmentEntry("KieDeploymentDescriptor", descriptor) .knowledgeBase(kbase) .classLoader(kieContainer.getClassLoader()) .registerableItemsFactory(new KModuleRegisterableItemsFactory(kieContainer, ksessionName));
@Override public void deploy(DeploymentUnit unit) { super.deploy(unit); if (!(unit instanceof VFSDeploymentUnit)) { throw new IllegalArgumentException("Invalid deployment unit provided - " + unit.getClass().getName()); } DeployedUnitImpl deployedUnit = new DeployedUnitImpl(unit); VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit) unit; // Create Runtime Manager Based on the Reference RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.getDefault() .entityManagerFactory(getEmf()); AuditEventBuilder auditLoggerBuilder = setupAuditLogger(identityProvider, vfsUnit.getIdentifier()); if (beanManager != null) { builder.registerableItemsFactory(InjectableRegisterableItemsFactory.getFactory(beanManager, auditLoggerBuilder)); } loadProcesses(vfsUnit, builder, deployedUnit); loadRules(vfsUnit, builder, deployedUnit); commonDeploy(vfsUnit, deployedUnit, builder.get(), (KieContainer)builder.get().getEnvironment().get("kieContainer") ); }
private static RuntimeEnvironmentBuilder setupClasspathKmoduleBuilder( KieContainer kieContainer, String kbaseName, String ksessionName ) { if (StringUtils.isEmpty(kbaseName)) { KieBaseModel defaultKBaseModel = ((KieContainerImpl)kieContainer).getKieProject().getDefaultKieBaseModel(); if (defaultKBaseModel != null) { kbaseName = defaultKBaseModel.getName(); } else { kbaseName = DEFAULT_KBASE_NAME; } } InternalKieModule module = (InternalKieModule) ((KieContainerImpl)kieContainer).getKieModuleForKBase(kbaseName); if (module == null) { throw new IllegalStateException("Cannot find kbase with name " + kbaseName); } KieBase kbase = kieContainer.getKieBase(kbaseName); return getDefault() .knowledgeBase(kbase) .classLoader(kieContainer.getClassLoader()) .registerableItemsFactory(new KModuleRegisterableItemsFactory(kieContainer, ksessionName)); }
protected void loadRules(VFSDeploymentUnit vfsUnit, RuntimeEnvironmentBuilder builder, DeployedUnitImpl deployedUnit) { Iterable<Path> loadRuleFiles = null; try { Path rulesFolder = fs.getPath(vfsUnit.getRepository() + vfsUnit.getRepositoryFolder()); loadRuleFiles = fs.loadFilesByType(rulesFolder, ".+drl"); } catch (FileException ex) { Logger.getLogger(VFSDeploymentService.class.getName()).log(Level.SEVERE, null, ex); } for (Path p : loadRuleFiles) { String ruleString = ""; try { ruleString = new String(fs.loadFile(p)); builder.addAsset(ResourceFactory.newByteArrayResource(ruleString.getBytes()), ResourceType.DRL); } catch (Exception ex) { Logger.getLogger(VFSDeploymentService.class.getName()).log(Level.SEVERE, null, ex); } } }
/** * Provides completely empty <code>RuntimeEnvironmentBuilder</code> instance that allows to manually * set all required components instead of relying on any defaults. * @return new instance of <code>RuntimeEnvironmentBuilder</code> */ public static RuntimeEnvironmentBuilder getEmpty() { return new RuntimeEnvironmentBuilder(); }
builder = getDefaultInMemory(); } else { builder = getDefault(); builder.entityManagerFactory(emf); contaxtParams.put("entityManagerFactory", emf); Object entry = getInstanceFromModel(model, kieContainer, contaxtParams); builder.addEnvironmentEntry(model.getName(), entry); Object entry = getInstanceFromModel(model, kieContainer, contaxtParams); builder.addConfiguration(model.getName(), (String) entry); Object strategy = getInstanceFromModel(model, kieContainer, contaxtParams); mStrategies[index] = (ObjectMarshallingStrategy)strategy; index++; builder.addEnvironmentEntry(EnvironmentName.OBJECT_MARSHALLING_STRATEGIES, mStrategies); builder.addEnvironmentEntry("KieDeploymentDescriptor", descriptor) .knowledgeBase(kbase) .classLoader(kieContainer.getClassLoader()) .registerableItemsFactory(new KModuleRegisterableItemsFactory(kieContainer, ksessionName));
VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit) unit; RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.getDefault() .entityManagerFactory(emf); auditLogger.setBuilder(auditEventBuilder); if (beanManager != null) { builder.registerableItemsFactory(InjectableRegisterableItemsFactory.getFactory(beanManager, auditLogger)); manager = managerFactory.newSingletonRuntimeManager(builder.get(), vfsUnit.getIdentifier()); break; case PER_REQUEST: manager = managerFactory.newPerRequestRuntimeManager(builder.get(), vfsUnit.getIdentifier()); break; manager = managerFactory.newPerProcessInstanceRuntimeManager(builder.get(), vfsUnit.getIdentifier()); break; default:
private static RuntimeEnvironmentBuilder setupClasspathKmoduleBuilder( KieContainer kieContainer, String kbaseName, String ksessionName ) { if (StringUtils.isEmpty(kbaseName)) { KieBaseModel defaultKBaseModel = ((KieContainerImpl)kieContainer).getKieProject().getDefaultKieBaseModel(); if (defaultKBaseModel != null) { kbaseName = defaultKBaseModel.getName(); } else { kbaseName = DEFAULT_KBASE_NAME; } } InternalKieModule module = (InternalKieModule) ((KieContainerImpl)kieContainer).getKieModuleForKBase(kbaseName); if (module == null) { throw new IllegalStateException("Cannot find kbase with name " + kbaseName); } KieBase kbase = kieContainer.getKieBase(kbaseName); return getDefault() .knowledgeBase(kbase) .classLoader(kieContainer.getClassLoader()) .registerableItemsFactory(new KModuleRegisterableItemsFactory(kieContainer, ksessionName)); }
protected void loadProcesses(VFSDeploymentUnit vfsUnit, RuntimeEnvironmentBuilder builder, DeployedUnitImpl deployedUnit) { Iterable<Path> loadProcessFiles = null; try { Path processFolder = fs.getPath(vfsUnit.getRepository() + vfsUnit.getRepositoryFolder()); loadProcessFiles = fs.loadFilesByType(processFolder, ".+bpmn[2]?$"); } catch (FileException ex) { Logger.getLogger(VFSDeploymentService.class.getName()).log(Level.SEVERE, null, ex); } for (Path p : loadProcessFiles) { String processString = ""; try { processString = new String(fs.loadFile(p)); builder.addAsset(ResourceFactory.newByteArrayResource(processString.getBytes()), ResourceType.BPMN2); ProcessDesc process = bpmn2Service.findProcessId(processString); process.setOriginalPath(p.toUri().toString()); process.setDeploymentId(vfsUnit.getIdentifier()); deployedUnit.addAssetLocation(process.getId(), process); } catch (Exception ex) { Logger.getLogger(VFSDeploymentService.class.getName()).log(Level.SEVERE, null, ex); } } }
/** * Provides default configuration of <code>RuntimeEnvironmentBuilder</code> that is based on: * <ul> * <li>DefaultRuntimeEnvironment</li> * </ul> * @return new instance of <code>RuntimeEnvironmentBuilder</code> that is already preconfigured with defaults * * @see DefaultRuntimeEnvironment */ public static RuntimeEnvironmentBuilder getDefault() { return new RuntimeEnvironmentBuilder(new DefaultRuntimeEnvironment()); }
@Override public org.kie.api.runtime.manager.RuntimeEnvironmentBuilder newDefaultBuilder(ReleaseId releaseId) { return RuntimeEnvironmentBuilder.getDefault(releaseId); }
protected void loadRules(VFSDeploymentUnit vfsUnit, RuntimeEnvironmentBuilder builder, DeployedUnitImpl deployedUnit) { Iterable<Path> loadRuleFiles = null; try { Path rulesFolder = getFs().getPath(vfsUnit.getRepository() + vfsUnit.getRepositoryFolder()); loadRuleFiles = getFs().loadFilesByType(rulesFolder, ".+drl"); } catch (FileException ex) { logger.error("Error while loading rule files", ex); } for (Path p : loadRuleFiles) { String ruleString = ""; try { ruleString = new String(getFs().loadFile(p)); builder.addAsset(ResourceFactory.newByteArrayResource(ruleString.getBytes()), ResourceType.DRL); } catch (Exception ex) { logger.error("Error while reading rule files", ex); } } }
/** * Provides default configuration of <code>RuntimeEnvironmentBuilder</code> that is based on: * <ul> * <li>DefaultRuntimeEnvironment</li> * </ul> * but it does not have persistence for process engine configured so it will only store process instances in memory * @return new instance of <code>RuntimeEnvironmentBuilder</code> that is already preconfigured with defaults * * @see DefaultRuntimeEnvironment */ public static RuntimeEnvironmentBuilder getDefaultInMemory() { RuntimeEnvironmentBuilder builder = new RuntimeEnvironmentBuilder(new DefaultRuntimeEnvironment(null, false)); builder .addConfiguration("drools.processSignalManagerFactory", DefaultSignalManagerFactory.class.getName()) .addConfiguration("drools.processInstanceManagerFactory", DefaultProcessInstanceManagerFactory.class.getName()); return builder; }
/** * Provides completely empty <code>RuntimeEnvironmentBuilder</code> instance that allows to manually * set all required components instead of relying on any defaults. * @return new instance of <code>RuntimeEnvironmentBuilder</code> */ public static RuntimeEnvironmentBuilder getEmpty() { return new RuntimeEnvironmentBuilder(); }
@Override public org.kie.api.runtime.manager.RuntimeEnvironmentBuilder newDefaultBuilder() { return RuntimeEnvironmentBuilder.getDefault(); }
protected void loadProcesses(VFSDeploymentUnit vfsUnit, RuntimeEnvironmentBuilder builder, DeployedUnitImpl deployedUnit) { Iterable<Path> loadProcessFiles = null; try { Path processFolder = getFs().getPath(vfsUnit.getRepository() + vfsUnit.getRepositoryFolder()); loadProcessFiles = getFs().loadFilesByType(processFolder, ".+bpmn[2]?$"); } catch (FileException ex) { logger.error("Error while loading process files", ex); } for (Path p : loadProcessFiles) { String processString = ""; try { processString = new String(getFs().loadFile(p)); builder.addAsset(ResourceFactory.newByteArrayResource(processString.getBytes()), ResourceType.BPMN2); ProcessAssetDesc process = (ProcessAssetDesc) bpmn2Service.buildProcessDefinition("unknown", processString, null, false); process.setOriginalPath(p.toUri().toString()); process.setDeploymentId(vfsUnit.getIdentifier()); deployedUnit.addAssetLocation(process.getId(), process); } catch (Exception ex) { logger.error("Error while reading process files", ex); } } }
/** * Provides default configuration of <code>RuntimeEnvironmentBuilder</code> that is based on: * <ul> * <li>DefaultRuntimeEnvironment</li> * </ul> * @return new instance of <code>RuntimeEnvironmentBuilder</code> that is already preconfigured with defaults * * @see DefaultRuntimeEnvironment */ public static RuntimeEnvironmentBuilder getDefault() { return new RuntimeEnvironmentBuilder(new DefaultRuntimeEnvironment()); }
@Override public org.kie.api.runtime.manager.RuntimeEnvironmentBuilder newDefaultBuilder(ReleaseId releaseId, String kbaseName, String ksessionName) { return RuntimeEnvironmentBuilder.getDefault(releaseId, kbaseName, ksessionName); }