use of org.drools.core.common.DefaultFactHandle in project drools by kiegroup.
the class XStreamXMLTest method testExecutionResults.
@Test
public void testExecutionResults() {
final Message msg = new Message("Hello World!");
final FactHandle msgHandle = new DefaultFactHandle(1, null, 10, 10, 20, msg);
final Message msg2 = new Message("Hello World again!");
final FactHandle msgHandle2 = new DefaultFactHandle(2, null, 10, 10, 20, msg2);
HashMap<String, Object> factHandles = new LinkedHashMap<String, Object>();
factHandles.put("first", msgHandle);
factHandles.put("second", msgHandle2);
ExecutionResultImpl executionResult = new ExecutionResultImpl();
executionResult.setFactHandles(factHandles);
HashMap<String, Object> results = new LinkedHashMap<String, Object>();
results.put("message1", msg);
results.put("message2", msg2);
executionResult.setResults(results);
String xmlString = xstream.toXML(executionResult);
Assert.assertEquals("<execution-results>\n" + " <result identifier=\"message1\">\n" + " <org.drools.xml.support.XStreamXMLTest_-Message>\n" + " <msg>Hello World!</msg>\n" + " </org.drools.xml.support.XStreamXMLTest_-Message>\n" + " </result>\n" + " <result identifier=\"message2\">\n" + " <org.drools.xml.support.XStreamXMLTest_-Message>\n" + " <msg>Hello World again!</msg>\n" + " </org.drools.xml.support.XStreamXMLTest_-Message>\n" + " </result>\n" + " <fact-handle identifier=\"first\" external-form=\"0:1:10:10:20:null:NON_TRAIT:org.drools.xml.support.XStreamXMLTest$Message\"/>\n" + " <fact-handle identifier=\"second\" external-form=\"0:2:10:10:20:null:NON_TRAIT:org.drools.xml.support.XStreamXMLTest$Message\"/>\n" + "</execution-results>", xmlString);
ExecutionResultImpl executionResult2 = (ExecutionResultImpl) xstream.fromXML(xmlString);
Assert.assertEquals(executionResult.getFactHandles().size(), executionResult2.getFactHandles().size());
Assert.assertEquals(executionResult.getResults().size(), executionResult2.getResults().size());
}
use of org.drools.core.common.DefaultFactHandle in project drools by kiegroup.
the class XStreamXMLTest method testQueryResultsConverter.
@Test
public void testQueryResultsConverter() {
final Message msg = new Message("Hello World!");
final FactHandle msgHandle = new DefaultFactHandle(1, null, 10, 10, 20, msg);
Set<String> identifiers = new HashSet<String>() {
{
add("greeting");
}
};
ArrayList<Map<String, FactHandle>> idFactHandleMaps = new ArrayList<Map<String, FactHandle>>() {
{
add(new HashMap<String, FactHandle>() {
{
put("greeting", msgHandle);
}
});
}
};
ArrayList<Map<String, Object>> factHandleResultMap = new ArrayList<Map<String, Object>>() {
{
add(new HashMap<String, Object>() {
{
put("greeting", msg);
}
});
}
};
final String EXPECTED_XML = "<query-results>\n" + " <identifiers>\n" + " <identifier>greeting</identifier>\n" + " </identifiers>\n" + " <row>\n" + " <identifier id=\"greeting\">\n" + " <org.drools.xml.support.XStreamXMLTest_-Message>\n" + " <msg>Hello World!</msg>\n" + " </org.drools.xml.support.XStreamXMLTest_-Message>\n" + " <fact-handle external-form=\"0:1:10:10:20:null:NON_TRAIT:org.drools.xml.support.XStreamXMLTest$Message\"/>\n" + " </identifier>\n" + " </row>\n" + "</query-results>";
QueryResults results = new FlatQueryResults(identifiers, idFactHandleMaps, factHandleResultMap);
String xmlString = xstream.toXML(results);
Assert.assertEquals(EXPECTED_XML, xmlString);
QueryResults results2 = (QueryResults) xstream.fromXML(xmlString);
Assert.assertEquals(results, results2);
}
Aggregations