public Object execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); if ( this.outIdentifier != null ) { ((StatefulKnowledgeSessionImpl) ksession).session.getExecutionResult().getResults().put( this.outIdentifier , object ); } ksession.setGlobal( this.identifier, this.object ); return object; }
private void populateGlobals(StatefulKnowledgeSession session) throws WorkflowException { Map<String, String> globals = rulemanager.listGlobals(); for (Map.Entry<String, String> global : globals.entrySet()) { Class<?> globalClass; try { globalClass = bundleContext.getBundle().loadClass(global.getValue()); } catch (ClassNotFoundException e) { throw new WorkflowException(String.format("Could not load class for global (%s)", global), e); } Filter filter = OsgiUtils.getFilterForLocation(globalClass, global.getKey(), ContextHolder.get().getCurrentContextId()); Object osgiServiceProxy = utilsService.getOsgiServiceProxy(filter, globalClass); session.setGlobal(global.getKey(), osgiServiceProxy); } }
private void populateGlobals(StatefulKnowledgeSession session) throws WorkflowException { Map<String, String> globals = rulemanager.listGlobals(); for (Map.Entry<String, String> global : globals.entrySet()) { Class<?> globalClass; try { globalClass = bundleContext.getBundle().loadClass(global.getValue()); } catch (ClassNotFoundException e) { throw new WorkflowException(String.format("Could not load class for global (%s)", global), e); } Filter filter = utilsService.getFilterForLocation(globalClass, global.getKey(), ContextHolder.get().getCurrentContextId()); Object osgiServiceProxy = utilsService.getOsgiServiceProxy(filter, globalClass); session.setGlobal(global.getKey(), osgiServiceProxy); } }
private void rewriteBundleList(BundleList bundleList) throws MojoExecutionException { if (rewriteRuleFiles != null) { KnowledgeBase knowledgeBase = createKnowledgeBase(rewriteRuleFiles); StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession(); try { session.setGlobal("mavenSession", mavenSession); session.setGlobal("mavenProject", project); session.insert(bundleList); session.fireAllRules(); } finally { session.dispose(); } } }
@Test public void testNullValueInFrom() { // DROOLS-71 String str = "global java.util.List list\n" + "\n" + "rule R\n" + "when\n" + " $i : Integer( ) from list\n" + "then\n" + "end"; KnowledgeBase kbase = loadKnowledgeBaseFromString(str); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); List<Integer> list = new ArrayList<Integer>(); ksession.setGlobal("list", list); list.add(1); list.add(null); list.add(2); ksession.fireAllRules(); }
public StatefulKnowledgeSession execute(Context context) { KnowledgeSessionConfiguration kconf = null; if ( ksessionConfId != null ) { kconf = (KnowledgeSessionConfiguration) context.getContextManager().getContext( "__TEMP__" ).get( ksessionConfId ); } KnowledgeAgent agent = (KnowledgeAgent) context.getContextManager().getContext( "__TEMP__" ).get( kbaseKagentId + "_kAgent" ); if( agent != null ) { StatefulKnowledgeSession knowledgeSession = agent.getKnowledgeBase().newStatefulKnowledgeSession( kconf, environment ); GridNode gnode = (GridNode) context.get( "grid_node" ); knowledgeSession.setGlobal( "grid", gnode.getGrid() ); return knowledgeSession; } return null; }
@Test public void getFactHandlesTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); MyObject obj1 = new MyObject("obj1"); FactHandle handle = ksession.insert(obj1); Assert.assertNotNull(handle); Assert.assertEquals(true, ((DefaultFactHandle) handle).isDisconnected()); System.out.println("Handle Identity HashCode -> " + handle.toExternalForm()); //I'm having problems with ObjectStoreWrapper that it's not serializable Collection<FactHandle> factHandles = ksession.getFactHandles(); Assert.assertEquals(1, factHandles.size()); FactHandle newHandle = factHandles.iterator().next(); System.out.println("Handle Identity HashCode -> " + newHandle.toExternalForm()); Assert.assertEquals(handle, newHandle); }
@Test public void getGlobalTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); Assert.assertEquals("myglobalObj", ((MyObject) ksession.getGlobal("myGlobalObj")).getName()); }
session.setGlobal("mule", messageService);
@Ignore // FIX public void getFactHandleTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); MyObject obj1 = new MyObject("obj1"); FactHandle handle = ksession.insert(obj1); System.out.println("Handle Identity HashCode -> " + handle.toExternalForm()); Assert.assertNotNull(handle); Assert.assertEquals(true, ((DefaultFactHandle) handle).isDisconnected()); // The session assertMap doesn't find the factHandle for this object FactHandle newHandle = ksession.getFactHandle(obj1); System.out.println("Handle Identity HashCode -> " + newHandle.toExternalForm()); Assert.assertEquals(newHandle, handle); }
@Test public void insertTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); FactHandle handle = ksession.insert(new MyObject("obj1")); Assert.assertNotNull(handle); Assert.assertEquals(true, ((DefaultFactHandle) handle).isDisconnected()); int fired = ksession.fireAllRules(); Assert.assertEquals(fired, 1); }
ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); try { ksession.startProcess("Definition");
@Test public void getObjectTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); MyObject obj1 = new MyObject("obj1"); FactHandle handle = ksession.insert(obj1); Assert.assertNotNull(handle); Assert.assertEquals(true, ((DefaultFactHandle) handle).isDisconnected()); Object result = ksession.getObject(handle); Assert.assertEquals(obj1, result); }
ksession.setGlobal( "myGlobalObj", new MyObject( "myglobalObj" ) );
@Test public void retractTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); FactHandle handle = ksession.insert(new MyObject("obj1")); Assert.assertNotNull(handle); Assert.assertEquals(true, ((DefaultFactHandle) handle).isDisconnected()); int fired = ksession.fireAllRules(); Assert.assertEquals(fired, 1); Assert.assertEquals(1, ksession.getFactCount()); ksession.retract(handle); Assert.assertEquals(0, ksession.getFactCount()); }
@Test public void updateTest() { StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); FactHandle handle = ksession.insert(new MyObject("obj1")); Assert.assertNotNull(handle); Assert.assertEquals(true, ((DefaultFactHandle) handle).isDisconnected()); int fired = ksession.fireAllRules(); Assert.assertEquals(fired, 1); Assert.assertEquals(1, ksession.getFactCount()); ksession.update(handle, new MyObject("obj2")); Assert.assertEquals(1, ksession.getFactCount()); fired = ksession.fireAllRules(); Assert.assertEquals(fired, 1); }
session.setGlobal("myGlobalObj", new MyObject("myGlobalObj"));
StatefulKnowledgeSession ksession = createSession(); ksession.setGlobal("myGlobalObj", new MyObject("myglobalObj")); MyObject obj1 = new MyObject("obj1"); FactHandle handle = ksession.insert(obj1);