factInfo.put(entry.getName(), DefaultFactHandle.createFromExternalFormat(entry.getValue()));
@Test public void testDeleteCommand() { FactHandle factHandle = DefaultFactHandle.createFromExternalFormat("0:1:10:10:20:null:NON_TRAIT:null"); DeleteCommand cmd = new DeleteCommand(factHandle); String xmlString = xstream.toXML( cmd ); Assert.assertEquals( "<delete fact-handle=\"0:1:10:10:20:null:NON_TRAIT:null\"/>", xmlString ); DeleteCommand cmd2 = (DeleteCommand) xstream.fromXML( xmlString ); Assert.assertEquals( factHandle.toExternalForm(), cmd2.getFactHandle().toExternalForm() ); }
@Test public void testModifyCommand() { FactHandle factHandle = DefaultFactHandle.createFromExternalFormat("0:1:10:10:20:null:NON_TRAIT:null"); ModifyCommand cmd = new ModifyCommand(factHandle, Arrays.asList(new ModifyCommand.SetterImpl("name", "value"))); String xmlString = xstream.toXML( cmd ); Assert.assertEquals( "<modify fact-handle=\"0:1:10:10:20:null:NON_TRAIT:null\">\n" + " <set accessor=\"name\" value=\"value\"/>\n" + "</modify>", xmlString ); ModifyCommand cmd2 = (ModifyCommand) xstream.fromXML( xmlString ); Assert.assertEquals( factHandle.toExternalForm(), cmd2.getFactHandle().toExternalForm() ); Assert.assertEquals( 1, cmd2.getSetters().size() ); Assert.assertEquals( "name", cmd2.getSetters().get(0).getAccessor() ); Assert.assertEquals( "value", cmd2.getSetters().get(0).getValue() ); }
handle = DefaultFactHandle.createFromExternalFormat(((DefaultFactHandle)handle).toExternalForm()); assertEquals( s, ksession.getObject( handle ) ); handle = DefaultFactHandle.createFromExternalFormat(((DefaultFactHandle)handle).toExternalForm()); ksession.retract( handle ); assertEquals( length - i -1, ksession.getObjects().size() );
@Test public void testDisconnectedFactHandle() { final KieBase kbase = getKnowledgeBase(); final KieSession ksession = createKnowledgeSession( kbase ); final DefaultFactHandle helloHandle = (DefaultFactHandle) ksession.insert( "hello" ); final DefaultFactHandle goodbyeHandle = (DefaultFactHandle) ksession.insert( "goodbye" ); FactHandle key = DefaultFactHandle.createFromExternalFormat( helloHandle.toExternalForm() ); assertEquals( "hello", ksession.getObject( key ) ); key = DefaultFactHandle.createFromExternalFormat( goodbyeHandle.toExternalForm() ); assertEquals( "goodbye", ksession.getObject( key ) ); }
handle = DefaultFactHandle.createFromExternalFormat(((DefaultFactHandle)handle).toExternalForm()); assertEquals( s, ksession.getObject( handle ) ); handle = DefaultFactHandle.createFromExternalFormat(((DefaultFactHandle)handle).toExternalForm()); ksession.retract( handle ); assertEquals( length - i -1, ksession.getObjects().size() );
@Test public void testSessionGetObject() throws Exception { BatchExecutionCommandImpl cmd = new BatchExecutionCommandImpl(); cmd.setLookup("ksession1"); cmd.addCommand(new GetObjectCommand(DefaultFactHandle.createFromExternalFormat(handle), "hadrian")); StringWriter xmlReq = new StringWriter(); Marshaller marshaller = getJaxbContext().createMarshaller(); marshaller.setProperty("jaxb.formatted.output", true); marshaller.marshal(cmd, xmlReq); logger.debug(xmlReq.toString()); byte[] xmlResp = (byte[])template.requestBody("direct:test-with-session", xmlReq.toString()); ExecutionResults resp = (ExecutionResults)getJaxbContext().createUnmarshaller().unmarshal(new ByteArrayInputStream(xmlResp)); assertNotNull(resp); assertEquals(1, resp.getIdentifiers().size()); assertNotNull(resp.getValue("hadrian")); }
@Test public void testDisconnectedFactHandle() { KnowledgeBase kbase = getKnowledgeBase(); StatefulKnowledgeSession ksession = createKnowledgeSession( kbase ); DefaultFactHandle helloHandle = (DefaultFactHandle) ksession.insert( "hello" ); DefaultFactHandle goodbyeHandle = (DefaultFactHandle) ksession.insert( "goodbye" ); FactHandle key = DefaultFactHandle.createFromExternalFormat( helloHandle.toExternalForm() ); assertEquals( "hello", ksession.getObject( key ) ); key = DefaultFactHandle.createFromExternalFormat( goodbyeHandle.toExternalForm() ); assertEquals( "goodbye", ksession.getObject( key ) ); }
@Test public void testSessionModify() throws Exception { final DefaultFactHandle handleFact = DefaultFactHandle.createFromExternalFormat(this.handle); final ModifyCommand.SetterImpl setterImpl = new ModifyCommand.SetterImpl("name", "salaboy"); final List<Setter> setters = new ArrayList<>(); setters.add(setterImpl); final ModifyCommand modifyCommand = new ModifyCommand(handleFact, setters); final BatchExecutionCommand batch = new BatchExecutionCommandImpl(singletonList(modifyCommand), "ksession1"); final String cmd = commandToString(batch); String outXml = new String((byte[])template.requestBody("direct:test-with-session", cmd)); String expectedXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; expectedXml += "<execution-results xmlns:ns2=\"http://drools.org/model\">\n"; expectedXml += " <results/>\n"; expectedXml += " <facts/>\n"; expectedXml += "</execution-results>\n"; assertXMLEqual(expectedXml, outXml); final GetObjectCommand getObjectCommand = new GetObjectCommand(handleFact, "rider"); final BatchExecutionCommand getCommandBatch = new BatchExecutionCommandImpl(singletonList(getObjectCommand), "ksession1"); final String cmdGetObject = commandToString(getCommandBatch); byte[] xmlResp = (byte[])template.requestBody("direct:test-with-session", cmdGetObject); assertNotNull(xmlResp); ExecutionResults resp = (ExecutionResults)getJaxbContext().createUnmarshaller().unmarshal(new ByteArrayInputStream(xmlResp)); assertNotNull(resp); Person person = (Person)resp.getValue("rider"); assertEquals("salaboy", person.getName()); }
factInfo.put(entry.getName(), DefaultFactHandle.createFromExternalFormat(entry.getValue()));
@Test public void testSessionGetObject() throws Exception { FactHandle factHandle = DefaultFactHandle.createFromExternalFormat(handle); GetObjectCommand cmd = (GetObjectCommand) CommandFactory.newGetObject(factHandle); cmd.setOutIdentifier("rider"); ExecutionResults response = (ExecutionResults)template.requestBody("direct:test-with-session", cmd); assertTrue("Expected valid ExecutionResults object", response != null); assertTrue("ExecutionResults missing expected object", response.getValue("rider") != null); assertTrue("FactHandle object not of expected type", response.getValue("rider") instanceof Person); assertEquals("Hadrian", ((Person)response.getValue("rider")).getName()); }