[jboss-svn-commits] JBL Code SVN: r34076 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 20 16:49:05 EDT 2010
Author: KrisVerlaenen
Date: 2010-07-20 16:49:05 -0400 (Tue, 20 Jul 2010)
New Revision: 34076
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java
Log:
- added action node conflict test
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java 2010-07-20 20:32:00 UTC (rev 34075)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java 2010-07-20 20:49:05 UTC (rev 34076)
@@ -375,6 +375,89 @@
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
}
+ public void testActionNameConflict() {
+ PackageBuilder builder = new PackageBuilder();
+ Reader source = new StringReader(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<process xmlns=\"http://drools.org/drools-5.0/process\"\n" +
+ " xmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
+ " xs:schemaLocation=\"http://drools.org/drools-5.0/process drools-processes-5.0.xsd\"\n" +
+ " type=\"RuleFlow\" name=\"flow\" id=\"org.drools.actions1\" package-name=\"org.drools\" version=\"1\" >\n" +
+ "\n" +
+ " <header>\n" +
+ " <globals>\n" +
+ " <global identifier=\"list\" type=\"java.util.List\" />\n" +
+ " </globals>\n" +
+ " </header>\n" +
+ "\n" +
+ " <nodes>\n" +
+ " <start id=\"1\" name=\"Start\" />\n" +
+ " <actionNode id=\"2\" name=\"MyActionNode\" >\n" +
+ " <action type=\"expression\" dialect=\"java\" >list.add(\"Action1\");</action>\n" +
+ " </actionNode>\n" +
+ " <end id=\"3\" name=\"End\" />\n" +
+ " </nodes>\n" +
+ "\n" +
+ " <connections>\n" +
+ " <connection from=\"1\" to=\"2\" />\n" +
+ " <connection from=\"2\" to=\"3\" />\n" +
+ " </connections>\n" +
+ "\n" +
+ "</process>");
+ builder.addRuleFlow(source);
+ source = new StringReader(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<process xmlns=\"http://drools.org/drools-5.0/process\"\n" +
+ " xmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
+ " xs:schemaLocation=\"http://drools.org/drools-5.0/process drools-processes-5.0.xsd\"\n" +
+ " type=\"RuleFlow\" name=\"flow\" id=\"org.drools.actions2\" package-name=\"org.drools\" version=\"1\" >\n" +
+ "\n" +
+ " <header>\n" +
+ " <globals>\n" +
+ " <global identifier=\"list\" type=\"java.util.List\" />\n" +
+ " </globals>\n" +
+ " </header>\n" +
+ "\n" +
+ " <nodes>\n" +
+ " <start id=\"1\" name=\"Start\" />\n" +
+ " <actionNode id=\"2\" name=\"MyActionNode\" >\n" +
+ " <action type=\"expression\" dialect=\"java\" >list.add(\"Action2\");</action>\n" +
+ " </actionNode>\n" +
+ " <end id=\"3\" name=\"End\" />\n" +
+ " </nodes>\n" +
+ "\n" +
+ " <connections>\n" +
+ " <connection from=\"1\" to=\"2\" />\n" +
+ " <connection from=\"2\" to=\"3\" />\n" +
+ " </connections>\n" +
+ "\n" +
+ "</process>");
+ builder.addRuleFlow(source);
+ PackageBuilderErrors errors = builder.getErrors();
+ if (!errors.isEmpty()) {
+ for (DroolsError error: errors.getErrors()) {
+ System.err.println(error);
+ }
+ fail("Errors while building package");
+ }
+ Package pkg = builder.getPackage();
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( pkg );
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
+ List<String> list = new ArrayList<String>();
+ workingMemory.setGlobal("list", list);
+ ProcessInstance processInstance = ( ProcessInstance )
+ workingMemory.startProcess("org.drools.actions1");
+ assertEquals(1, list.size());
+ assertEquals("Action1", list.get(0));
+ list.clear();
+ processInstance = ( ProcessInstance )
+ workingMemory.startProcess("org.drools.actions2");
+ assertEquals(1, list.size());
+ assertEquals("Action2", list.get(0));
+ assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
+ }
+
private static class TestWorkItemHandler implements WorkItemHandler {
private WorkItem workItem;
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
More information about the jboss-svn-commits
mailing list