You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hise-commits@incubator.apache.org by wi...@apache.org on 2010/03/23 10:06:06 UTC
svn commit: r926514 - in
/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise:
engine/HISEEngineImpl.java engine/jaxws/TaskOperationsImpl.java
runtime/Task.java
Author: witek
Date: Tue Mar 23 10:06:05 2010
New Revision: 926514
URL: http://svn.apache.org/viewvc?rev=926514&view=rev
Log:
setOutput
Modified:
incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java
incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java
incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java
Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java?rev=926514&r1=926513&r2=926514&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngineImpl.java Tue Mar 23 10:06:05 2010
@@ -47,6 +47,7 @@ public class HISEEngineImpl implements H
public final Map<String, QName> tasksMap = new HashMap<String, QName>();
public final Map<QName, TaskInfo> tasks = new HashMap<QName, TaskInfo>();
+
private HISEDao hiseDao;
private HISEUserDetails hiseUserDetails;
Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java?rev=926514&r1=926513&r2=926514&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java Tue Mar 23 10:06:05 2010
@@ -31,6 +31,8 @@ import javax.xml.namespace.QName;
import javax.xml.ws.Holder;
import javax.xml.ws.WebServiceContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.hise.dao.GenericHumanRole;
import org.apache.hise.dao.TaskQuery;
import org.apache.hise.engine.HISEEngineImpl;
@@ -57,6 +59,7 @@ import org.apache.hise.lang.xsd.htda.TTa
import org.apache.hise.lang.xsd.htdt.TTime;
import org.apache.hise.runtime.Task;
import org.springframework.transaction.annotation.Transactional;
+import org.w3c.dom.Node;
/**
* Implementation of WS-HT API. Operations are executed by end users, i.e.
@@ -74,6 +77,8 @@ import org.springframework.transaction.a
@Transactional
@WebService
public class TaskOperationsImpl implements TaskOperations {
+
+ private static Log log = LogFactory.getLog(TaskOperationsImpl.class);
private HISEEngineImpl hiseEngine;
@@ -237,8 +242,16 @@ public class TaskOperationsImpl implemen
public void complete(String identifier, Object taskData) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {
Task t = Task.load(hiseEngine, Long.parseLong(identifier));
t.setCurrentUser(getUserString());
+ //TODO set output
+ //t.setOutput(((Node) taskData).getFirstChild());
t.complete();
}
+
+ public void setOutput(String identifier, String part, Object taskData) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {
+ Task t = Task.load(hiseEngine, Long.valueOf(identifier));
+ t.setCurrentUser(getUserString());
+ t.setOutput(((Node) taskData).getFirstChild());
+ }
// not started
@@ -327,11 +340,6 @@ public class TaskOperationsImpl implemen
}
- public void setOutput(String identifier, String part, Object taskData) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {
- // TODO Auto-generated method stub
-
- }
-
public void setPriority(String identifier, BigInteger priority) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {
// TODO Auto-generated method stub
Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java?rev=926514&r1=926513&r2=926514&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java Tue Mar 23 10:06:05 2010
@@ -242,29 +242,33 @@ public class Task {
}
public static Task createNotification(HISEEngineImpl engine, TaskDefinition taskDefinition, String createdBy, Node requestXml, Node requestHeader) {
- Task t = new Task(engine, true);
+
Validate.notNull(taskDefinition);
Validate.isTrue(taskDefinition.isNotification());
+
+ Task t = new Task(engine, true);
+
t.taskDefinition = taskDefinition;
- org.apache.hise.dao.Task u = new org.apache.hise.dao.Task();
- u.setTaskDefinitionKey(taskDefinition.getTaskName().toString());
- u.setCreatedBy(createdBy);
- u.setStatus(null);
- u.getInput().put("request", new Message("request", DOMUtils.domToString(requestXml)));
- u.getInput().put("requestHeader", new Message("requestHeader", DOMUtils.domToString(requestHeader)));
- u.setCreatedOn(new Date());
- u.setActivationTime(new Date());
- u.setEscalated(false);
- u.setNotification(true);
- engine.getHiseDao().persist(u);
+
+ org.apache.hise.dao.Task taskDto = new org.apache.hise.dao.Task();
+ taskDto.setTaskDefinitionKey(taskDefinition.getTaskName().toString());
+ taskDto.setCreatedBy(createdBy);
+ taskDto.setStatus(null);
+ taskDto.getInput().put("request", new Message("request", DOMUtils.domToString(requestXml)));
+ taskDto.getInput().put("requestHeader", new Message("requestHeader", DOMUtils.domToString(requestHeader)));
+ taskDto.setCreatedOn(new Date());
+ taskDto.setActivationTime(new Date());
+ taskDto.setEscalated(false);
+ taskDto.setNotification(true);
+ engine.getHiseDao().persist(taskDto);
- t.taskDto = u;
+ t.taskDto = taskDto;
t.setStatus(Status.CREATED);
- u.setPeopleAssignments(t.getTaskEvaluator().evaluatePeopleAssignments());
+ taskDto.setPeopleAssignments(t.getTaskEvaluator().evaluatePeopleAssignments());
t.setStatus(Status.READY);
- engine.getHiseDao().persist(u);
+ engine.getHiseDao().persist(taskDto);
return t;
}
@@ -275,6 +279,10 @@ public class Task {
setStatus(Status.RESERVED);
}
+ public void setOutput(Node requestXml) {
+ __log.debug("setting task output to: " + requestXml);
+ this.taskDto.getOutput().put("request", new Message("request", DOMUtils.domToString(requestXml)));
+ }
public TaskDefinition getTaskDefinition() {
return taskDefinition;
@@ -596,6 +604,9 @@ public class Task {
sendResponse();
}
+ /**
+ * FIXME is outcome a reponse?
+ */
private void sendResponse() {
try {
Node response = taskEvaluator.evaluateOutcome(taskDto.getStatus() == Status.COMPLETED);