JBoss JBPM SVN: r6101 - in jbpm4/trunk/modules: jpdl/src/main/java/org/jbpm/jpdl/internal/activity and 3 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2010-01-20 05:51:17 -0500 (Wed, 20 Jan 2010)
New Revision: 6101
Added:
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java
Modified:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskActivity.java
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
Log:
JBPM-2749 fixing problem with tasks swimlane and join combination
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskActivity.java 2010-01-20 10:21:31 UTC (rev 6100)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskActivity.java 2010-01-20 10:51:17 UTC (rev 6101)
@@ -102,7 +102,9 @@
DbSession taskDbSession = EnvironmentImpl.getFromCurrent(DbSession.class);
TaskImpl task = (TaskImpl) taskDbSession.findTaskByExecution(execution);
- task.setSignalling(false);
+ if (task!=null) {
+ task.setSignalling(false);
+ }
execution.setVariable("jbpm_outcome", signalName);
proceed(execution, findOutgoingSequenceFlow(execution, CONDITIONS_CHECKED));
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java 2010-01-20 10:21:31 UTC (rev 6100)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/TaskActivity.java 2010-01-20 10:51:17 UTC (rev 6101)
@@ -114,7 +114,9 @@
DbSession taskDbSession = EnvironmentImpl .getFromCurrent(DbSession.class);
TaskImpl task = (TaskImpl) taskDbSession.findTaskByExecution(execution);
- task.setSignalling(false);
+ if (task!=null) {
+ task.setSignalling(false);
+ }
Transition transition = null;
List<Transition> outgoingTransitions = activity.getOutgoingTransitions();
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java 2010-01-20 10:21:31 UTC (rev 6100)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cmd/CompleteTaskCmd.java 2010-01-20 10:51:17 UTC (rev 6101)
@@ -66,7 +66,6 @@
} else {
task.complete();
}
- dbSession.delete(task);
return null;
}
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java 2010-01-20 10:21:31 UTC (rev 6100)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/task/TaskImpl.java 2010-01-20 10:51:17 UTC (rev 6101)
@@ -189,6 +189,11 @@
public void complete(String outcome) {
historyTaskComplete(outcome);
+ DbSession dbSession = EnvironmentImpl.getFromCurrent(DbSession.class, false);
+ if (dbSession!=null){
+ dbSession.delete(this);
+ }
+
if (isSignalling()) {
ClientExecution execution = (ClientExecution) getExecution();
execution.signal(outcome);
Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java 2010-01-20 10:51:17 UTC (rev 6101)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.test.activity.task;
+
+import java.util.List;
+
+import org.jbpm.api.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+/**
+ * @author Tom Baeyens
+ */
+public class TaskSwimlaneTest extends JbpmTestCase {
+
+ public void testSwimlaneTaskEnd() {
+ deployJpdlXmlString(
+ "<process name='TaskSwimlane'> " +
+ " <swimlane name='sales representative' assignee='johndoe' />" +
+ " <start>" +
+ " <transition to='enter order data' />" +
+ " </start>" +
+ " <task name='enter order data'" +
+ " swimlane='sales representative'>" +
+ " <transition to='end'/>" +
+ " </task>" +
+ " <end name='end' />" +
+ "</process>"
+ );
+
+ executionService.startProcessInstanceByKey("TaskSwimlane");
+
+ List<Task> tasks = taskService.findPersonalTasks("johndoe");
+ assertEquals(1, tasks.size());
+ Task task = tasks.get(0);
+ taskService.completeTask(task.getId());
+
+ assertEquals(0, executionService.createProcessInstanceQuery().count());
+ assertEquals(0, taskService.createTaskQuery().count());
+ }
+
+ public void testConcurrentSwimlaneTaskEnd() {
+ deployJpdlXmlString(
+ "<process name='TaskConcurrentSwimlane'> " +
+ " <swimlane name='sales representative' assignee='johndoe' />" +
+ " <start>" +
+ " <transition to='fork' />" +
+ " </start>" +
+ " <fork name='fork'>" +
+ " <transition to='enter order data' />" +
+ " <transition to='sign contract' />" +
+ " </fork>" +
+ " <task name='enter order data'" +
+ " swimlane='sales representative'>" +
+ " <transition to='join'/>" +
+ " </task>" +
+ " <task name='sign contract'" +
+ " swimlane='sales representative'>" +
+ " <transition to='join'/>" +
+ " </task>" +
+ " <join name='join'>" +
+ " <transition to='end' />" +
+ " </join>" +
+ " <end name='end' />" +
+ "</process>"
+ );
+
+ executionService.startProcessInstanceByKey("TaskConcurrentSwimlane");
+
+ List<Task> tasks = taskService.findPersonalTasks("johndoe");
+ assertEquals(2, tasks.size());
+ taskService.completeTask(tasks.get(0).getId());
+ taskService.completeTask(tasks.get(1).getId());
+
+ assertEquals(0, executionService.createProcessInstanceQuery().count());
+ assertEquals(0, taskService.createTaskQuery().count());
+ }
+}
Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 2 months
JBoss JBPM SVN: r6100 - in jbpm4/trunk/modules: pvm/src/main/java/org/jbpm/pvm/internal/job and 2 other directories.
by do-not-reply@jboss.org
Author: kukeltje
Date: 2010-01-20 05:21:31 -0500 (Wed, 20 Jan 2010)
New Revision: 6100
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendar.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendarImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/timer/TimerTest.java
Log:
JBPM-2745 Fix for code, documentation follows
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendar.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendar.java 2010-01-20 08:16:39 UTC (rev 6099)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendar.java 2010-01-20 10:21:31 UTC (rev 6100)
@@ -25,9 +25,11 @@
/**
* @author Tom Baeyens
+ * @author Ronald Van Kuijk
*/
public interface BusinessCalendar {
Date add(Date date, String duration);
+ Date subtract(Date date, String duration);
}
\ No newline at end of file
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendarImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendarImpl.java 2010-01-20 08:16:39 UTC (rev 6099)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/cal/BusinessCalendarImpl.java 2010-01-20 10:21:31 UTC (rev 6100)
@@ -27,6 +27,8 @@
import java.util.GregorianCalendar;
import java.util.TimeZone;
+import org.jbpm.api.JbpmException;
+
/**
* a calendar that knows about business hours.
*/
@@ -71,7 +73,25 @@
public Date add(Date date, String duration) {
return add(date, new Duration(duration));
}
+
+ public Date subtract(Date date, String duration) {
+ if (duration.contains("business")) {
+ throw new JbpmException("Duedate subtraction not supported for business durations");
+ }
+ return subtract(date, new Duration(duration));
+ }
+ public Date subtract(Date date, Duration duration) {
+ Date end = null;
+ long millis = convertToMillis(duration);
+ end = new Date(date.getTime()-millis);
+ if (end.before(new Date())) {
+ throw new JbpmException("Duedate "+ end+ " in the past");
+ }
+ return end;
+ }
+
+
public Date add(Date date, Duration duration) {
Date end = null;
if (duration.isBusinessTime()) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java 2010-01-20 08:16:39 UTC (rev 6099)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java 2010-01-20 10:21:31 UTC (rev 6100)
@@ -22,6 +22,7 @@
package org.jbpm.pvm.internal.job;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import org.jbpm.api.JbpmException;
@@ -48,6 +49,7 @@
* @author Tom Baeyens
* @author Pascal Verdage
* @author Alejandro Guizar
+ * @author Ronald Van Kuijk
*/
public class TimerImpl extends JobImpl<Boolean> implements Timer {
@@ -71,12 +73,59 @@
timerSession.schedule(this);
}
- public void setDueDateDescription(String dueDateDescription) {
- ScriptManager scriptManager = ScriptManager.getScriptManager();
- dueDateDescription = (String) scriptManager.evaluateExpression(dueDateDescription, null);
- Date now = Clock.getCurrentTime();
- BusinessCalendar businessCalendar = EnvironmentImpl.getFromCurrent(BusinessCalendar.class);
- duedate = businessCalendar.add(now, dueDateDescription);
+ public void setDueDateDescription(String dueDateDescription) {
+
+ ScriptManager scriptManager = ScriptManager.getScriptManager();
+
+ Date baseDate;
+ String durationString = null;
+ char durationSeparator = '+'; // needs to be initialized
+
+ if (dueDateDescription.startsWith("#")) {
+
+ String baseDateEL = dueDateDescription.substring(0, dueDateDescription.indexOf("}") + 1);
+ Object result = scriptManager.evaluateExpression(baseDateEL, null);
+
+ if (result instanceof Date) {
+ baseDate = (Date)result;
+ }
+ else if (result instanceof Calendar) {
+ baseDate = ((Calendar)result).getTime();
+ } else {
+ throw new JbpmException("Invalid basedate type: " + baseDateEL + " is of type " + result.getClass().getName()
+ + ". Only Date and Calendar are supported");
+ }
+
+ int endOfELIndex = dueDateDescription.indexOf("}");
+ if (endOfELIndex < (dueDateDescription.length() - 1)) {
+ durationSeparator = dueDateDescription.substring(endOfELIndex + 1).trim().charAt(0);
+ if (durationSeparator != '+' && durationSeparator != '-') {
+ throw new JbpmException("Invalid duedate, + or - missing after EL");
+ }
+ durationString = dueDateDescription.substring(endOfELIndex + 1).substring(2).trim();
+ log.debug("durationString: " + durationString);
+ }
+
+ } else {
+
+ baseDate = Clock.getCurrentTime();
+ durationString = dueDateDescription;
+
+ }
+
+ if (durationString == null || durationString.length() == 0) {
+ duedate = baseDate;
+ } else {
+ if (durationString.contains("business") && durationSeparator == '-') {
+ throw new JbpmException("Invalid duedate, subtraction ('-') not supported if duedate contains 'business'");
+ }
+ BusinessCalendar businessCalendar = EnvironmentImpl.getFromCurrent(BusinessCalendar.class);
+ if (durationSeparator == '+') {
+ duedate = businessCalendar.add(baseDate, durationString);
+ } else {
+ duedate = businessCalendar.subtract(baseDate, durationString);
+ }
+ }
}
public Boolean execute(Environment environment) throws Exception {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2010-01-20 08:16:39 UTC (rev 6099)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2010-01-20 10:21:31 UTC (rev 6100)
@@ -793,6 +793,12 @@
UserCodeReference assignmentHandlerReference = assignableDefinition.getAssignmentHandlerReference();
if (assignmentHandlerReference!=null) {
+
+ // JBPM-2758
+ // TODO Find out why processdefinition is null in at this time....
+ if (processDefinition == null) {
+ processDefinition = getProcessDefinition();
+ }
AssignmentHandler assignmentHandler = (AssignmentHandler) assignmentHandlerReference.getObject(processDefinition);
if (assignmentHandler!=null) {
try {
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/timer/TimerTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/timer/TimerTest.java 2010-01-20 08:16:39 UTC (rev 6099)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/timer/TimerTest.java 2010-01-20 10:21:31 UTC (rev 6100)
@@ -22,6 +22,8 @@
package org.jbpm.test.timer;
import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
import java.util.Map;
import org.jbpm.api.Execution;
@@ -123,6 +125,268 @@
assertEquals(currentYear + 10, jobDate.get(Calendar.YEAR));
}
+ public void testTimerELDate() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var}' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.add(Calendar.DAY_OF_MONTH, 6);
+ proc_vars.put("proc_var", cal.getTime());
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+
+ Job job = managementService.createJobQuery()
+ .processInstanceId(processInstance.getId())
+ .uniqueResult();
+
+ Calendar jobDate = Calendar.getInstance();
+ jobDate.setTime(job.getDuedate());
+
+ assertEquals(cal.get(Calendar.DAY_OF_MONTH), jobDate.get(Calendar.DAY_OF_MONTH));
+
+ managementService.executeJob(job.getId());
+ assertProcessInstanceEnded(processInstance);
+ }
+
+ public void testTimerELCalendar() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var}' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.add(Calendar.DAY_OF_MONTH, 6);
+ proc_vars.put("proc_var", cal);
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+
+ Job job = managementService.createJobQuery()
+ .processInstanceId(processInstance.getId())
+ .uniqueResult();
+
+ Calendar jobDate = Calendar.getInstance();
+ jobDate.setTime(job.getDuedate());
+
+ assertEquals(cal.get(Calendar.DAY_OF_MONTH), jobDate.get(Calendar.DAY_OF_MONTH));
+
+ managementService.executeJob(job.getId());
+ assertProcessInstanceEnded(processInstance);
+ }
+
+ public void testTimerELCalendarAdd() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var} + 5 days' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.add(Calendar.DAY_OF_MONTH, 6);
+ proc_vars.put("proc_var", cal);
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+
+ Job job = managementService.createJobQuery()
+ .processInstanceId(processInstance.getId())
+ .uniqueResult();
+
+ Calendar jobDate = Calendar.getInstance();
+ jobDate.setTime(job.getDuedate());
+
+ assertEquals(cal.get(Calendar.DAY_OF_MONTH) + 5 , jobDate.get(Calendar.DAY_OF_MONTH));
+
+ managementService.executeJob(job.getId());
+ assertProcessInstanceEnded(processInstance);
+ }
+
+ public void testTimerELCalendarSubtract() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var} - 5 days' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.add(Calendar.DAY_OF_MONTH, 6);
+ proc_vars.put("proc_var", cal);
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+
+ Job job = managementService.createJobQuery()
+ .processInstanceId(processInstance.getId())
+ .uniqueResult();
+
+ Calendar jobDate = Calendar.getInstance();
+ jobDate.setTime(job.getDuedate());
+
+ // 6 days from now minus 5 days is tomorrow so subtract 5 from the original added 6.
+ assertEquals(cal.get(Calendar.DAY_OF_MONTH) -5 , jobDate.get(Calendar.DAY_OF_MONTH));
+
+ managementService.executeJob(job.getId());
+ assertProcessInstanceEnded(processInstance);
+ }
+
+
+ public void testTimerELCalendarAddBusiness() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var} + 5 business days' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.set(2010, 01, 12, 12, 00, 00); // 12 feb 2010 noon
+ proc_vars.put("proc_var", cal);
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+
+ Job job = managementService.createJobQuery()
+ .processInstanceId(processInstance.getId())
+ .uniqueResult();
+
+ Calendar jobDate = Calendar.getInstance();
+ jobDate.setTime(job.getDuedate());
+
+ // 12 feb is friday, 5 businessdays further is friday 19th
+ assertEquals(19 , jobDate.get(Calendar.DAY_OF_MONTH));
+
+ managementService.executeJob(job.getId());
+ assertProcessInstanceEnded(processInstance);
+ }
+
+ public void testTimerELFail() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var}' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ proc_vars.put("proc_var", new Long(0));
+ try {
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+ fail("Should not happen, exception expected");
+ } catch (Exception e) {}
+ }
+
+ public void testTimerELSubtractBusinessFail() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var} - 6 business days' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.set(2010, 01, 12, 12, 00, 00); // 12 feb 2010 noon
+ proc_vars.put("proc_var", cal);
+ try {
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+ fail("Should not happen, exception expected");
+ } catch (Exception e) {}
+ }
+
+ public void testTimerELSubtractPastFail() {
+ deployJpdlXmlString(
+ "<process name='Insurance claim' key='ICL'>" +
+ " <start>" +
+ " <transition to='a' />" +
+ " </start>" +
+ " <state name='a'>" +
+ " <transition to='b' />" +
+ " <transition name='timeout' to='escalate'>" +
+ " <timer duedate='#{proc_var} - 3 days' />" +
+ " </transition>" +
+ " </state>" +
+ " <state name='b' />" +
+ " <end name='escalate' />" +
+ "</process>"
+ );
+
+ Map<String, Object> proc_vars = new HashMap<String, Object>();
+ Calendar cal = Calendar.getInstance();
+ cal.add(Calendar.DAY_OF_MONTH, 2);
+ proc_vars.put("proc_var", cal);
+ try {
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL", proc_vars, "82436");
+ fail("Should not happen, exception expected");
+ } catch (Exception e) {}
+}
+
public void testTimerTimeoutCustom() {
deployJpdlXmlString(TEST_PROCESS_CUSTOM);
16 years, 2 months
JBoss JBPM SVN: r6099 - jbpm4/trunk/qa.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2010-01-20 03:16:39 -0500 (Wed, 20 Jan 2010)
New Revision: 6099
Modified:
jbpm4/trunk/qa/build.xml
Log:
JBPM-2714 added schema drop in the setup for hudson upgrade job
Modified: jbpm4/trunk/qa/build.xml
===================================================================
--- jbpm4/trunk/qa/build.xml 2010-01-20 02:29:42 UTC (rev 6098)
+++ jbpm4/trunk/qa/build.xml 2010-01-20 08:16:39 UTC (rev 6099)
@@ -28,6 +28,9 @@
<property name="jbpm.distro.dir" value="../modules/distro/target" />
<property name="jbpm.distro.path" value="${jbpm.distro.dir}/jbpm-${jbpm.version}.zip" />
+ <condition property="is.hsqldb">
+ <equals arg1="${database}" arg2="hsqldb" />
+ </condition>
<condition property="is.oracle">
<equals arg1="${database}" arg2="oracle" />
</condition>
@@ -260,8 +263,9 @@
<delete file="upgrade/target/jbpm-test-upgrade/hibernate.properties" />
<ant antfile="${jbpm.home}/install/build.xml" target="install.hsqldb.server" />
- <ant antfile="${jbpm.home}/install/build.xml" target="start.hsqldb.server" />
-
+ <antcall target="start.hsqldb" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="drop.jbpm.schema" />
+
<!-- create jbpm schema using the old jbpm distro -->
<condition property="is.old.jbpm.40">
<equals arg1="${old.jbpm.version}" arg2="4.0" />
@@ -302,39 +306,13 @@
</target>
- <!--
- <condition property="is.hsqldb">
- <equals arg1="${database}" arg2="hsqldb" />
- </condition>
<target name="start.hsqldb" if="is.hsqldb">
- <delete dir="upgrade/target/hsqldb" />
- <mkdir dir="upgrade/target/hsqldb" />
- <java classname="org.hsqldb.Server" dir="upgrade/target/hsqldb" fork="true">
- <arg line="-address localhost -port 1701 -dbname.0 jbpmDatabase" />
- <classpath>
- <fileset dir="upgrade/target">
- <include name="hsqldb.jar"/>
- </fileset>
- </classpath>
- </java>
+ <ant antfile="${jbpm.home}/install/build.xml" target="start.hsqldb.server" />
</target>
<target name="stop.hsqldb" if="is.hsqldb">
- <property file="upgrade/target/jdbc/${database}.properties" />
- <path id="hsqldb.classpath">
- <fileset dir="upgrade/target">
- <include name="hsqldb.jar"/>
- </fileset>
- </path>
- <sql driver="${jdbc.driver}"
- password="${jdbc.password}"
- url="${jdbc.url}"
- userid="${jdbc.username}"
- onerror="continue"
- autocommit="true"
- classpathref="hsqldb.classpath">SHUTDOWN</sql>
+ <ant antfile="${jbpm.home}/install/build.xml" target="stop.hsqldb.server" />
</target>
- -->
<target name="create.jbpm.schema.in.jbpm.40" if="is.old.jbpm.40">
<echo message="creating schema in jbpm 4.0" />
@@ -346,6 +324,9 @@
<replacetoken><![CDATA[<import resource="jbpm.businesscalendar.cfg.xml" />]]></replacetoken>
<replacevalue></replacevalue>
</replace>
+ <ant antfile="${old.jbpm.home}/db/build.xml" target="drop.jbpm.schema" inheritall="false">
+ <property name="database" value="${database}" />
+ </ant>
<ant antfile="${old.jbpm.home}/db/build.xml" target="create.jbpm.schema" inheritall="false">
<property name="database" value="${database}" />
</ant>
@@ -362,6 +343,9 @@
<copy todir="${old.jbpm.home}/install/jdbc">
<fileset dir="upgrade/target/jdbc" />
</copy>
+ <ant antfile="${old.jbpm.home}/install/build.xml" target="drop.jbpm.schema" inheritall="false">
+ <property name="database" value="${database}" />
+ </ant>
<ant antfile="${old.jbpm.home}/install/build.xml" target="create.jbpm.schema" inheritall="false">
<property name="database" value="${database}" />
</ant>
@@ -374,7 +358,7 @@
<target name="testsuite.upgrade.teardown">
<ant antfile="${jbpm.home}/install/build.xml" target="drop.jbpm.schema" inheritall="false" />
- <ant antfile="${jbpm.home}/install/build.xml" target="stop.hsqldb.server" />
+ <antcall target="stop.hsqldb" />
</target>
16 years, 2 months
JBoss JBPM SVN: r6098 - projects/jsf-console/branches/jsf-console-3.2-soa and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2010-01-19 21:29:42 -0500 (Tue, 19 Jan 2010)
New Revision: 6098
Modified:
jbpm3/branches/jbpm-3.2-soa/pom.xml
projects/jsf-console/branches/jsf-console-3.2-soa/pom.xml
Log:
JBPM-1449: bump sun.facelets.version to 1.1.15
Modified: jbpm3/branches/jbpm-3.2-soa/pom.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/pom.xml 2010-01-20 00:35:58 UTC (rev 6097)
+++ jbpm3/branches/jbpm-3.2-soa/pom.xml 2010-01-20 02:29:42 UTC (rev 6098)
@@ -67,7 +67,7 @@
<junit.version>3.8.1</junit.version>
<mvel.version>1.3.1-java1.4</mvel.version>
<richfaces.ui.version>3.2.1.GA</richfaces.ui.version>
- <sun.facelets.version>1.1.14</sun.facelets.version>
+ <sun.facelets.version>1.1.15</sun.facelets.version>
<xerces.version>2.6.2</xerces.version>
<!-- Database Driver Versions -->
Modified: projects/jsf-console/branches/jsf-console-3.2-soa/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/pom.xml 2010-01-20 00:35:58 UTC (rev 6097)
+++ projects/jsf-console/branches/jsf-console-3.2-soa/pom.xml 2010-01-20 02:29:42 UTC (rev 6098)
@@ -43,7 +43,7 @@
<jbpm.version>3.2.8</jbpm.version>
<jboss.gravel.version>1.0.0.GA</jboss.gravel.version>
<junit.version>3.8.1</junit.version>
- <sun.facelets.version>1.1.15.B1</sun.facelets.version>
+ <sun.facelets.version>1.1.15</sun.facelets.version>
</properties>
<!-- DependencyManagement -->
16 years, 2 months
JBoss JBPM SVN: r6097 - in jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm: util and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2010-01-19 19:35:58 -0500 (Tue, 19 Jan 2010)
New Revision: 6097
Modified:
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/file/def/FileDefinition.java
jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/CustomLoaderObjectInputStream.java
Log:
improve a couple naughty uses of Arrays.asList
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/file/def/FileDefinition.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/file/def/FileDefinition.java 2010-01-19 17:14:51 UTC (rev 6096)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/file/def/FileDefinition.java 2010-01-20 00:35:58 UTC (rev 6097)
@@ -28,11 +28,9 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
@@ -256,26 +254,24 @@
}
String findNewDirName() {
- String newDirName = "files-1";
+ String dirName = "files-1";
File parentFile = new File(getRootDir());
- if (parentFile.exists()) {
+ if (parentFile.isDirectory()) {
// get the current contents of the directory
- String[] children = parentFile.list();
- List fileNames = new ArrayList();
- if (children != null) {
- fileNames = new ArrayList(Arrays.asList(children));
- }
+ String[] fileNames = parentFile.list();
+ Arrays.sort(fileNames);
// find an unused name for the directory to be created
- int seqNr = 1;
- while (fileNames.contains(newDirName)) {
- seqNr++;
- newDirName = "files-" + seqNr;
+ StringBuffer nameBuilder = new StringBuffer("files-");
+ for (int seqNr = 2; Arrays.binarySearch(fileNames, dirName) >= 0; seqNr++) {
+ dirName = nameBuilder.append(seqNr).toString();
+ // remove appended number
+ nameBuilder.setLength(6);
}
}
- return newDirName;
+ return dirName;
}
File getFilePath(String name) {
Modified: jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/CustomLoaderObjectInputStream.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/CustomLoaderObjectInputStream.java 2010-01-19 17:14:51 UTC (rev 6096)
+++ jbpm3/branches/jbpm-3.2-soa/modules/core/src/main/java/org/jbpm/util/CustomLoaderObjectInputStream.java 2010-01-20 00:35:58 UTC (rev 6097)
@@ -27,7 +27,6 @@
import java.io.ObjectStreamClass;
import java.lang.reflect.Modifier;
import java.lang.reflect.Proxy;
-import java.util.Arrays;
/**
* Specialized object input stream that allows classes to be fetched through a
@@ -123,7 +122,7 @@
}
catch (IllegalArgumentException iae) {
throw new ClassNotFoundException("could not get proxy class for interfaces: "
- + Arrays.asList(classes), e);
+ + ArrayUtil.toString(classes), e);
}
}
}
16 years, 2 months
JBoss JBPM SVN: r6096 - in jbpm4/trunk/modules: pvm/src/main/java/org/jbpm/pvm/internal/id and 1 other directory.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2010-01-19 12:14:51 -0500 (Tue, 19 Jan 2010)
New Revision: 6096
Modified:
jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java
jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/JbpmVersion.java
jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/Upgrade.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/id/PropertyImpl.java
Log:
JBPM-2714 fixing upgrade
Modified: jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java
===================================================================
--- jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java 2010-01-19 15:47:58 UTC (rev 6095)
+++ jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/DbHelper.java 2010-01-19 17:14:51 UTC (rev 6096)
@@ -25,7 +25,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.hibernate.classic.Session;
+import org.hibernate.Session;
import org.jbpm.api.JbpmException;
import org.jbpm.internal.log.Jdk14LogFactory;
import org.jbpm.internal.log.Log;
@@ -47,7 +47,7 @@
log.info("where database is one of {oracle, postgresql, mysql, hsqldb}");
log.info("and delimiter is the db sql delimiter. default delimiter is ;");
}
-
+
public static void executeSqlResource(String resource, Session session) {
InputStream stream = Upgrade.class.getClassLoader().getResourceAsStream(resource);
if (stream == null) {
Modified: jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/JbpmVersion.java
===================================================================
--- jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/JbpmVersion.java 2010-01-19 15:47:58 UTC (rev 6095)
+++ jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/JbpmVersion.java 2010-01-19 17:14:51 UTC (rev 6096)
@@ -26,7 +26,7 @@
*/
public enum JbpmVersion {
- V_4_0, V_4_1, V_4_2, V_4_3;
+ V_4_0, V_4_1, V_4_2, V_4_3, V_4_4;
public String toString() {
return "4." + ordinal();
Modified: jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/Upgrade.java
===================================================================
--- jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/Upgrade.java 2010-01-19 15:47:58 UTC (rev 6095)
+++ jbpm4/trunk/modules/db/src/main/java/org/jbpm/db/Upgrade.java 2010-01-19 17:14:51 UTC (rev 6096)
@@ -24,7 +24,7 @@
import java.util.List;
import org.hibernate.HibernateException;
-import org.hibernate.classic.Session;
+import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.jbpm.api.JbpmException;
import org.jbpm.api.ProcessEngine;
@@ -47,6 +47,7 @@
private static Log log = Log.getLog(Upgrade.class.getName());
static String database;
+ static JbpmVersion jbpmVersion;
public static void main(String[] args) {
if ( (args==null)
@@ -63,72 +64,80 @@
.buildProcessEngine();
try {
- JbpmVersion jbpmVersion = (JbpmVersion) processEngine.execute(new Command<Object>(){
+ processEngine.execute(new Command<Object>(){
private static final long serialVersionUID = 1L;
public Object execute(Environment environment) throws Exception {
Session session = environment.get(Session.class);
if (!PropertyImpl.propertiesTableExists(session)) {
try {
session.createSQLQuery("select CLASSNAME_ from JBPM4_VARIABLE").list();
- return JbpmVersion.V_4_1;
+ jbpmVersion = JbpmVersion.V_4_1;
} catch (HibernateException e) {
- return JbpmVersion.V_4_0;
+ jbpmVersion = JbpmVersion.V_4_0;
}
+ } else {
+ String dbVersion = PropertyImpl.getDbVersion(session);
+ if (dbVersion == null) {
+ throw new JbpmException("property table exists, but no db version property is present");
+ }
+
+ jbpmVersion = JbpmVersion.getJbpmVersion(dbVersion);
}
-
- String dbVersion = PropertyImpl.getDbVersion(session);
- if (dbVersion == null) {
- throw new JbpmException("property table exists, but no db version property is present");
- }
-
- return JbpmVersion.getJbpmVersion(dbVersion);
+ return null;
}
});
- if (jbpmVersion == JbpmVersion.V_4_2) {
- throw new JbpmException("jBPM schema is already up to date");
- }
-
- if (jbpmVersion.isEarlier(JbpmVersion.V_4_1)) {
+ if (jbpmVersion == JbpmVersion.V_4_4) {
+ log.info("jBPM schema is already up to date");
+
+ } else {
processEngine.execute(new Command<Object>(){
private static final long serialVersionUID = 1L;
public Object execute(Environment environment) throws Exception {
Session session = environment.get(Session.class);
- DbHelper.executeSqlResource("upgrade-4.0-to-4.1/jbpm." + database + ".upgrade.sql", session);
+
+ log.info("upgrading from "+jbpmVersion+" to "+ProcessEngineImpl.JBPM_LIBRARY_VERSION);
+
+ if (jbpmVersion.isEarlier(JbpmVersion.V_4_1)) {
+ DbHelper.executeSqlResource("upgrade-4.0-to-4.1/jbpm." + database + ".upgrade.sql", session);
+ }
+
+ if (jbpmVersion.isEarlier(JbpmVersion.V_4_2)) {
+ boolean isFfirstPartUpgrade42Completed = PropertyImpl.isFirstPartUpgrade42Completed(session);
+ if (!isFfirstPartUpgrade42Completed) {
+ DbHelper.executeSqlResource("upgrade-4.1-to-4.2/jbpm." + database + ".upgrade.sql", session);
+ PropertyImpl.initializeNextDbid(session);
+ PropertyImpl.setDbVersionTo41(session);
+ }
+ }
return null;
}
});
- }
- if (jbpmVersion.isEarlier(JbpmVersion.V_4_2)) {
processEngine.execute(new Command<Object>(){
private static final long serialVersionUID = 1L;
public Object execute(Environment environment) throws Exception {
Session session = environment.get(Session.class);
- DbHelper.executeSqlResource("upgrade-4.1-to-4.2/jbpm." + database + ".upgrade.sql", session);
- PropertyImpl.upgradeProperties(session);
- return null;
- }
- });
- processEngine.execute(new Command<Object>(){
- private static final long serialVersionUID = 1L;
- public Object execute(Environment environment) throws Exception {
- Session session = environment.get(Session.class);
- // find deployments without a langid property
- List<DeploymentProperty> deploymentProperties = session.createCriteria(DeploymentProperty.class)
- .add(Restrictions.eq("key", DeploymentImpl.KEY_PROCESS_DEFINITION_ID))
- .list();
-
- for (DeploymentProperty deploymentProperty : deploymentProperties) {
- String objectName = deploymentProperty.getObjectName();
- DeploymentImpl deployment = deploymentProperty.getDeployment();
- deployment.setProcessLanguageId(objectName, "jpdl-4.0");
+
+ if (jbpmVersion.isEarlier(JbpmVersion.V_4_2)) {
+ // find deployments without a langid property
+ List<DeploymentProperty> deploymentProperties = session.createCriteria(DeploymentProperty.class)
+ .add(Restrictions.eq("key", DeploymentImpl.KEY_PROCESS_DEFINITION_ID))
+ .list();
+
+ for (DeploymentProperty deploymentProperty : deploymentProperties) {
+ String objectName = deploymentProperty.getObjectName();
+ DeploymentImpl deployment = deploymentProperty.getDeployment();
+ deployment.setProcessLanguageId(objectName, "jpdl-4.0");
+ }
}
+
+ PropertyImpl.setDbVersionToLibraryVersion(session);
return null;
}
});
- }
+ }
log.info("jBPM DB upgrade completed successfully.");
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/id/PropertyImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/id/PropertyImpl.java 2010-01-19 15:47:58 UTC (rev 6095)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/id/PropertyImpl.java 2010-01-19 17:14:51 UTC (rev 6096)
@@ -102,13 +102,12 @@
setNextDbid(session, 1);
}
- public static void upgradeProperties(Session session) {
- setDbVersionToLibraryVersion(session);
+ public static void initializeNextDbid(Session session) {
long nextDbid = getMaxDbid(session)+1;
setNextDbid(session, nextDbid);
log.info("nextDbid is initialized to "+nextDbid);
}
-
+
public static boolean propertiesTableExists(Session session) {
try {
session.createQuery("from "+PropertyImpl.class.getName())
@@ -186,7 +185,21 @@
.add(Restrictions.eq("key", key))
.uniqueResult();
}
-
+
+ public static boolean isFirstPartUpgrade42Completed(Session session) {
+ try {
+ getProperty(session, DB_VERSION_KEY);
+ return true;
+ } catch (Exception e) {
+ // ok, this means the properties table exists
+ }
+ return false;
+ }
+
+ public static void setDbVersionTo41(Session session) {
+ setPropertyValue(session, DB_VERSION_KEY, "4.1");
+ }
+
// getters and setters //////////////////////////////////////////////////////
public String getKey() {
16 years, 2 months
JBoss JBPM SVN: r6095 - in jbpm4/trunk/modules: bpmn/src/main/java/org/jbpm/bpmn/parser and 2 other directories.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2010-01-19 10:47:58 -0500 (Tue, 19 Jan 2010)
New Revision: 6095
Added:
jbpm4/trunk/modules/devguide/src/main/docbook/en/images/bpmn2.conditional.sequence.flow.png
Modified:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java
jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch03-Bpmn2.xml
Log:
JBPM-2756: allow default/conditional sequence flow on task/activities
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -54,8 +54,6 @@
protected String gatewayDirection;
protected boolean valid = true;
- protected String default_;
-
static ObjectBinding objectBinding = new ObjectBinding();
static WireParser wireParser = WireParser.getInstance();
@@ -71,14 +69,11 @@
resetMemberFields();
+ super.parse(element, parse);
+
id = element.getAttribute("id");
name = element.getAttribute("name");
- this.default_ = null;
- if (element.hasAttribute("default")) {
- default_ = element.getAttribute("default");
- }
-
// 'gatewayDirection' is a constraint on any gateway type.
// Since this is an optional attribute, we can't rely on it at runtime.
// As such, it is only used at parsing time to check if the constraints are met.
@@ -137,7 +132,7 @@
}
/**
- * For some gateway types (exclusive/inclusive), conditions are required on every outgoing
+ * For some gateway types (eg. exclusive), conditions are required on every outgoing
* sequence flow. This operation will check if all sequence flow (excluding the default
* sequence flow) have such a condition defined.
*
@@ -168,11 +163,11 @@
}
- if (default_ != null && !defaultExists) {
- parse.addProblem("exclusiveGateway '" + name + "' default sequenceFlow '" + default_
- + "' does not exist or is not related to this node", element);
- valid = false;
- }
+ if (default_ != null && !defaultExists) {
+ parse.addProblem("exclusiveGateway '" + name + "' default sequenceFlow '" + default_
+ + "' does not exist or is not related to this node", element);
+ valid = false;
+ }
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -28,7 +28,10 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
- return new ManualTaskActivity();
+ super.parse(element, parse);
+ ManualTaskActivity manualTaskActivity = new ManualTaskActivity();
+ manualTaskActivity.setDefault(getDefault());
+ return manualTaskActivity;
}
protected void addActivityResources(TaskDefinitionImpl taskDefinition, BpmnActivity taskActivity, Element element, Parse parse) {
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -27,12 +27,12 @@
import java.util.Map;
import org.jbpm.api.Execution;
+import org.jbpm.api.JbpmException;
import org.jbpm.api.activity.ActivityBehaviour;
import org.jbpm.internal.log.Log;
import org.jbpm.pvm.internal.model.Activity;
import org.jbpm.pvm.internal.model.Condition;
import org.jbpm.pvm.internal.model.ExecutionImpl;
-import org.jbpm.pvm.internal.model.ExpressionCondition;
import org.jbpm.pvm.internal.model.Transition;
/**
@@ -44,7 +44,7 @@
*/
public abstract class BpmnActivity implements ActivityBehaviour {
- private static final Log log = Log.getLog(BpmnActivity.class.getName());
+ private static final Log LOG = Log.getLog(BpmnActivity.class.getName());
private static final long serialVersionUID = 1L;
@@ -60,16 +60,16 @@
* Code initially based on the JPDL fork logic.
*/
protected void proceed(ExecutionImpl execution, List<Transition> transitions) {
- if (log.isDebugEnabled()) {
- log.debug("Proceeding from execution " + execution.getActivityName());
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Proceeding from execution " + execution.getActivityName());
}
Activity activity = execution.getActivity();
// if no outgoing transitions should be forked,
if (transitions.size() == 0) {
- if (log.isDebugEnabled()) {
- log.debug("No outgoing transitions found. Ending the execution");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("No outgoing transitions found. Ending the execution");
}
execution.end();
}
@@ -113,9 +113,6 @@
/**
* Returns the list of outgoing sequence flow for this activity.
* If the boolean 'checkConditions' is true, conditions on the sequence flow will be evaluated.
- *
- * Note that for activities that have a default sequence flow (eg Exclusive gateway),
- * the default sequence flow will NOT be included in the returned list.
*/
protected List<Transition> findOutgoingSequenceFlow(ExecutionImpl execution, boolean checkConditions) {
Activity activity = execution.getActivity();
@@ -125,18 +122,32 @@
for (Transition transition : outgoingTransitions) {
Condition condition = transition.getCondition();
- if ( ( (condition == null)
- || (!checkConditions)
- || (condition.evaluate(execution))
- )
- && (activity.getDefaultOutgoingTransition() != transition)
- ) {
+ if ( ( (condition == null) || (!checkConditions) || (condition.evaluate(execution)) )
+ && (activity.getDefaultOutgoingTransition() != transition) ) {
forkingTransitions.add(transition);
}
}
- if (log.isDebugEnabled()) {
- log.debug(forkingTransitions.size() + " out of " + outgoingTransitions.size() + " selected for " + activity.getName());
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(forkingTransitions.size() + " out of " + outgoingTransitions.size() + " selected for " + activity.getName());
}
+
+ // If no outgoing sequence flow found, check if there is a default sequence flow
+ if (forkingTransitions.isEmpty() && isDefaultEnabled()) {
+ Transition defaultSeqFlow = execution.getActivity().getDefaultOutgoingTransition();
+ if (defaultSeqFlow != null) {
+ forkingTransitions.add(defaultSeqFlow);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Selected default sequence flow for " + execution.getActivityName());
+ }
+ } else {
+ throw new JbpmException("No sequence flow condition evaluated to true for " +
+ execution.getActivityName() + " and no default sequenceFlow was speficied");
+ }
+ } else if (forkingTransitions.isEmpty()){
+ throw new JbpmException("No outgoing sequence flow found for " + execution.getActivityName());
+ }
+
return forkingTransitions;
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -24,57 +24,28 @@
import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.util.TagBinding;
import org.jbpm.pvm.internal.wire.xml.WireParser;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.w3c.dom.Element;
+public abstract class BpmnBinding extends TagBinding {
+ protected static final WireParser wireParser = BpmnParser.wireParser;
-public abstract class BpmnBinding extends TagBinding {
+ protected String default_;
- protected static final WireParser wireParser = BpmnParser.wireParser;
+ public BpmnBinding(String tagName) {
+ super(tagName, "http://schema.omg.org/spec/BPMN/2.0", null);
+ }
- public BpmnBinding(String tagName) {
- super(tagName, "http://schema.omg.org/spec/BPMN/2.0", null);
- }
-//
-// public void parseName(Element element, ActivityImpl activity, Parse parse) {
-// String name = XmlUtil.attribute(element, "name", isNameRequired(), parse);
-//
-// if (name!=null) {
-// // basic name validation
-// if ("".equals(name)) {
-// parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "is empty"), element);
-// } else if (name.indexOf('/')!=-1) {
-// parse.addProblem(XmlUtil.errorMessageAttribute(element, "name", name, "contains slash (/)"), element);
-// }
-// activity.setName(name);
-// }
-// }
-//
-// public boolean isNameRequired() {
-// return true;
-// }
-//
-// public void parseTransitions(Element element, ActivityImpl activity, Parse parse, JpdlParser jpdlParser) {
-// List<Element> transitionElements = XmlUtil.elements(element, "transition");
-// UnresolvedTransitions unresolvedTransitions = parse.findObject(UnresolvedTransitions.class);
-// for (Element transitionElement: transitionElements) {
-// String transitionName = XmlUtil.attribute(transitionElement, "name", false, parse);
-//
-// Element timerElement = XmlUtil.element(transitionElement, "timer");
-// if (timerElement!=null) {
-// if (transitionName!=null) {
-// TimerDefinitionImpl timerDefinitionImpl = jpdlParser.parseTimerDefinition(timerElement, parse, activity);
-// timerDefinitionImpl.setSignalName(transitionName);
-// } else {
-// parse.addProblem("a transition name is required when a timer is placed on a transition", element);
-// }
-// }
-//
-// TransitionImpl transition = activity.createOutgoingTransition();
-// transition.setName(transitionName);
-//
-// unresolvedTransitions.add(transition, transitionElement);
-//
-// jpdlParser.parseOnEvent(transitionElement, parse, transition, Event.TAKE);
-// }
-// }
+ public void parse(Element element, Parse parse) {
+ this.default_ = null;
+ if (element.hasAttribute("default")) {
+ default_ = element.getAttribute("default");
+ }
+ }
+
+ public String getDefault() {
+ return default_;
+ }
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayActivity.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayActivity.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -23,7 +23,6 @@
import java.util.List;
-import org.jbpm.api.JbpmException;
import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.bpmn.parser.BindingsParser;
import org.jbpm.internal.log.Log;
@@ -54,15 +53,7 @@
List<Transition> transitions = findOutgoingSequenceFlow(execution, CONDITIONS_CHECKED);
int numTransitions = transitions.size();
- if (numTransitions == 0) {
- Transition defaultTransition = execution.getActivity().getDefaultOutgoingTransition();
- if (defaultTransition != null) {
- transitions.add(defaultTransition);
- } else {
- throw new JbpmException("No sequenceFlow condition evaluated to true for " +
- execution.getActivity() + " and no default sequenceFlow was speficied");
- }
- } else if (numTransitions > 2) {
+ if (numTransitions > 2) {
transitions = transitions.subList(0, 0);
if (log.isInfoEnabled()) {
log.info("More than one outgoing sequenceFlow conditions evaluated to true for "
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayActivity.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayActivity.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -22,13 +22,9 @@
package org.jbpm.bpmn.flownodes;
import java.util.Collection;
-import java.util.List;
-import org.jbpm.api.JbpmException;
import org.jbpm.bpmn.model.BpmnProcessDefinition;
-import org.jbpm.internal.log.Log;
import org.jbpm.pvm.internal.model.ExecutionImpl;
-import org.jbpm.pvm.internal.model.Transition;
/**
* @author Joram Barrez
@@ -37,22 +33,8 @@
private static final long serialVersionUID = 1L;
- private static final Log LOG = Log.getLog(InclusiveGatewayActivity.class.getName());
-
- public void fork(ExecutionImpl execution) {
- List<Transition> outgoingSeqFlow = findOutgoingSequenceFlow(execution, CONDITIONS_CHECKED);
-
- if (outgoingSeqFlow.isEmpty()) {
- Transition defaultSeqFlow = execution.getActivity().getDefaultOutgoingTransition();
- if (defaultSeqFlow != null) {
- outgoingSeqFlow.add(defaultSeqFlow);
- } else {
- throw new JbpmException("No sequenceFlow condition evaluated to true for " +
- execution.getActivity() + " and no default sequenceFlow was speficied");
- }
- }
-
- proceed(execution, outgoingSeqFlow);
+ public void fork(ExecutionImpl execution) {
+ proceed(execution, findOutgoingSequenceFlow(execution, CONDITIONS_CHECKED));
}
/**
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -35,7 +35,10 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
- return new ManualTaskActivity();
+ super.parse(element, parse);
+ ManualTaskActivity manualTaskActivity = new ManualTaskActivity();
+ manualTaskActivity.setDefault(getDefault());
+ return manualTaskActivity;
}
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -33,7 +33,10 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
- return new ReceiveActivity();
+ super.parse(element, parse);
+ ReceiveActivity receiveActivity = new ReceiveActivity();
+ receiveActivity.setDefault(getDefault());
+ return receiveActivity;
}
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -35,13 +35,15 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
-
+ super.parse(element, parse);
+
String scriptLanguage = XmlUtil.attribute(element, "scriptLanguage");
String script = XmlUtil.element(element, "script").getTextContent();
ScriptTaskActivity scriptTaskActivity = new ScriptTaskActivity();
scriptTaskActivity.setLanguage(scriptLanguage);
scriptTaskActivity.setScript(script);
+ scriptTaskActivity.setDefault(getDefault());
return scriptTaskActivity;
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -33,7 +33,6 @@
import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
public class ServiceTaskBinding extends BpmnBinding {
@@ -44,6 +43,7 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
+ super.parse(element, parse);
JavaServiceTaskActivity javaActivity = new JavaServiceTaskActivity();
BpmnProcessDefinition bpmnProcessDefinition = parse.contextStackFind(BpmnProcessDefinition.class);
@@ -91,6 +91,8 @@
} else {
// parse.addProblem("no target specified in "+TAG+": must specify attribute 'class' or 'expr'", element);
}
+
+ javaActivity.setDefault(getDefault());
return javaActivity;
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -38,11 +38,13 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
+ super.parse(element, parse);
TaskActivity taskActivity = new TaskActivity();
ScopeElementImpl scopeElement = parse.contextStackFind(ScopeElementImpl.class);
TaskDefinitionImpl taskDefinition = BpmnParser.parseTaskDefinition(element, parse, scopeElement);
taskActivity.setTaskDefinition(taskDefinition);
+ taskActivity.setDefault(getDefault());
return taskActivity;
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -21,7 +21,6 @@
*/
package org.jbpm.bpmn.flownodes;
-import org.jbpm.bpmn.model.BpmnProcessDefinition;
import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.model.ScopeElementImpl;
import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
@@ -43,6 +42,7 @@
}
public Object parse(Element element, Parse parse, Parser parser) {
+ super.parse(element, parse);
UserTaskActivity taskActivity = new UserTaskActivity();
ScopeElementImpl scopeElement = parse.contextStackFind(ScopeElementImpl.class);
@@ -57,6 +57,7 @@
}
taskActivity.setTaskDefinition(taskDefinition);
+ taskActivity.setDefault(getDefault());
return taskActivity;
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java 2010-01-19 15:47:58 UTC (rev 6095)
@@ -103,7 +103,7 @@
try {
// process attribues
- String name = XmlUtil.attribute(processElement, "name", true, parse);
+ String name = XmlUtil.attribute(processElement, "name", false, parse);
processDefinition.setName(name);
String key = XmlUtil.attribute(processElement, "id", false, parse);
Added: jbpm4/trunk/modules/devguide/src/main/docbook/en/images/bpmn2.conditional.sequence.flow.png
===================================================================
(Binary files differ)
Property changes on: jbpm4/trunk/modules/devguide/src/main/docbook/en/images/bpmn2.conditional.sequence.flow.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch03-Bpmn2.xml
===================================================================
--- jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch03-Bpmn2.xml 2010-01-19 14:05:07 UTC (rev 6094)
+++ jbpm4/trunk/modules/devguide/src/main/docbook/en/modules/ch03-Bpmn2.xml 2010-01-19 15:47:58 UTC (rev 6095)
@@ -426,7 +426,9 @@
</programlisting>
Note that is currently is necessary to add the <emphasis role="bold">
xsi:type="tFormalExpression"</emphasis> to the <emphasis role="bold">
- conditionExpression</emphasis>. This can change in a future release.
+ conditionExpression</emphasis>. A conditional sequence flow is visualized as a mini diamond
+ shape at the beginning of the sequence flow. Keep in mind that conditions always can be defined
+ on sequence flow, but some constructs will not interprete them (eg. parallel gateway).
</para>
<para>
16 years, 2 months
JBoss JBPM SVN: r6094 - jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2010-01-19 09:05:07 -0500 (Tue, 19 Jan 2010)
New Revision: 6094
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/SpringTransactionInterceptor.java
Log:
JBPM-2752: changed unneeded cast from AbstractPlatformTransactionManager to PlatformTransactionManager
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/SpringTransactionInterceptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/SpringTransactionInterceptor.java 2010-01-19 09:57:49 UTC (rev 6093)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/tx/SpringTransactionInterceptor.java 2010-01-19 14:05:07 UTC (rev 6094)
@@ -28,9 +28,6 @@
import org.jbpm.pvm.internal.svc.Policy;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.AbstractPlatformTransactionManager;
-import org.springframework.transaction.support.DefaultTransactionDefinition;
import org.springframework.transaction.support.TransactionTemplate;
/**
@@ -38,6 +35,7 @@
* exception occurs during execution of the command.
*
* @author Andries Inze
+ * @author Joram Barrez
*/
public class SpringTransactionInterceptor extends Interceptor {
@@ -49,31 +47,10 @@
@SuppressWarnings("unchecked")
public <T> T execute(Command<T> command) {
- AbstractPlatformTransactionManager platformTransactionManager = (AbstractPlatformTransactionManager) resolveTransactionManager();
+ PlatformTransactionManager platformTransactionManager = (PlatformTransactionManager) resolveTransactionManager();
TransactionTemplate template = new TransactionTemplate(platformTransactionManager);
template.setPropagationBehavior(springPropagationBehaviour);
return (T) template.execute(new SpringCommandCallback(next, command));
-
-// TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
-// boolean completedSuccessfully = false;
-// try {
-// returnValue = next.execute(command);
-//
-// EnvironmentImpl
-// .getFromCurrent(SpringTransaction.class)
-// .flushDeserializedObjects();
-//
-// completedSuccessfully = true;
-//
-// } finally {
-// if (completedSuccessfully) {
-// platformTransactionManager.commit(transactionStatus);
-// } else {
-// platformTransactionManager.rollback(transactionStatus);
-// }
-// }
-//
-// return returnValue;
}
/**
16 years, 2 months
JBoss JBPM SVN: r6093 - in jbpm4/trunk/modules: bpmn/src/main/java/org/jbpm/bpmn/model and 3 other directories.
by do-not-reply@jboss.org
Author: jbarrez
Date: 2010-01-19 04:57:49 -0500 (Tue, 19 Jan 2010)
New Revision: 6093
Added:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/model/SequenceflowCondition.java
Modified:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExpressionCondition.java
jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/test/gateway/InclusiveGatewayTest.java
Log:
JBPM-2738: finished implementation/test cases for Inclusive Gateway
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-01-18 23:27:37 UTC (rev 6092)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-01-19 09:57:49 UTC (rev 6093)
@@ -32,6 +32,7 @@
import org.jbpm.pvm.internal.model.Activity;
import org.jbpm.pvm.internal.model.Condition;
import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.model.ExpressionCondition;
import org.jbpm.pvm.internal.model.Transition;
/**
@@ -126,7 +127,7 @@
Condition condition = transition.getCondition();
if ( ( (condition == null)
|| (!checkConditions)
- || (condition.evaluate(execution))
+ || (condition.evaluate(execution))
)
&& (activity.getDefaultOutgoingTransition() != transition)
) {
Added: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/model/SequenceflowCondition.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/model/SequenceflowCondition.java (rev 0)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/model/SequenceflowCondition.java 2010-01-19 09:57:49 UTC (rev 6093)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.bpmn.model;
+
+import org.jbpm.api.JbpmException;
+import org.jbpm.api.model.OpenExecution;
+import org.jbpm.pvm.internal.model.Condition;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
+import org.jbpm.pvm.internal.model.ExpressionCondition;
+
+/**
+ * Specialized {@link Condition} implementation for BPMN 2.0 sequence flow.
+ *
+ * The difference with the JPDL {@link ExpressionCondition} is that expressions are always
+ * resolved against the given execution, instead of the executionContext in the environment.
+ *
+ * In some BPMN 2.0 processes, the regular resolving of expressions failed because of
+ * execution juggling inside activities (see eg. Inclusive Gateway test cases), hence this impl.
+ *
+ * @author Joram Barrez
+ */
+public class SequenceflowCondition implements Condition {
+
+ private static final long serialVersionUID = 1L;
+
+ protected String expression;
+
+ protected String language;
+
+ public boolean evaluate(OpenExecution execution) {
+ ExecutionImpl executionImpl = (ExecutionImpl) execution;
+ Object result = executionImpl.resolveExpression(expression, language);
+ if (result instanceof Boolean) {
+ return ((Boolean) result).booleanValue();
+ } else {
+ throw new JbpmException("Expression '" + expression + "' did not resolve to a boolean value");
+ }
+ }
+
+ public String getExpression() {
+ return expression;
+ }
+
+ public void setExpression(String expression) {
+ this.expression = expression;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java 2010-01-18 23:27:37 UTC (rev 6092)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/parser/BpmnParser.java 2010-01-19 09:57:49 UTC (rev 6093)
@@ -36,6 +36,7 @@
import org.jbpm.bpmn.flownodes.BpmnBinding;
import org.jbpm.bpmn.flownodes.DatabasedGatewayActivity;
import org.jbpm.bpmn.model.BpmnProcessDefinition;
+import org.jbpm.bpmn.model.SequenceflowCondition;
import org.jbpm.internal.log.Log;
import org.jbpm.pvm.internal.model.ActivityImpl;
import org.jbpm.pvm.internal.model.CompositeElementImpl;
@@ -278,10 +279,10 @@
String lang = XmlUtil.attribute(conditionElement, "language");
// TODO: add looking up the default language in the document under definitions if lang is null.
- ExpressionCondition expressionCondition = new ExpressionCondition();
- expressionCondition.setExpression(expr);
- expressionCondition.setLanguage(lang);
- transition.setCondition(expressionCondition);
+ SequenceflowCondition condition = new SequenceflowCondition();
+ condition.setExpression(expr);
+ condition.setLanguage(lang);
+ transition.setCondition(condition);
} else {
parse.addProblem("Type of the conditionExpression on sequenceFlow with id=" +
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2010-01-18 23:27:37 UTC (rev 6092)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2010-01-19 09:57:49 UTC (rev 6093)
@@ -672,6 +672,43 @@
atomicOperations.offer(operation);
}
}
+
+ /**
+ * Important: Only use this if resolving an expression on another execution then the current execution
+ *
+ * TODO: remove this operation once the environment/executionContext is refactored
+ */
+ public Object resolveExpression(String expression, String language) {
+ ExecutionContext originalExecutionContext = null;
+ ExecutionContext executionContext = null;
+ EnvironmentImpl environment = EnvironmentImpl.getCurrent();
+ if (environment!=null) {
+ originalExecutionContext = (ExecutionContext) environment.getContext(Context.CONTEXTNAME_EXECUTION);
+ if ( (originalExecutionContext!=null)
+ && (originalExecutionContext.getExecution()==this)
+ ) {
+ originalExecutionContext = null;
+ } else {
+ executionContext = new ExecutionContext(this);
+ environment.setContext(executionContext);
+ }
+ }
+
+ try {
+ ScriptManager scriptManager = ScriptManager.getScriptManager();
+ return scriptManager.evaluateScript(expression, language);
+ } catch(RuntimeException e) {
+ log.error("Error while evaluation script " + expression, e);
+ throw e;
+ } finally {
+ if (executionContext != null) {
+ environment.removeContext(executionContext);
+ }
+ if (originalExecutionContext != null) {
+ environment.setContext(originalExecutionContext);
+ }
+ }
+ }
public void handleException(ObservableElementImpl observableElement,
EventImpl event,
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExpressionCondition.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExpressionCondition.java 2010-01-18 23:27:37 UTC (rev 6092)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExpressionCondition.java 2010-01-19 09:57:49 UTC (rev 6093)
@@ -48,7 +48,9 @@
public void setExpression(String expression) {
this.expression = expression;
}
+
public void setLanguage(String language) {
this.language = language;
}
+
}
Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/test/gateway/InclusiveGatewayTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/test/gateway/InclusiveGatewayTest.java 2010-01-18 23:27:37 UTC (rev 6092)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/test/gateway/InclusiveGatewayTest.java 2010-01-19 09:57:49 UTC (rev 6093)
@@ -219,22 +219,22 @@
// If var == 6, then the nested inclusive split will not be reached
// The inclusive merge will then have to merge two incoming sequence flow
- /*ProcessInstance pi = startAndVerifySimpleSplitProcess("nestedInclusiveSplit", 6, "wait1", "wait2");
+ ProcessInstance pi = startAndVerifySimpleSplitProcess("nestedInclusiveSplit", 6, "wait1", "wait2");
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait1").getId());
assertActivitiesActive(pi.getId(), "wait2", "wait4");
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait2").getId());
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait4").getId());
- assertProcessInstanceEnded(pi);*/
+ assertProcessInstanceEnded(pi);
// If var == 9, the inclusive split will be reached and it will produce 2 outgoing sequence flow.
// The inclusive merge will have to merge three incoming sequence flow
- /*ProcessInstance pi = startAndVerifySimpleSplitProcess("nestedInclusiveSplit", 9, "wait1", "wait2");
+ pi = startAndVerifySimpleSplitProcess("nestedInclusiveSplit", 9, "wait1", "wait2");
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait1").getId());
assertActivitiesActive(pi.getId(), "wait2", "wait5", "wait6");
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait5").getId());
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait6").getId());
pi = executionService.signalExecutionById(pi.findActiveExecutionIn("wait2").getId());
- assertProcessInstanceEnded(pi);*/
+ assertProcessInstanceEnded(pi);
}
private ProcessInstance startAndVerifySimpleSplitProcess(String processKey, Integer varValue, String ... expectedActivities) {
16 years, 3 months
JBoss JBPM SVN: r6092 - in projects/jsf-console/branches/jsf-console-3.3.1.SP: console and 14 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2010-01-18 18:27:37 -0500 (Mon, 18 Jan 2010)
New Revision: 6092
Added:
projects/jsf-console/branches/jsf-console-3.3.1.SP/.project
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css
projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/.project
Removed:
projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.classpath
projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/java/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html
projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css
Modified:
projects/jsf-console/branches/jsf-console-3.3.1.SP/
projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.project
projects/jsf-console/branches/jsf-console-3.3.1.SP/console/pom.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/jboss-web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/.classpath
projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/pom.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/pom.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/
projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/pom.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/jboss-web.xml
projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/web.xml
Log:
SOA-1586: secure gpd deployer, patch for jsf-console 3.3.1.GA
Property changes on: projects/jsf-console/branches/jsf-console-3.3.1.SP
___________________________________________________________________
Name: svn:ignore
+ .settings
Added: projects/jsf-console/branches/jsf-console-3.3.1.SP/.project
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/.project (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/.project 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jsf-console-parent</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.classpath
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.classpath 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.classpath 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java"/>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.project
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.project 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/console/.project 2010-01-18 23:27:37 UTC (rev 6092)
@@ -6,7 +6,6 @@
</projects>
<buildSpec>
<buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
@@ -17,7 +16,6 @@
</buildCommand>
</buildSpec>
<natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/console/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/console/pom.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/console/pom.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
<!-- Distributable under LGPL license. -->
<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
<!-- ====================================================================== -->
<!-- $Id$ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>JBoss jBPM3 - Console</name>
<groupId>org.jbpm.jbpm3</groupId>
@@ -27,11 +27,11 @@
<!-- Dependencies -->
<dependencies>
- <!-- jBPM Dependencies -->
+ <!-- Compile Dependencies -->
<dependency>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jsf-console-jbpm4jsf</artifactId>
- <version>${version}</version>
+ <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>javax.faces</groupId>
@@ -39,93 +39,53 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>soa-webapp</artifactId>
- <version>${version}</version>
- <type>war</type>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
<!-- Provided Dependencies -->
<dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-jpdl</artifactId>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <scope>provided</scope>
- </dependency>
</dependencies>
- <!-- Plugins -->
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <showDeprecation>false</showDeprecation>
- </configuration>
- </plugin>
- </plugins>
- <finalName>jsf-console</finalName>
- </build>
-
<profiles>
<profile>
<id>soa</id>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>soa-webapp</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ </dependencies>
+
<build>
- <plugins>
+ <plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>war</goal>
- </goals>
- <configuration>
- <classifier>soa</classifier>
- </configuration>
- </execution>
- </executions>
<configuration>
+ <classifier>soa</classifier>
+ <primaryArtifact>false</primaryArtifact>
<overlays>
<overlay>
- <id>soa-webapp-overlay</id>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>soa-webapp</artifactId>
- <includes>
- <include>JBossLogo.jpg</include>
- <include>login.jsp</include>
- <include>WEB-INF/web.xml</include>
- <include>WEB-INF/jboss-web.xml</include>
- </includes>
</overlay>
<overlay>
- <!-- empty groupId/artifactId detected as the current build -->
- </overlay>
+ <!-- empty groupId/artifactId means the current build -->
+ </overlay>
</overlays>
</configuration>
- </plugin>
+ </plugin>
</plugins>
</build>
</profile>
-
</profiles>
</project>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
+<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
<jboss-web>
<!--
- Specify the security domain to use. This will be java:/jaas/<name> where
+ Specify the security domain to use. This will be java:/jaas/<name> where
<name> is one of the names configured in your login-config.xml.
-->
<security-domain>java:/jaas/jbpm-console</security-domain>
@@ -20,11 +21,11 @@
<jndi-name>java:JmsXA</jndi-name>
</resource-ref>
- <ejb-ref>
+ <ejb-local-ref>
<ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
- <jndi-name>java:ejb/TimerEntityBean</jndi-name>
- </ejb-ref>
-
+ <local-jndi-name>java:jbpm/TimerEntityBean</local-jndi-name>
+ </ejb-local-ref>
+
<!-- workaround for "mapped-name is required" exception in JBoss 5.0.0.CR1 -->
<message-destination-ref>
<message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/web.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/console/src/main/webapp/WEB-INF/web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,17 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <!--
- * Force initialization of the hibernate sessions in jbpm.
- * This will create the DB tables on new installations.
- * If that's not needed the listener can be removed.
- -->
- <listener>
- <listener-class>org.jbpm.web.BootstrapListener</listener-class>
- </listener>
-
<servlet>
- <description>Enable the JSF servlet. See faces-config.xml for Faces-specific configuration</description>
+ <description>Enable the JSF servlet. See faces-config.xml for Faces-specific configuration.</description>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
@@ -30,13 +23,13 @@
</servlet-mapping>
<context-param>
- <description> Use Documents Saved as *.xhtml </description>
+ <description>Use Documents Saved as *.xhtml</description>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
- <description> Facelets debug output </description>
+ <description>Facelets debug output</description>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
@@ -46,21 +39,9 @@
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
- <servlet>
- <description> This is the GDP's deployer servlet </description>
- <servlet-name>GDP Deployer Servlet</servlet-name>
- <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>GDP Deployer Servlet</servlet-name>
- <url-pattern>/app/upload/*</url-pattern>
- </servlet-mapping>
-
<!--
- This role list should be changed to include all the relevant roles for your
- environment.
+ This role list should be changed to include all the relevant roles for your
+ environment.
-->
<security-role>
<role-name>admin</role-name>
@@ -70,8 +51,9 @@
</security-role>
<!--
- Security constraints - optionally customize the role name to require a login before access is allowed to the application. Also, be sure to edit jboss-web.xml to
- configure the security domain if you are deploying inside JBoss AS.
+ Security constraints - optionally customize the role name to require a login
+ before access is allowed. Also, be sure to edit jboss-web.xml to configure
+ the security domain if you are deploying inside JBoss AS.
-->
<security-constraint>
<web-resource-collection>
@@ -85,7 +67,7 @@
</auth-constraint>
</security-constraint>
- <!-- Example Login page - lists user names -->
+ <!-- Example Login page - lists sample users -->
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
@@ -94,79 +76,69 @@
</form-login-config>
</login-config>
- <!-- Login configuration option #1 - use the login page ==>
- <login-config>
- <auth-method>FORM</auth-method>
+ <!-- Login configuration option #1 - use the login page ==>
+ <login-config>
+ <auth-method>FORM</auth-method>
<form-login-config>
- <form-login-page>/ua/login.jsf</form-login-page>
- <form-error-page>/ua/login.jsf?error=true</form-error-page>
- </form-login-config>
- </login-config>
+ <form-login-page>/ua/login.jsf</form-login-page>
+ <form-error-page>/ua/login.jsf?error=true</form-error-page>
+ </form-login-config>
+ </login-config>
<!== Login configuration option #1 -->
- <!--
- Login configuration option #2 - use basic auth ==>
- <login-config>
- <auth-method>BASIC</auth-method>
+ <!-- Login configuration option #2 - use basic auth ==>
+ <login-config>
+ <auth-method>BASIC</auth-method>
<realm-name>jBPM Administration Console</realm-name>
- </login-config>
+ </login-config>
<!== Login configuration option #2 -->
- <!-- Job executor launcher ==>
- <listener>
- <description>
- Starts the job executor on servlet context initialization and stops it on servlet context destruction.
- </description>
- <listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
- </listener> <!== Job executor launcher -->
-
+ <!-- Job executor launcher ==>
<listener>
<description>
- Closes the jBPM configuration on servlet context destruction, releasing
- application resources. This listener should appear after the job executor
- launcher to avoid reopening the configuration.
- </description>
+ Starts the job executor on initialization and stops it on destruction.
+ </description>
+ <listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
+ </listener>
+ <!== Job executor launcher -->
+
+ <listener>
+ <description>Closes the jBPM configuration on destruction, releasing resources.
+ This listener should appear after the job executor launcher,
+ to avoid reopening the configuration.</description>
<listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
</listener>
<resource-ref>
- <description>
- Logical name of the data source that provides connections to the persistence service.
- Must match the hibernate.connection.datasource property in the Hibernate
- configuration file.
- </description>
+ <description>Logical name of the data source that provides connections to the persistence service.
+ Must match the hibernate.connection.datasource property in the Hibernate
+ configuration file.</description>
<res-ref-name>jdbc/JbpmDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
- <description>
- Logical name of the factory that provides JMS connections to the message service.
- Required for processes that contain asynchronous continuations.
- </description>
+ <description>Logical name of the factory that provides JMS connections to the message service.
+ Required for processes that contain asynchronous continuations.</description>
<res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
- <ejb-ref>
- <description>
- Link to the local entity bean that implements the scheduler service. Required for
- processes that contain timers.
- </description>
+ <ejb-local-ref>
+ <description>Link to the local entity bean that implements the scheduler service.
+ Required for processes that contain timers.</description>
<ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
- <home>org.jbpm.ejb.TimerEntityHome</home>
- <remote>org.jbpm.ejb.TimerEntity</remote>
- </ejb-ref>
+ <local-home>org.jbpm.ejb.LocalTimerEntityHome</local-home>
+ <local>org.jbpm.ejb.LocalTimerEntity</local>
+ </ejb-local-ref>
<message-destination-ref>
- <description>
- The message service sends job messages to the queue referenced here. To ensure
- this is the same queue from which the JobListenerBean receives messages, the
- message-destination-link element points to a common logical destination, JobQueue.
- </description>
+ <description>The message service sends job messages to the queue referenced here. To ensure
+ this is the same queue from which the JobListenerBean receives messages, the
+ message-destination-link element points to a common logical destination, JobQueue.</description>
<message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
<message-destination-type>javax.jms.Queue</message-destination-type>
<message-destination-usage>Produces</message-destination-usage>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer)
Property changes on: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer
___________________________________________________________________
Name: svn:ignore
+ .settings
target
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/.classpath 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/.classpath)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.classpath 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/.project 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>gpd-deployer</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.maven.ide.eclipse.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.maven.ide.eclipse.maven2Nature</nature>
- </natures>
-</projectDescription>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/.project)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/.project 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>gpd-deployer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/pom.xml 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- jBPM: Workflow in Java -->
-<!-- -->
-<!-- Distributable under LGPL license. -->
-<!-- See terms of license at http://www.gnu.org. -->
-<!-- ====================================================================== -->
-
-<!-- $Id$ -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <name>JBoss jBPM3 - GPD Deployer</name>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>gpd-deployer</artifactId>
- <packaging>war</packaging>
-
- <!-- Parent -->
- <parent>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jsf-console-parent</artifactId>
- <version>3.2.8</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <!-- Dependencies -->
- <dependencies>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
-
- <!-- Provided Dependencies -->
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-jpdl</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-</project>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/pom.xml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/pom.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>JBoss jBPM3 - GPD Deployer</name>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>gpd-deployer</artifactId>
+ <packaging>war</packaging>
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jsf-console-parent</artifactId>
+ <version>3.3.1.GA</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <!-- Dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+
+ <!-- Provided Dependencies -->
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src)
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main)
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/java)
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/java/org)
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/java/org/jbpm)
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/java/org/jbpm/web)
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,168 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jbpm.web;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.net.MalformedURLException;
-import java.util.zip.ZipInputStream;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.fileupload.FileItemIterator;
-import org.apache.commons.fileupload.FileItemStream;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
-import org.jbpm.graph.def.ProcessDefinition;
-
-public class ProcessUploadServlet extends javax.servlet.http.HttpServlet {
-
- private static final long serialVersionUID = 1L;
-
- private JbpmConfiguration jbpmConfiguration;
-
- public void init() throws ServletException {
- String jbpmCfgResource = getServletContext().getInitParameter("jbpm.configuration.resource");
- jbpmConfiguration = JbpmConfiguration.getInstance(jbpmCfgResource);
- }
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- if (log.isTraceEnabled()) log.trace("handling status request");
-
- PrintWriter out = response.getWriter();
- writeHeader(out);
- out.println("<p>GPD deployer is operational</p>");
- writeTrailer(out);
- }
-
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- if (log.isTraceEnabled()) log.trace("handling upload request");
-
- try {
- InputStream processStream = parseRequest(request, response);
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- ProcessDefinition processDefinition = parseProcessArchive(processStream);
- deployProcessDefinition(processDefinition, response);
- }
- finally {
- jbpmContext.close();
- }
- }
- catch (FileUploadException e) {
- response.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage());
- }
- }
-
- private void writeHeader(PrintWriter out) throws MalformedURLException {
- out.println("<html>");
- out.println("<head>");
- out.println("<title>Process Deployment</title>");
- out.print("<link rel='stylesheet' type='text/css' href='");
- out.print(getServletContext().getContextPath());
- out.println("/jbpm.css'/>");
- out.println("</head>");
- out.println("<body>");
- }
-
- private void writeTrailer(PrintWriter out) {
- out.println("</body>");
- out.println("</html>");
- }
-
- private InputStream parseRequest(HttpServletRequest request,
- HttpServletResponse response) throws IOException, FileUploadException {
- // check if request is multipart content
- if (!ServletFileUpload.isMultipartContent(request))
- throw new FileUploadException("request does not carry multipart content");
-
- // Create a new file upload handler
- ServletFileUpload upload = new ServletFileUpload();
- // Parse the request
- for (FileItemIterator i = upload.getItemIterator(request); i.hasNext();) {
- FileItemStream part = i.next();
- if (!part.isFormField()) {
- if (log.isTraceEnabled())
- log.trace("retrieved file " + part.getName());
- return part.openStream();
- }
- }
-
- // no file found, bang
- throw new FileUploadException("request contains no file");
- }
-
- private ProcessDefinition parseProcessArchive(InputStream processStream)
- throws IOException {
- ZipInputStream processArchiveStream = new ZipInputStream(processStream);
- try {
- ProcessDefinition processDefinition = ProcessDefinition.parseParZipInputStream(processArchiveStream);
- if (log.isTraceEnabled())
- log.trace("parsed process definition " + processDefinition.getName());
- return processDefinition;
- }
- finally {
- processArchiveStream.close();
- }
- }
-
- private void deployProcessDefinition(ProcessDefinition processDefinition,
- HttpServletResponse response) throws IOException {
- String processName = processDefinition.getName();
- JbpmContext jbpmContext = jbpmConfiguration.getCurrentJbpmContext();
- try {
- jbpmContext.deployProcessDefinition(processDefinition);
-
- if (log.isTraceEnabled())
- log.trace("deployed process definition " + processName);
-
- PrintWriter out = response.getWriter();
- writeHeader(out);
- out.println("<h3>Deployment report</h3>");
- out.print("<p>Process <em>");
- out.print(processName);
- out.println("</em> was deployed successfully</p>");
- out.print("<p><a href='");
- out.print(getServletContext().getContextPath());
- out.println("/index.html'>Deploy another process</a></p>");
- writeTrailer(out);
- }
- catch (RuntimeException e) {
- jbpmContext.setRollbackOnly();
-
- log.error("failed to deploy process definition " + processName, e);
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Failed to deploy process");
- }
- }
-
- private static final Log log = LogFactory.getLog(ProcessUploadServlet.class);
-}
\ No newline at end of file
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/java/org/jbpm/web/ProcessUploadServlet.java 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.web;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.net.MalformedURLException;
+import java.util.zip.ZipInputStream;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.fileupload.FileItemIterator;
+import org.apache.commons.fileupload.FileItemStream;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ProcessDefinition;
+
+public class ProcessUploadServlet extends javax.servlet.http.HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ private JbpmConfiguration jbpmConfiguration;
+
+ public void init() throws ServletException {
+ String jbpmCfgResource = getServletContext().getInitParameter("jbpm.configuration.resource");
+ jbpmConfiguration = JbpmConfiguration.getInstance(jbpmCfgResource);
+ }
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ if (log.isTraceEnabled()) log.trace("handling status request");
+
+ PrintWriter out = response.getWriter();
+ writeHeader(out);
+ out.println("<p>GPD deployer is operational</p>");
+ writeTrailer(out);
+ }
+
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ if (log.isTraceEnabled()) log.trace("handling upload request");
+
+ try {
+ InputStream processStream = parseRequest(request, response);
+ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ ProcessDefinition processDefinition = parseProcessArchive(processStream);
+ deployProcessDefinition(processDefinition, response);
+ }
+ finally {
+ jbpmContext.close();
+ }
+ }
+ catch (FileUploadException e) {
+ response.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage());
+ }
+ }
+
+ private void writeHeader(PrintWriter out) throws MalformedURLException {
+ out.println("<html>");
+ out.println("<head>");
+ out.println("<title>Process Deployment</title>");
+ out.print("<link rel='stylesheet' type='text/css' href='");
+ out.print(getServletContext().getContextPath());
+ out.println("/jbpm.css'/>");
+ out.println("</head>");
+ out.println("<body>");
+ }
+
+ private void writeTrailer(PrintWriter out) {
+ out.println("</body>");
+ out.println("</html>");
+ }
+
+ private InputStream parseRequest(HttpServletRequest request,
+ HttpServletResponse response) throws IOException, FileUploadException {
+ // check if request is multipart content
+ if (!ServletFileUpload.isMultipartContent(request))
+ throw new FileUploadException("request does not carry multipart content");
+
+ // Create a new file upload handler
+ ServletFileUpload upload = new ServletFileUpload();
+ // Parse the request
+ for (FileItemIterator i = upload.getItemIterator(request); i.hasNext();) {
+ FileItemStream part = i.next();
+ if (!part.isFormField()) {
+ if (log.isTraceEnabled())
+ log.trace("retrieved file " + part.getName());
+ return part.openStream();
+ }
+ }
+
+ // no file found, bang
+ throw new FileUploadException("request contains no file");
+ }
+
+ private ProcessDefinition parseProcessArchive(InputStream processStream)
+ throws IOException {
+ ZipInputStream processArchiveStream = new ZipInputStream(processStream);
+ try {
+ ProcessDefinition processDefinition = ProcessDefinition.parseParZipInputStream(processArchiveStream);
+ if (log.isTraceEnabled())
+ log.trace("parsed process definition " + processDefinition.getName());
+ return processDefinition;
+ }
+ finally {
+ processArchiveStream.close();
+ }
+ }
+
+ private void deployProcessDefinition(ProcessDefinition processDefinition,
+ HttpServletResponse response) throws IOException {
+ String processName = processDefinition.getName();
+ JbpmContext jbpmContext = jbpmConfiguration.getCurrentJbpmContext();
+ try {
+ jbpmContext.deployProcessDefinition(processDefinition);
+
+ if (log.isTraceEnabled())
+ log.trace("deployed process definition " + processName);
+
+ PrintWriter out = response.getWriter();
+ writeHeader(out);
+ out.println("<h3>Deployment report</h3>");
+ out.print("<p>Process <em>");
+ out.print(processName);
+ out.println("</em> was deployed successfully</p>");
+ out.print("<p><a href='");
+ out.print(getServletContext().getContextPath());
+ out.println("/index.html'>Deploy another process</a></p>");
+ writeTrailer(out);
+ }
+ catch (RuntimeException e) {
+ jbpmContext.setRollbackOnly();
+
+ log.error("failed to deploy process definition " + processName, e);
+ response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Failed to deploy process");
+ }
+ }
+
+ private static final Log log = LogFactory.getLog(ProcessUploadServlet.class);
+}
\ No newline at end of file
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp)
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/WEB-INF)
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jboss-web PUBLIC
- "-//JBoss//DTD Web Application 2.4//EN"
- "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
-
-<jboss-web>
- <!--
- Specify the security domain to use. This will be java:/jaas/<name> where
- <name> is one of the names configured in your login-config.xml.
- -->
- <security-domain>java:/jaas/jbpm-console</security-domain>
-
- <resource-ref>
- <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
- <jndi-name>java:JbpmDS</jndi-name>
- </resource-ref>
-</jboss-web>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss-web PUBLIC
+ "-//JBoss//DTD Web Application 2.4//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
+
+<jboss-web>
+ <!--
+ Specify the security domain to use. This will be java:/jaas/<name> where
+ <name> is one of the names configured in your login-config.xml.
+ -->
+ <security-domain>java:/jaas/jbpm-console</security-domain>
+
+ <resource-ref>
+ <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
+ <jndi-name>java:JbpmDS</jndi-name>
+ </resource-ref>
+</jboss-web>
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/WEB-INF/web.xml 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <description>Server counterpart for the Graphical Process Designer
- deployment feature.</description>
- <servlet-name>GPD Deployer Servlet</servlet-name>
- <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>GPD Deployer Servlet</servlet-name>
- <url-pattern>/upload/*</url-pattern>
- </servlet-mapping>
-
- <security-role>
- <description>This role list should be changed to include all the relevant
- roles for your environment.</description>
- <role-name>admin</role-name>
- </security-role>
-
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Secure Area</web-resource-name>
- <description>If you are deploying to JBoss AS, be sure to specify the
- security domain in jboss-web.xml.</description>
- <url-pattern>/upload/*</url-pattern>
- <http-method>POST</http-method>
- </web-resource-collection>
- <auth-constraint>
- <description>Optionally customize the role name to require a login before
- access is allowed to the application.</description>
- <role-name>admin</role-name>
- </auth-constraint>
- </security-constraint>
-
- <login-config>
- <auth-method>BASIC</auth-method>
- <realm-name>jBPM GPD Deployer</realm-name>
- </login-config>
-
- <resource-ref>
- <description>Logical name of the data source that provides connections to
- the persistence service. Must match the hibernate.connection.datasource
- property in the Hibernate configuration file.</description>
- <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
-</web-app>
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/WEB-INF/web.xml)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/WEB-INF/web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <servlet>
+ <description>Server counterpart for the Graphical Process Designer
+ deployment feature.</description>
+ <servlet-name>GPD Deployer Servlet</servlet-name>
+ <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>GPD Deployer Servlet</servlet-name>
+ <url-pattern>/upload/*</url-pattern>
+ </servlet-mapping>
+
+ <security-role>
+ <description>This role list should be changed to include all the relevant
+ roles for your environment.</description>
+ <role-name>admin</role-name>
+ </security-role>
+
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>Secure Area</web-resource-name>
+ <description>If you are deploying to JBoss AS, be sure to specify the
+ security domain in jboss-web.xml.</description>
+ <url-pattern>/upload/*</url-pattern>
+ <http-method>POST</http-method>
+ </web-resource-collection>
+ <auth-constraint>
+ <description>Optionally customize the role name to require a login before
+ access is allowed to the application.</description>
+ <role-name>admin</role-name>
+ </auth-constraint>
+ </security-constraint>
+
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ <realm-name>jBPM GPD Deployer</realm-name>
+ </login-config>
+
+ <resource-ref>
+ <description>Logical name of the data source that provides connections to
+ the persistence service. Must match the hibernate.connection.datasource
+ property in the Hibernate configuration file.</description>
+ <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
+ <res-type>javax.sql.DataSource</res-type>
+ <res-auth>Container</res-auth>
+ </resource-ref>
+</web-app>
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/index.html 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>Process Deployment</title>
-<link rel="stylesheet" type="text/css" href="jbpm.css" />
-</head>
-<body>
-<h3>Deploy a Process</h3>
-<form action="upload" method="post" enctype="multipart/form-data">
-<p>Process archive: <input type="file" name="process-archive" /></p>
-<p><input type="submit" name="deploy-button" value="Deploy" /></p>
-</form>
-</body>
-</html>
\ No newline at end of file
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/index.html)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/index.html 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,13 @@
+<html>
+<head>
+<title>Process Deployment</title>
+<link rel="stylesheet" type="text/css" href="jbpm.css" />
+</head>
+<body>
+<h3>Deploy a Process</h3>
+<form action="upload" method="post" enctype="multipart/form-data">
+<p>Process archive: <input type="file" name="process-archive" /></p>
+<p><input type="submit" name="deploy-button" value="Deploy" /></p>
+</form>
+</body>
+</html>
\ No newline at end of file
Deleted: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css
===================================================================
--- projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/jbpm.css 2010-01-18 15:01:34 UTC (rev 6088)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,567 +0,0 @@
-/**********************************************************
- General styles
-***********************************************************/
-body {
- font-weight:normal;
- font-family:verdana,sans-serif;
- font-size:10pt;
- background-repeat:no-repeat;
- margin:0;
- border-width:0;
- padding:0;
-}
-
-html {
- background-attachment:scroll;
- background-repeat:no-repeat;
- margin:0;
- padding:0;
- border-width:0;
-}
-
-button, input, select, option, textarea {
- font-family:arial,helvetica,sans-serif;
- font-weight:normal;
- font-size:10pt;
- line-height:normal;
-}
-
-select {
- vertical-align:top;
-}
-
-form {
- display:inline;
-}
-
-h1, h2, h3, h4, h5, h6 {
- display:inline;
-}
-
-h1 {
- font-size:16pt;
-}
-
-h2 {
- font-size:14pt;
-}
-
-h3 {
- font-size:12pt;
-}
-
-h4 {
- font-size:10pt;
-}
-
-h5 {
- font-size:8pt;
-}
-
-h6 {
- font-size:6pt;
-}
-
-a {
- cursor: pointer;
- color: rgb(110, 110, 170);
- text-decoration: underline;
-}
-
-a:hover {
- color: rgb(160, 160, 255);
-}
-
-div.hr {
- border-style:none;
- border-width:0;
- background:#c0c0c0;
- margin-left:3px;
- margin-right:3px;
- height:2px;
- font-size:0;
- margin-top:6px;
- margin-bottom:10px;
-}
-
-b {
- font-weight:bold;
-}
-
-table.layout {
- margin:0;
- padding:0;
- border-collapse:collapse;
-}
-
-table.layout td {
- margin:0;
- padding:0;
-}
-
-table.layout td.layoutmenu {
- vertical-align:top;
- margin:0;
- padding:0;
- width:240px;
- background:#dddddd;
- border-right-width:1px;
- border-right-style:solid;
- border-right-color:#000000;
- border-top-width:1px;
- border-top-style:solid;
- border-top-color:#000000;
- border-bottom-width:1px;
- border-bottom-style:solid;
- border-bottom-color:#000000;
- border-collapse:collapse;
-}
-
-table.layout td.layoutbody {
- vertical-align:top;
- padding:10px;
- background:#ffffff;
- width:100%;
- border-top-width:1px;
- border-top-style:solid;
- border-top-color:#000000;
- border-bottom-width:1px;
- border-bottom-style:solid;
- border-bottom-color:#000000;
- border-collapse:collapse;
-}
-
-table.layout td.layoutheader {
- background:#dddddd;
- border-top-width:1px;
- border-top-style:solid;
- border-top-color:#000000;
- border-bottom-width:1px;
- border-bottom-style:solid;
- border-bottom-color:#000000;
- border-collapse:collapse;
-}
-
-table.layout td.layoutfooter {
- text-align:center;
- font-size:10px;
- background:#dddddd;
- border-top-width:1px;
- border-top-style:solid;
- border-top-color:#000000;
- border-bottom-width:1px;
- border-bottom-style:solid;
- border-bottom-color:#000000;
- border-collapse:collapse;
-}
-
-table.leftmenu {
- border-width:0;
- border-bottom-width:1px;
- border-collapse:collapse;
- border-color:#000000;
- width:200px;
-}
-
-tr.leftmenuheader th.nf {
- border-top-width:1px;
- border-top-style:solid;
- border-top-color:#000000;
-}
-
-tr.leftmenuheader th {
- padding-left:3px;
- padding-right:3px;
- background-color:#990000;
- color:#ffff99;
- font-size:12px;
- border-bottom-width:1px;
- border-bottom-style:solid;
- border-bottom-color:#000000;
-}
-
-tr.leftmenu th {
- vertical-align:top;
- padding:3px;
- text-align:left;
- text-decoration:none;
- font-size:11px;
- white-space:nowrap;
- background:#444444;
- color:#ffffff;
-}
-
-tr.leftmenu td {
- vertical-align:top;
- padding:3px;
- text-align:left;
- text-decoration:none;
- font-size:12px;
- white-space:nowrap;
- background:#dddddd;
-}
-
-tr.leftmenu td ul {
- /*list-style-position:inside;*/
- margin:0;
- padding:0;
- padding-left:16px;
- vertical-align:bottom;
- list-style-image:url( "../images/bullet.gif" );
-}
-
-.statusSuspended {
- color:#aa6600;
- font-weight:bold;
-}
-
-.statusRunning {
- color:#00cc00;
- font-weight:bold;
-}
-
-.statusEnded {
- color:#cc0000;
- font-weight:bold;
-}
-
-.statusNotstarted {
- color:#0066aa;
- font-weight:bold;
-}
-
-a.headermenu {
- padding-left:8px;
- padding-right:8px;
- text-decoration:none;
- color:#cc0000;
- border-left-width:1px;
- border-left-style:solid;
- border-left-color:#888888;
-}
-
-a.headermenufirst {
- padding-left:8px;
- padding-right:8px;
- text-decoration:none;
- color:#cc0000;
-}
-
-a.headermenu:hover, a.headermenufirst:hover {
- background:#ffffff;
- color:#cc0000;
-}
-
-table.results {
- border-width:1px;
- border-style:solid;
- border-color:#000000;
- border-collapse:collapse;
- margin-left:auto;
- margin-right:auto;
-}
-
-table.results td, table.results th {
- padding:3px;
- font-size:11px;
-}
-
-table.results thead tr {
- cursor:default;
-}
-
-table.results thead tr th {
- text-align:left;
- background-color:#990000;
- color:#ffff99;
- font-size:12px;
- border-bottom-style:solid;
- border-bottom-width:1px;
- border-bottom-color:#000000;
-}
-
-table.results thead tr th b {
- font-weight:normal;
-}
-
-table.results thead tr td {
- text-align:left;
- background-color:#dddddd;
- color:#990000;
- font-weight:bold;
- border-bottom-style:solid;
- border-bottom-width:1px;
- border-bottom-color:#000000;
-}
-
-table.results tbody.results tr {
- background-color:#dddddd;
-}
-
-table.results tbody.results tr.even {
- background-color:#ddddbb;
-}
-
-table.results tbody.results tr.odd {
- background-color:#ffffdd;
-}
-
-table.results tbody.filter td {
- text-align:left;
- font-size:10px;
- padding-bottom:1px;
- padding-top:1px;
- font-weight:normal;
- background-color:#cccccc;
- border-bottom-style:solid;
- border-bottom-width:1px;
- border-bottom-color:#000000;
-}
-
-table.results td {
- border-right-width:1px;
- border-right-style:solid;
- border-right-color:#000000;
-}
-
-table.results tbody.results th {
- padding:3px;
- text-align:left;
- text-decoration:none;
- font-size:11px;
- white-space:nowrap;
- background:#444444;
- color:#ffffff;
-}
-
-table.results tbody.action tr {
- background-color:#dddddd;
-}
-
-table.results tbody.action tr td {
- border-top-color:#000000;
- border-top-style:solid;
- border-top-width:1px;
-}
-
-table.msgs {
- margin-left:auto;
- margin-right:auto;
- margin-bottom:15px;
- border-width:1px;
- border-style:solid;
- border-collapse:collapse;
- border-color:#000000;
- font-size:10px;
- width:400px;
-}
-
-table.msgs td {
- padding-left:8px;
- padding-right:8px;
- border-bottom-width:1px;
- border-bottom-color:#000000;
- border-bottom-style:dotted;
-}
-
-table.msgs thead th {
- font-size:11px;
-}
-
-table.error thead th {
- background-color:#cc0000;
- color:#ffffff;
-}
-
-table.fatal thead th {
- background-color:#cc0000;
- color:#ffffff;
-}
-
-table.warn thead th {
- background-color:#cccc00;
- color:#ffffff;
-}
-
-table.info thead th {
- background-color:#0000cc;
- color:#ffffff;
-}
-
-.hidden {
- display:none;
-}
-
-div.pbox, div.pbox_s, div.pbox_e {
- position:absolute;
- border-width:1px;
- border-style:solid;
-}
-
-div.pbox {
- border-color:#0000ff;
-}
-
-div.pbox_s {
- border-color:#aa6600;
-}
-
-div.pbox_e {
- border-color:#cc0000;
-}
-
-div.pboxs, div.pboxs_s, div.pboxs_e {
- position:absolute;
- border-right-width:1px;
- border-right-style:solid;
- border-bottom-width:1px;
- border-bottom-style:solid;
-}
-
-div.pboxs {
- border-right-color:#9999ff;
- border-bottom-color:#9999ff;
-}
-
-div.pboxs_s {
- border-right-color:#ffaa99;
- border-bottom-color:#ffaa99;
-}
-
-div.pboxs_e {
- border-right-color:#660000;
- border-bottom-color:#660000;
-}
-
-div.pboxce {
- position:absolute;
- overflow:hidden;
-}
-
-div.pboxc, div.pboxc_s, div.pboxc_e {
- cursor:default;
- font-size:10px;
- white-space:nowrap;
- color:#ffffff;
- padding-left:3px;
- padding-right:3px;
- border-width:1px;
- border-style:solid;
-}
-
-div.pboxc {
- border-color:#0000ff;
- background-color:#0000ff;
-}
-
-div.pboxc_s {
- border-color:#aa6600;
- background-color:#aa6600;
-}
-
-div.pboxc_e {
- border-color:#cc0000;
- background-color:#cc0000;
-}
-
-div.pboxc a, div.pboxc_s a, div.pboxc_e a {
- color:#ffffff;
- text-decoration:none;
-}
-
-div.pboxc a:hover, div.pboxc_s a:hover, div.pboxc_e a:hover {
- text-decoration:underline;
-}
-
-span.comment {
- display:block;
- padding-top:3px;
- padding-bottom:3px;
- padding-left:4px;
- padding-right:4px;
- border-width:1px;
- border-color:#990000;
- border-style:solid;
- border-collapse:collapse;
- margin-left:5px;
- margin-right:5px;
- background-color:#ffffff;
- font-family:arial,helvetica,sans-serif;
- margin-top:4px;
- margin-bottom:4px;
- overflow:auto;
-}
-
-textarea.comment {
- width:480px;
- height:80px;
-}
-
-/* task forms */
-
-table.dataform {
- border-style:solid;
- border-width:1px;
- border-collapse:collapse;
- border-color:#000000;
- margin-left:auto;
- margin-right:auto;
-}
-
-table.dataform td, table.dataform th {
- padding-top:3px;
- padding-bottom:3px;
- padding-left:5px;
- padding-right:5px;
-}
-
-table.dataform thead tr th {
- text-align:left;
- background-color:#990000;
- color:#ffff99;
- font-weight:bold;
- border-bottom-style:solid;
- border-bottom-width:1px;
- border-bottom-color:#000000;
-}
-
-table.dataform tbody th {
- text-align:left;
- text-decoration:none;
- font-size:11px;
- white-space:nowrap;
- background:#444444;
- color:#ffffff;
- border-bottom-style:solid;
- border-bottom-width:1px;
- border-bottom-color:#000000;
- border-collapse:collapse;
- width:130px;
-}
-
-table.dataform tbody td {
- text-align:left;
- text-decoration:none;
- font-size:11px;
- white-space:nowrap;
- background:#dddddd;
- color:#000000;
- border-bottom-style:solid;
- border-bottom-width:1px;
- border-bottom-color:#000000;
- border-collapse:collapse;
- width:260px;
-}
-
-a.pager {
- color:#aaaaff;
-}
-
-a.pager:hover {
- color:#ffffff;
-}
-
-span.pager {
- font-weight:normal;
- color:#999999;
-}
\ No newline at end of file
Copied: projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css (from rev 6088, projects/jsf-console/branches/jsf-console-3.2-soa/gpd-deployer/src/main/webapp/jbpm.css)
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/gpd-deployer/src/main/webapp/jbpm.css 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,567 @@
+/**********************************************************
+ General styles
+***********************************************************/
+body {
+ font-weight:normal;
+ font-family:verdana,sans-serif;
+ font-size:10pt;
+ background-repeat:no-repeat;
+ margin:0;
+ border-width:0;
+ padding:0;
+}
+
+html {
+ background-attachment:scroll;
+ background-repeat:no-repeat;
+ margin:0;
+ padding:0;
+ border-width:0;
+}
+
+button, input, select, option, textarea {
+ font-family:arial,helvetica,sans-serif;
+ font-weight:normal;
+ font-size:10pt;
+ line-height:normal;
+}
+
+select {
+ vertical-align:top;
+}
+
+form {
+ display:inline;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ display:inline;
+}
+
+h1 {
+ font-size:16pt;
+}
+
+h2 {
+ font-size:14pt;
+}
+
+h3 {
+ font-size:12pt;
+}
+
+h4 {
+ font-size:10pt;
+}
+
+h5 {
+ font-size:8pt;
+}
+
+h6 {
+ font-size:6pt;
+}
+
+a {
+ cursor: pointer;
+ color: rgb(110, 110, 170);
+ text-decoration: underline;
+}
+
+a:hover {
+ color: rgb(160, 160, 255);
+}
+
+div.hr {
+ border-style:none;
+ border-width:0;
+ background:#c0c0c0;
+ margin-left:3px;
+ margin-right:3px;
+ height:2px;
+ font-size:0;
+ margin-top:6px;
+ margin-bottom:10px;
+}
+
+b {
+ font-weight:bold;
+}
+
+table.layout {
+ margin:0;
+ padding:0;
+ border-collapse:collapse;
+}
+
+table.layout td {
+ margin:0;
+ padding:0;
+}
+
+table.layout td.layoutmenu {
+ vertical-align:top;
+ margin:0;
+ padding:0;
+ width:240px;
+ background:#dddddd;
+ border-right-width:1px;
+ border-right-style:solid;
+ border-right-color:#000000;
+ border-top-width:1px;
+ border-top-style:solid;
+ border-top-color:#000000;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ border-bottom-color:#000000;
+ border-collapse:collapse;
+}
+
+table.layout td.layoutbody {
+ vertical-align:top;
+ padding:10px;
+ background:#ffffff;
+ width:100%;
+ border-top-width:1px;
+ border-top-style:solid;
+ border-top-color:#000000;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ border-bottom-color:#000000;
+ border-collapse:collapse;
+}
+
+table.layout td.layoutheader {
+ background:#dddddd;
+ border-top-width:1px;
+ border-top-style:solid;
+ border-top-color:#000000;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ border-bottom-color:#000000;
+ border-collapse:collapse;
+}
+
+table.layout td.layoutfooter {
+ text-align:center;
+ font-size:10px;
+ background:#dddddd;
+ border-top-width:1px;
+ border-top-style:solid;
+ border-top-color:#000000;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ border-bottom-color:#000000;
+ border-collapse:collapse;
+}
+
+table.leftmenu {
+ border-width:0;
+ border-bottom-width:1px;
+ border-collapse:collapse;
+ border-color:#000000;
+ width:200px;
+}
+
+tr.leftmenuheader th.nf {
+ border-top-width:1px;
+ border-top-style:solid;
+ border-top-color:#000000;
+}
+
+tr.leftmenuheader th {
+ padding-left:3px;
+ padding-right:3px;
+ background-color:#990000;
+ color:#ffff99;
+ font-size:12px;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ border-bottom-color:#000000;
+}
+
+tr.leftmenu th {
+ vertical-align:top;
+ padding:3px;
+ text-align:left;
+ text-decoration:none;
+ font-size:11px;
+ white-space:nowrap;
+ background:#444444;
+ color:#ffffff;
+}
+
+tr.leftmenu td {
+ vertical-align:top;
+ padding:3px;
+ text-align:left;
+ text-decoration:none;
+ font-size:12px;
+ white-space:nowrap;
+ background:#dddddd;
+}
+
+tr.leftmenu td ul {
+ /*list-style-position:inside;*/
+ margin:0;
+ padding:0;
+ padding-left:16px;
+ vertical-align:bottom;
+ list-style-image:url( "../images/bullet.gif" );
+}
+
+.statusSuspended {
+ color:#aa6600;
+ font-weight:bold;
+}
+
+.statusRunning {
+ color:#00cc00;
+ font-weight:bold;
+}
+
+.statusEnded {
+ color:#cc0000;
+ font-weight:bold;
+}
+
+.statusNotstarted {
+ color:#0066aa;
+ font-weight:bold;
+}
+
+a.headermenu {
+ padding-left:8px;
+ padding-right:8px;
+ text-decoration:none;
+ color:#cc0000;
+ border-left-width:1px;
+ border-left-style:solid;
+ border-left-color:#888888;
+}
+
+a.headermenufirst {
+ padding-left:8px;
+ padding-right:8px;
+ text-decoration:none;
+ color:#cc0000;
+}
+
+a.headermenu:hover, a.headermenufirst:hover {
+ background:#ffffff;
+ color:#cc0000;
+}
+
+table.results {
+ border-width:1px;
+ border-style:solid;
+ border-color:#000000;
+ border-collapse:collapse;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+table.results td, table.results th {
+ padding:3px;
+ font-size:11px;
+}
+
+table.results thead tr {
+ cursor:default;
+}
+
+table.results thead tr th {
+ text-align:left;
+ background-color:#990000;
+ color:#ffff99;
+ font-size:12px;
+ border-bottom-style:solid;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+}
+
+table.results thead tr th b {
+ font-weight:normal;
+}
+
+table.results thead tr td {
+ text-align:left;
+ background-color:#dddddd;
+ color:#990000;
+ font-weight:bold;
+ border-bottom-style:solid;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+}
+
+table.results tbody.results tr {
+ background-color:#dddddd;
+}
+
+table.results tbody.results tr.even {
+ background-color:#ddddbb;
+}
+
+table.results tbody.results tr.odd {
+ background-color:#ffffdd;
+}
+
+table.results tbody.filter td {
+ text-align:left;
+ font-size:10px;
+ padding-bottom:1px;
+ padding-top:1px;
+ font-weight:normal;
+ background-color:#cccccc;
+ border-bottom-style:solid;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+}
+
+table.results td {
+ border-right-width:1px;
+ border-right-style:solid;
+ border-right-color:#000000;
+}
+
+table.results tbody.results th {
+ padding:3px;
+ text-align:left;
+ text-decoration:none;
+ font-size:11px;
+ white-space:nowrap;
+ background:#444444;
+ color:#ffffff;
+}
+
+table.results tbody.action tr {
+ background-color:#dddddd;
+}
+
+table.results tbody.action tr td {
+ border-top-color:#000000;
+ border-top-style:solid;
+ border-top-width:1px;
+}
+
+table.msgs {
+ margin-left:auto;
+ margin-right:auto;
+ margin-bottom:15px;
+ border-width:1px;
+ border-style:solid;
+ border-collapse:collapse;
+ border-color:#000000;
+ font-size:10px;
+ width:400px;
+}
+
+table.msgs td {
+ padding-left:8px;
+ padding-right:8px;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+ border-bottom-style:dotted;
+}
+
+table.msgs thead th {
+ font-size:11px;
+}
+
+table.error thead th {
+ background-color:#cc0000;
+ color:#ffffff;
+}
+
+table.fatal thead th {
+ background-color:#cc0000;
+ color:#ffffff;
+}
+
+table.warn thead th {
+ background-color:#cccc00;
+ color:#ffffff;
+}
+
+table.info thead th {
+ background-color:#0000cc;
+ color:#ffffff;
+}
+
+.hidden {
+ display:none;
+}
+
+div.pbox, div.pbox_s, div.pbox_e {
+ position:absolute;
+ border-width:1px;
+ border-style:solid;
+}
+
+div.pbox {
+ border-color:#0000ff;
+}
+
+div.pbox_s {
+ border-color:#aa6600;
+}
+
+div.pbox_e {
+ border-color:#cc0000;
+}
+
+div.pboxs, div.pboxs_s, div.pboxs_e {
+ position:absolute;
+ border-right-width:1px;
+ border-right-style:solid;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+}
+
+div.pboxs {
+ border-right-color:#9999ff;
+ border-bottom-color:#9999ff;
+}
+
+div.pboxs_s {
+ border-right-color:#ffaa99;
+ border-bottom-color:#ffaa99;
+}
+
+div.pboxs_e {
+ border-right-color:#660000;
+ border-bottom-color:#660000;
+}
+
+div.pboxce {
+ position:absolute;
+ overflow:hidden;
+}
+
+div.pboxc, div.pboxc_s, div.pboxc_e {
+ cursor:default;
+ font-size:10px;
+ white-space:nowrap;
+ color:#ffffff;
+ padding-left:3px;
+ padding-right:3px;
+ border-width:1px;
+ border-style:solid;
+}
+
+div.pboxc {
+ border-color:#0000ff;
+ background-color:#0000ff;
+}
+
+div.pboxc_s {
+ border-color:#aa6600;
+ background-color:#aa6600;
+}
+
+div.pboxc_e {
+ border-color:#cc0000;
+ background-color:#cc0000;
+}
+
+div.pboxc a, div.pboxc_s a, div.pboxc_e a {
+ color:#ffffff;
+ text-decoration:none;
+}
+
+div.pboxc a:hover, div.pboxc_s a:hover, div.pboxc_e a:hover {
+ text-decoration:underline;
+}
+
+span.comment {
+ display:block;
+ padding-top:3px;
+ padding-bottom:3px;
+ padding-left:4px;
+ padding-right:4px;
+ border-width:1px;
+ border-color:#990000;
+ border-style:solid;
+ border-collapse:collapse;
+ margin-left:5px;
+ margin-right:5px;
+ background-color:#ffffff;
+ font-family:arial,helvetica,sans-serif;
+ margin-top:4px;
+ margin-bottom:4px;
+ overflow:auto;
+}
+
+textarea.comment {
+ width:480px;
+ height:80px;
+}
+
+/* task forms */
+
+table.dataform {
+ border-style:solid;
+ border-width:1px;
+ border-collapse:collapse;
+ border-color:#000000;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+table.dataform td, table.dataform th {
+ padding-top:3px;
+ padding-bottom:3px;
+ padding-left:5px;
+ padding-right:5px;
+}
+
+table.dataform thead tr th {
+ text-align:left;
+ background-color:#990000;
+ color:#ffff99;
+ font-weight:bold;
+ border-bottom-style:solid;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+}
+
+table.dataform tbody th {
+ text-align:left;
+ text-decoration:none;
+ font-size:11px;
+ white-space:nowrap;
+ background:#444444;
+ color:#ffffff;
+ border-bottom-style:solid;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+ border-collapse:collapse;
+ width:130px;
+}
+
+table.dataform tbody td {
+ text-align:left;
+ text-decoration:none;
+ font-size:11px;
+ white-space:nowrap;
+ background:#dddddd;
+ color:#000000;
+ border-bottom-style:solid;
+ border-bottom-width:1px;
+ border-bottom-color:#000000;
+ border-collapse:collapse;
+ width:260px;
+}
+
+a.pager {
+ color:#aaaaff;
+}
+
+a.pager:hover {
+ color:#ffffff;
+}
+
+span.pager {
+ font-weight:normal;
+ color:#999999;
+}
\ No newline at end of file
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/.classpath
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/.classpath 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/.classpath 2010-01-18 23:27:37 UTC (rev 6092)
@@ -2,7 +2,7 @@
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/pom.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/jbpm4jsf/pom.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,12 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
<!-- Distributable under LGPL license. -->
<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
<!-- ====================================================================== -->
<!-- $Id$ -->
@@ -14,7 +12,6 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<name>JBoss jBPM3 - 4JSF</name>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jsf-console-jbpm4jsf</artifactId>
@@ -30,14 +27,8 @@
<!-- Dependencies -->
<dependencies>
- <!-- jBPM Dependencies -->
+ <!-- Compile Dependencies -->
<dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-identity</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
<groupId>org.jboss.gravel</groupId>
<artifactId>gravel</artifactId>
</dependency>
@@ -45,26 +36,35 @@
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
</dependency>
+
+ <!-- Provided Dependencies -->
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.faces</groupId>
- <artifactId>jsf-api</artifactId>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-identity</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
- <artifactId>jsf-impl</artifactId>
- <scope>runtime</scope>
+ <artifactId>jsf-api</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
+
+ <!-- Runtime Dependencies -->
+ <dependency>
+ <groupId>javax.faces</groupId>
+ <artifactId>jsf-impl</artifactId>
+ <scope>runtime</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
@@ -73,9 +73,11 @@
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <showDeprecation>false</showDeprecation>
+ <source>1.5</source>
+ <target>1.5</target>
</configuration>
</plugin>
+
<plugin>
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/pom.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/pom.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
- <!-- ====================================================================== -->
- <!-- -->
- <!-- JBoss, the OpenSource J2EE webOS -->
- <!-- -->
- <!-- Distributable under LGPL license. -->
- <!-- See terms of license at http://www.gnu.org. -->
- <!-- -->
- <!-- ====================================================================== -->
+<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- ====================================================================== -->
- <!-- $Id: pom.xml 7412 2008-06-06 13:42:30Z thomas.diesler(a)jboss.com $ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!-- $Id: pom.xml 7412 2008-06-06 13:42:30Z thomas.diesler(a)jboss.com $ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>JBoss jBPM3</name>
<groupId>org.jbpm.jbpm3</groupId>
@@ -27,9 +27,9 @@
<!-- Modules -->
<modules>
- <module>soa</module>
<module>console</module>
<module>jbpm4jsf</module>
+ <module>gpd-deployer</module>
</modules>
<!-- Properties -->
@@ -40,7 +40,7 @@
<javax.el.version>1.2</javax.el.version>
<javax.faces.version>1.2_03</javax.faces.version>
<javax.servlet.version>2.5</javax.servlet.version>
- <jbpm.version>3.3.1-SNAPSHOT</jbpm.version>
+ <jbpm.version>3.2.8</jbpm.version>
<jboss.gravel.version>1.0.0.GA</jboss.gravel.version>
<junit.version>3.8.1</junit.version>
<sun.facelets.version>1.1.15.B1</sun.facelets.version>
@@ -49,6 +49,7 @@
<!-- DependencyManagement -->
<dependencyManagement>
<dependencies>
+ <!-- jBPM Dependencies -->
<dependency>
<groupId>org.jbpm.jbpm3</groupId>
<artifactId>jbpm-jpdl</artifactId>
@@ -59,6 +60,8 @@
<artifactId>jbpm-identity</artifactId>
<version>${jbpm.version}</version>
</dependency>
+
+ <!-- Thirdparty Dependencies -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
@@ -107,4 +110,27 @@
</dependencies>
</dependencyManagement>
+ <!-- Plugins -->
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- Profiles -->
+ <profiles>
+ <profile>
+ <id>soa</id>
+
+ <modules>
+ <module>soa</module>
+ </modules>
+ </profile>
+ </profiles>
</project>
Property changes on: projects/jsf-console/branches/jsf-console-3.3.1.SP/soa
___________________________________________________________________
Name: svn:ignore
+ target
.settings
Added: projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/.project
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/.project (rev 0)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/.project 2010-01-18 23:27:37 UTC (rev 6092)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>soa-webapp</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/pom.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/pom.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/pom.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
+<!-- jBPM: Workflow in Java -->
<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
<!-- Distributable under LGPL license. -->
<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
<!-- ====================================================================== -->
<!-- $Id: pom.xml 3298 2008-12-09 21:33:53Z thomas.diesler(a)jboss.com $ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>JBoss jBPM3 - SOA Overlay</name>
<groupId>org.jbpm.jbpm3</groupId>
@@ -24,10 +24,4 @@
<version>3.3.1.GA</version>
<relativePath>../pom.xml</relativePath>
</parent>
-
- <!-- Dependencies -->
- <dependencies>
-
- </dependencies>
-
</project>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/jboss-web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -20,10 +20,10 @@
<jndi-name>java:JmsXA</jndi-name>
</resource-ref>
- <ejb-ref>
+ <ejb-local-ref>
<ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
- <jndi-name>java:ejb/TimerEntityBean</jndi-name>
- </ejb-ref>
+ <local-jndi-name>java:jbpm/TimerEntityBean</local-jndi-name>
+ </ejb-local-ref>
<!-- workaround for "mapped-name is required" exception in JBoss 5.0.0.CR1 -->
<message-destination-ref>
Modified: projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/web.xml
===================================================================
--- projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/web.xml 2010-01-18 21:58:11 UTC (rev 6091)
+++ projects/jsf-console/branches/jsf-console-3.3.1.SP/soa/src/main/webapp/WEB-INF/web.xml 2010-01-18 23:27:37 UTC (rev 6092)
@@ -1,17 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <!--
- * Force initialization of the hibernate sessions in jbpm.
- * This will create the DB tables on new installations.
- * If that's not needed the listener can be removed.
- -->
- <listener>
- <listener-class>org.jbpm.web.BootstrapListener</listener-class>
- </listener>
-
<servlet>
- <description>Enable the JSF servlet. See faces-config.xml for Faces-specific configuration</description>
+ <description>Enable the JSF servlet. See faces-config.xml for Faces-specific configuration.</description>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
@@ -30,13 +23,13 @@
</servlet-mapping>
<context-param>
- <description> Use Documents Saved as *.xhtml </description>
+ <description>Use Documents Saved as *.xhtml</description>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
- <description> Facelets debug output </description>
+ <description>Facelets debug output</description>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
@@ -46,21 +39,9 @@
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
- <servlet>
- <description> This is the GDP's deployer servlet </description>
- <servlet-name>GDP Deployer Servlet</servlet-name>
- <servlet-class>org.jbpm.web.ProcessUploadServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>GDP Deployer Servlet</servlet-name>
- <url-pattern>/app/upload/*</url-pattern>
- </servlet-mapping>
-
<!--
- This role list should be changed to include all the relevant roles for your
- environment.
+ This role list should be changed to include all the relevant roles for your
+ environment.
-->
<security-role>
<role-name>admin</role-name>
@@ -70,8 +51,9 @@
</security-role>
<!--
- Security constraints - optionally customize the role name to require a login before access is allowed to the application. Also, be sure to edit jboss-web.xml to
- configure the security domain if you are deploying inside JBoss AS.
+ Security constraints - optionally customize the role name to require a login
+ before access is allowed. Also, be sure to edit jboss-web.xml to configure
+ the security domain if you are deploying inside JBoss AS.
-->
<security-constraint>
<web-resource-collection>
@@ -85,7 +67,7 @@
</auth-constraint>
</security-constraint>
- <!-- Example Login page - lists user names -->
+ <!-- SOA-P Login page -->
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
@@ -104,8 +86,7 @@
</login-config>
<!== Login configuration option #1 -->
- <!--
- Login configuration option #2 - use basic auth ==>
+ <!-- Login configuration option #2 - use basic auth ==>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>jBPM Administration Console</realm-name>
@@ -115,58 +96,49 @@
<!-- Job executor launcher ==>
<listener>
<description>
- Starts the job executor on servlet context initialization and stops it on servlet context destruction.
+ Starts the job executor on initialization and stops it on destruction.
</description>
<listener-class>org.jbpm.web.JobExecutorLauncher</listener-class>
- </listener> <!== Job executor launcher -->
+ </listener>
+ <!== Job executor launcher -->
<listener>
- <description>
- Closes the jBPM configuration on servlet context destruction, releasing
- application resources. This listener should appear after the job executor
- launcher to avoid reopening the configuration.
- </description>
+ <description>Closes the jBPM configuration on destruction, releasing resources.
+ This listener should appear after the job executor launcher,
+ to avoid reopening the configuration.</description>
<listener-class>org.jbpm.web.JbpmConfigurationCloser</listener-class>
</listener>
<resource-ref>
- <description>
- Logical name of the data source that provides connections to the persistence service.
+ <description>Logical name of the data source that provides connections to the persistence service.
Must match the hibernate.connection.datasource property in the Hibernate
- configuration file.
- </description>
+ configuration file.</description>
<res-ref-name>jdbc/JbpmDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
- <description>
- Logical name of the factory that provides JMS connections to the message service.
- Required for processes that contain asynchronous continuations.
- </description>
+ <description>Logical name of the factory that provides JMS connections to the message service.
+ Required for processes that contain asynchronous continuations.</description>
<res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
- <ejb-ref>
- <description>
- Link to the local entity bean that implements the scheduler service. Required for
- processes that contain timers.
- </description>
+ <ejb-local-ref>
+ <description>Link to the local entity bean that implements the scheduler service.
+ Required for processes that contain timers.</description>
<ejb-ref-name>ejb/TimerEntityBean</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
- <home>org.jbpm.ejb.TimerEntityHome</home>
- <remote>org.jbpm.ejb.TimerEntity</remote>
- </ejb-ref>
+ <local-home>org.jbpm.ejb.LocalTimerEntityHome</local-home>
+ <local>org.jbpm.ejb.LocalTimerEntity</local>
+ </ejb-local-ref>
<message-destination-ref>
- <description>
- The message service sends job messages to the queue referenced here. To ensure
+ <description>The message service sends job messages to the queue referenced here. To ensure
this is the same queue from which the JobListenerBean receives messages, the
- message-destination-link element points to a common logical destination, JobQueue.
- </description>
+ message-destination-link element points to a common logical destination, JobQueue.</description>
<message-destination-ref-name>jms/JobQueue</message-destination-ref-name>
<message-destination-type>javax.jms.Queue</message-destination-type>
<message-destination-usage>Produces</message-destination-usage>
16 years, 3 months