@Override public KieSession newKieSession() { return kieBase.newKieSession(); }
@Override public KieSessionConfiguration getConfiguration() { KieSessionConfiguration config = null; if (this.sessionConfigProperties != null) { config = KieServices.Factory.get().newKieSessionConfiguration(this.sessionConfigProperties, classLoader); } else { config = KieServices.Factory.get().newKieSessionConfiguration(null, classLoader); } // add special option to fire activations marked as eager directly config.setOption(ForceEagerActivationOption.YES); return config; } @Override
/** * @param releaseId never null * @param solverConfigResource never null, a classpath resource in the {@link KieContainer} * as defined by {@link ClassLoader#getResource(String)} * @return never null */ public static <Solution_> SolverFactory<Solution_> createFromKieContainerXmlResource( ReleaseId releaseId, String solverConfigResource) { KieContainer kieContainer = KieServices.Factory.get().newKieContainer(releaseId); return createFromKieContainerXmlResource(kieContainer, solverConfigResource); }
@Bean public KieContainer kieShippingDecisionContainer() { KieServices kieServices = KieServices.Factory.get(); KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); kieFileSystem.write(ResourceFactory.newClassPathResource(SHIPPING_DECISION)); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem); kieBuilder.buildAll(); KieModule kieModule = kieBuilder.getKieModule(); return kieServices.newKieContainer(kieModule.getReleaseId()); }
/** * Provides default configuration of <code>RuntimeEnvironmentBuilder</code> that is based on: * <ul> * <li>DefaultRuntimeEnvironment</li> * </ul> * It relies on KieClasspathContainer that requires to have kmodule.xml present in META-INF folder which * defines the kjar itself. * @param kbaseName name of the kbase defined in kmodule.xml * @param ksessionName name of the ksession define in kmodule.xml * @return new instance of <code>RuntimeEnvironmentBuilder</code> that is already preconfigured with defaults * * @see DefaultRuntimeEnvironment */ public static RuntimeEnvironmentBuilder getClasspathKmoduleDefault(String kbaseName, String ksessionName) { return setupClasspathKmoduleBuilder( KieServices.Factory.get().getKieClasspathContainer(), kbaseName, ksessionName ); }
/** * Provides default configuration of <code>RuntimeEnvironmentBuilder</code> that is based on: * <ul> * <li>DefaultRuntimeEnvironment</li> * </ul> * This one is tailored to works smoothly with kjars as the notion of kbase and ksessions * @param groupId group id of kjar * @param artifactId artifact id of kjar * @param version version number of kjar * @param kbaseName name of the kbase defined in kmodule.xml stored in kjar * @param ksessionName name of the ksession define in kmodule.xml stored in kjar * @return new instance of <code>RuntimeEnvironmentBuilder</code> that is already preconfigured with defaults * * @see DefaultRuntimeEnvironment */ public static RuntimeEnvironmentBuilder getDefault(String groupId, String artifactId, String version, String kbaseName, String ksessionName) { KieServices ks = KieServices.Factory.get(); return getDefault(ks.newReleaseId(groupId, artifactId, version), kbaseName, ksessionName); }
@Override public org.kie.api.runtime.manager.RuntimeEnvironmentBuilder newClasspathKmoduleDefaultBuilder(String kbaseName, String ksessionName) { return setupClasspathKmoduleBuilder( KieServices.Factory.get().newKieClasspathContainer(), kbaseName, ksessionName ); }
@BeforeClass public static void deployTestdataKjar() throws IOException { kieServices = KieServices.Factory.get(); }
public static String findLatestProcessByName(KieBase kbase, final String processName) { if (kbase == null) { return null; } return findLatestProcessByName(kbase.getProcesses(), processName); }
@Bean public KieContainer kieManufacturerBasedPricingContainer() { KieServices kieServices = KieServices.Factory.get(); KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); kieFileSystem.write(ResourceFactory.newClassPathResource(MANUFACTURER_BASED_PRICING)); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem); kieBuilder.buildAll(); KieModule kieModule = kieBuilder.getKieModule(); return kieServices.newKieContainer(kieModule.getReleaseId()); }
/** * @param releaseId never null * @return never null */ public static <Solution_> SolverFactory<Solution_> createEmptyFromKieContainer(ReleaseId releaseId) { KieContainer kieContainer = KieServices.Factory.get().newKieContainer(releaseId); return createEmptyFromKieContainer(kieContainer); }
/** * Uses {@link KieServices#getKieClasspathContainer()}. * @param solverConfigResource never null, a classpath resource in the {@link KieContainer} * as defined by {@link ClassLoader#getResource(String)} * @return never null */ public static <Solution_> SolverFactory<Solution_> createFromKieContainerXmlResource( String solverConfigResource) { KieContainer kieContainer = KieServices.Factory.get().getKieClasspathContainer(); return new XStreamXmlSolverFactory<Solution_>(new SolverConfigContext(kieContainer)) .configure(solverConfigResource); }
protected void buildKJar() { KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION); List<String> resources = new ArrayList<>(); resources.add("assignments/assignment-rules.drl"); createKieJar(ks, releaseId, resources); }
protected static KieSession createStatefulKnowledgeSession(KieBase kbase) { return kbase.newKieSession(); }
public static String findLatestProcessByName(KieBase kbase, final String processName, Comparator<Process> comparator) { if (kbase == null) { return null; } return findLatestProcessByName(kbase.getProcesses(), processName, comparator); }
protected KieSession createStatefulKnowledgeSession(KieBase kbase) { return kbase.newKieSession(); }
public void removeProcessEventListeners() { for ( Process process : kruntime.getKieBase().getProcesses() ) { removeProcessEventListener(process); } }
private static KieSession createStatefulKnowledgeSessionFromRule(boolean independentSubProcess) throws Exception { KieBase ruleBase = readRule(independentSubProcess); return ruleBase.newKieSession(); }
public void initProcessEventListeners() { for ( Process process : kruntime.getKieBase().getProcesses() ) { initProcessEventListener(process); } }
public KieSession createKieSession(Process... process) { KieBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); for (Process processToAdd : process) { ((KnowledgeBaseImpl) kbase).addProcess(processToAdd); } return kbase.newKieSession(); }