[jboss-svn-commits] JBL Code SVN: r19903 - in labs/jbossrules/trunk/drools-compiler/src/test: java/org/drools/bpel/instance and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu May 8 08:06:02 EDT 2008
Author: KrisVerlaenen
Date: 2008-05-08 08:06:02 -0400 (Thu, 08 May 2008)
New Revision: 19903
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/WorkingMemoryLoggerTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/empty.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/core/BPELReply.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionHandlerInstance.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionScopeInstance.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/test/BPELTest.java
Log:
JBRULES-1549: Workflow Context
- swimlanes and exception scope as context
JBRULES-1550: Workflow timer
- timer node
JBRULES-1465: RuleFlow work items should allow plugging in custom editors
- Work items palette customizable by user
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/core/BPELReply.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/core/BPELReply.java 2008-05-08 11:18:27 UTC (rev 19902)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/core/BPELReply.java 2008-05-08 12:06:02 UTC (rev 19903)
@@ -13,7 +13,7 @@
private static final long serialVersionUID = 400L;
private static final String PARTNER_LINK = "PartnerLink";
- private static final String PORT_TYPE = "Porttype";
+ private static final String PORT_TYPE = "PortType";
private static final String OPERATION = "Operation";
private static final String INPUT = "Message";
private static final String FAULT_NAME = "FaultName";
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionHandlerInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionHandlerInstance.java 2008-05-08 11:18:27 UTC (rev 19902)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionHandlerInstance.java 2008-05-08 12:06:02 UTC (rev 19903)
@@ -1,6 +1,7 @@
package org.drools.bpel.instance;
import org.drools.bpel.core.BPELFaultHandler;
+import org.drools.process.core.context.exception.ExceptionHandler;
import org.drools.process.core.context.variable.VariableScope;
import org.drools.process.instance.context.exception.ExceptionHandlerInstance;
import org.drools.process.instance.context.variable.VariableScopeInstance;
@@ -17,8 +18,8 @@
return faultHandler;
}
- public void setFaultHandler(BPELFaultHandler faultHandler) {
- this.faultHandler = faultHandler;
+ public void setExceptionHandler(ExceptionHandler handler) {
+ this.faultHandler = (BPELFaultHandler) handler;
}
public NodeInstanceContainer getNodeInstanceContainer() {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionScopeInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionScopeInstance.java 2008-05-08 11:18:27 UTC (rev 19902)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/instance/BPELExceptionScopeInstance.java 2008-05-08 12:06:02 UTC (rev 19903)
@@ -2,7 +2,6 @@
import org.drools.bpel.core.BPELFaultHandler;
import org.drools.process.core.context.exception.ExceptionHandler;
-import org.drools.process.instance.context.exception.ExceptionHandlerInstance;
import org.drools.process.instance.context.exception.ExceptionScopeInstance;
import org.drools.workflow.instance.NodeInstanceContainer;
import org.drools.workflow.instance.context.WorkflowContextInstance;
@@ -13,13 +12,6 @@
private NodeInstanceContainer nodeInstanceContainer;
- protected ExceptionHandlerInstance getExceptionHandlerInstance(ExceptionHandler exceptionHandler) {
- BPELExceptionHandlerInstance handlerInstance = new BPELExceptionHandlerInstance();
- handlerInstance.setFaultHandler((BPELFaultHandler) exceptionHandler);
- handlerInstance.setNodeInstanceContainer(getNodeInstanceContainer());
- return handlerInstance;
- }
-
public NodeInstanceContainer getNodeInstanceContainer() {
return nodeInstanceContainer;
}
@@ -28,4 +20,16 @@
this.nodeInstanceContainer = nodeInstanceContainer;
}
+ public void handleException(ExceptionHandler handler, String exception, Object params) {
+ if (handler instanceof BPELFaultHandler) {
+ BPELExceptionHandlerInstance handlerInstance = new BPELExceptionHandlerInstance();
+ handlerInstance.setExceptionHandler(handler);
+ handlerInstance.setNodeInstanceContainer(nodeInstanceContainer);
+ handlerInstance.handleException(exception, params);
+ } else {
+ throw new IllegalArgumentException(
+ "A BPEL Exception scope can only handle BPELFaultHandlers: " + handler);
+ }
+ }
+
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/test/BPELTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/test/BPELTest.java 2008-05-08 11:18:27 UTC (rev 19902)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/bpel/test/BPELTest.java 2008-05-08 12:06:02 UTC (rev 19903)
@@ -44,6 +44,7 @@
process.setId("1");
process.setVersion("1");
process.setPackageName("org.drools.bpel.test");
+ int nodeId = 0;
// variables
VariableScope variableScope = process.getVariableScope();
@@ -80,6 +81,7 @@
faultHandler.setFaultName("cannotCompleteOrder");
faultHandler.setFaultVariable("POFault");
BPELReply reply = new BPELReply();
+ reply.setId(++nodeId);
reply.setPartnerLink("purchasing");
reply.setPortType("lns:purchaseOrderPT");
reply.setOperation("sendPurchaseOrder");
@@ -91,11 +93,13 @@
// sequence
BPELSequence sequence = new BPELSequence();
+ sequence.setId(++nodeId);
sequence.setName("sequence");
List<BPELActivity> sequenceActivities = new ArrayList<BPELActivity>();
// Receive purchase order
BPELReceive receive = new BPELReceive();
+ receive.setId(++nodeId);
receive.setName("Receive Purchase Order");
receive.setPartnerLink("purchasing");
receive.setPortType("lns:purchaseOrderPT");
@@ -106,23 +110,27 @@
// flow
BPELFlow flow = new BPELFlow();
+ flow.setId(++nodeId);
flow.setName("flow");
flow.setLinks(new String[] { "ship-to-invoice", "ship-to-scheduling" });
List<BPELActivity> flowActivities = new ArrayList<BPELActivity>();
/********** sequence1 **********/
BPELSequence sequence1 = new BPELSequence();
+ sequence1.setId(++nodeId);
sequence1.setName("sequence1");
List<BPELActivity> sequence1Activities = new ArrayList<BPELActivity>();
// assign1
BPELAssign assign1 = new BPELAssign();
+ assign1.setId(++nodeId);
// $shippingRequest.customerInfo <- $PO.customerInfo
assign1.setAction("");
sequence1Activities.add(assign1);
// invoke1
BPELInvoke invoke1 = new BPELInvoke();
+ invoke1.setId(++nodeId);
invoke1.setName("Decide On Shipper");
invoke1.setPartnerLink("shipping");
invoke1.setPortType("lns:shippingPT");
@@ -134,6 +142,7 @@
// receive1
BPELReceive receive1 = new BPELReceive();
+ receive1.setId(++nodeId);
receive1.setName("Arrange Logistics");
receive1.setPartnerLink("shipping");
receive1.setPortType("lns:shippingCallbackPT");
@@ -148,11 +157,13 @@
/********** sequence2 **********/
BPELSequence sequence2 = new BPELSequence();
+ sequence2.setId(++nodeId);
sequence2.setName("sequence2");
List<BPELActivity> sequence2Activities = new ArrayList<BPELActivity>();
// invoke2a
BPELInvoke invoke2a = new BPELInvoke();
+ invoke2a.setId(++nodeId);
invoke2a.setName("Initial Price Calculation");
invoke2a.setPartnerLink("invoicing");
invoke2a.setPortType("lns:computePricePT");
@@ -162,6 +173,7 @@
// invoke2b
BPELInvoke invoke2b = new BPELInvoke();
+ invoke2b.setId(++nodeId);
invoke2b.setName("Complete Price Calculation");
invoke2b.setPartnerLink("invoicing");
invoke2b.setPortType("lns:computePricePT");
@@ -172,6 +184,7 @@
// receive2
BPELReceive receive2 = new BPELReceive();
+ receive2.setId(++nodeId);
receive2.setName("Receive Invoice");
receive2.setPartnerLink("invoicing");
receive2.setPortType("lns:invoiceCallbackPT");
@@ -185,11 +198,13 @@
/********** sequence3 **********/
BPELSequence sequence3 = new BPELSequence();
+ sequence3.setId(++nodeId);
sequence3.setName("sequence3");
List<BPELActivity> sequence3Activities = new ArrayList<BPELActivity>();
// invoke3a
BPELInvoke invoke3a = new BPELInvoke();
+ invoke3a.setId(++nodeId);
invoke3a.setName("Initiate Production Scheduling");
invoke3a.setPartnerLink("scheduling");
invoke3a.setPortType("lns:schedulingPT");
@@ -199,6 +214,7 @@
// invoke2b
BPELInvoke invoke3b = new BPELInvoke();
+ invoke3b.setId(++nodeId);
invoke3b.setName("Complete Production Scheduling");
invoke3b.setPartnerLink("scheduling");
invoke3b.setPortType("lns:schedulingPT");
@@ -215,6 +231,7 @@
// reply
reply = new BPELReply();
+ reply.setId(++nodeId);
reply.setName("Invoice Processing");
reply.setPartnerLink("purchasing");
reply.setPortType("lns:purchaseOrderPT");
@@ -368,6 +385,8 @@
System.out.println("Web service invoked "
+ workItem.getParameter("PartnerLink") + " "
+ workItem.getParameter("PortType") + " "
+ + (workItem.getParameter("FaultName") == null ? ""
+ : "fault=" + workItem.getParameter("FaultName"))
+ workItem.getParameter("Operation") + ", message = "
+ workItem.getParameter("Message"));
}
@@ -376,6 +395,8 @@
System.out.println("Web service invocation aborted "
+ workItem.getParameter("PartnerLink") + " "
+ workItem.getParameter("PortType") + " "
+ + (workItem.getParameter("FaultName") == null ? ""
+ : workItem.getParameter("FaultName"))
+ workItem.getParameter("Operation") + ", message = "
+ workItem.getParameter("Message"));
}
Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/WorkingMemoryLoggerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/WorkingMemoryLoggerTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/WorkingMemoryLoggerTest.java 2008-05-08 12:06:02 UTC (rev 19903)
@@ -0,0 +1,34 @@
+package org.drools.integrationtests;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import junit.framework.TestCase;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
+import org.drools.audit.WorkingMemoryFileLogger;
+import org.drools.compiler.PackageBuilder;
+
+public class WorkingMemoryLoggerTest extends TestCase {
+
+ private static final Reader DRL = new InputStreamReader(
+ WorkingMemoryLoggerTest.class.getResourceAsStream("empty.drl"));
+
+ private static final String LOG = "session";
+ public void testOutOfMemory() throws Exception {
+ PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl(DRL);
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage(builder.getPackage());
+ for (int i = 0; i < 10000; i++) {
+ System.out.println(i);
+ StatefulSession session = ruleBase.newStatefulSession();
+ WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(session);
+ session.fireAllRules();
+ session.dispose();
+ }
+ }
+
+}
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/empty.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/empty.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/empty.drl 2008-05-08 12:06:02 UTC (rev 19903)
@@ -0,0 +1,6 @@
+package com.sample
+
+rule "EmptyRule"
+ when
+ then
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list