[Yanel-commits] rev 24549 - in public/yanel/trunk/src:
core/java/org/wyona/yanel/core/api/attributes
core/java/org/wyona/yanel/core/workflow
resources/xml/src/java/org/wyona/yanel/impl/resources
webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Wed May 16 16:42:02 CEST 2007
Author: michi
Date: 2007-05-16 16:42:01 +0200 (Wed, 16 May 2007)
New Revision: 24549
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/api/attributes/WorkflowableV1.java
public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java
public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
workflow neutron response according no new Neutron spec
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/api/attributes/WorkflowableV1.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/api/attributes/WorkflowableV1.java 2007-05-16 14:39:05 UTC (rev 24548)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/api/attributes/WorkflowableV1.java 2007-05-16 14:42:01 UTC (rev 24549)
@@ -42,6 +42,8 @@
void setWorkflowVariable(String name, String value) throws WorkflowException;
void removeWorkflowVariable(String name) throws WorkflowException;
+ String getWorkflowIntrospection() throws WorkflowException;
+
//boolean canDoTransition(String transitionID) throws WorkflowException;
//String[] getPossibleTransitions() throws WorkflowException;
}
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java 2007-05-16 14:39:05 UTC (rev 24548)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java 2007-05-16 14:42:01 UTC (rev 24549)
@@ -154,7 +154,7 @@
WorkflowableV1 workflowable = (WorkflowableV1)resource;
String liveRevision = getLiveRevision(resource);
if (revisions != null && revisions.length > 0) {
- sb.append("<versions>");
+ sb.append("<versions xmlns=\"http://www.wyona.org/neutron/2.0\">");
for (int i = revisions.length - 1; i >= 0; i--) {
sb.append("<version url=\"?yanel.resource.revision=" + revisions[i].getName() + "\">");
@@ -214,46 +214,6 @@
}
}
- public static String getWorkflowIntrospectionAnswer(Resource resource, String revision) throws WorkflowException {
- try {
- StringBuffer sb = new StringBuffer();
- WorkflowableV1 workflowable = (WorkflowableV1)resource;
-
- Workflow workflow = getWorkflow(resource);
- String state = workflowable.getWorkflowState(revision);
- if (state == null) {
- state = workflow.getInitialState();
- }
- String date = "";
-
- sb.append("<workflow xmlns=\"http://www.wyona.org/neutron/2.0\">");
- sb.append(" <state date=\"" + date + "\">" + state + "</state>");
-
- Transition[] transitions = workflow.getLeavingTransitions(state);
-
- sb.append("<transitions>");
-transitions: for (int j = 0; j < transitions.length; j++) {
- Condition[] conditions = transitions[j].getConditions();
- for (int k = 0; k < conditions.length; k++) {
- if (!conditions[k].isComplied(workflowable, workflow, revision)) {
- continue transitions; // jump to next transition
- }
- }
- sb.append("<transition id=\""+transitions[j].getID()+"\" to=\""+transitions[j].getDestinationState()+"\" url=\"?yanel.resource.workflow.transition="+transitions[j].getID()+"\" method=\"POST\">");
- sb.append("<description>"+transitions[j].getID()+"</description>");
- sb.append("</transition>");
- }
- sb.append("</transitions>");
- sb.append("<history/>");
- sb.append("</workflow>");
-
- return sb.toString();
- } catch (Exception e) {
- log.error(e, e);
- throw new WorkflowException(e.getMessage(), e);
- }
- }
-
public static String getWorkflowVariable(Resource resource, String name) throws WorkflowException {
try {
Node node = resource.getRealm().getRepository().getNode(resource.getPath());
Modified: public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java
===================================================================
--- public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java 2007-05-16 14:39:05 UTC (rev 24548)
+++ public/yanel/trunk/src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java 2007-05-16 14:42:01 UTC (rev 24549)
@@ -658,5 +658,9 @@
public Date getWorkflowDate(String revision) throws WorkflowException {
return WorkflowHelper.getWorkflowDate(this, revision);
}
+
+ public String getWorkflowIntrospection() throws WorkflowException {
+ return WorkflowHelper.getWorkflowIntrospection(this);
+ }
}
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2007-05-16 14:39:05 UTC (rev 24548)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2007-05-16 14:42:01 UTC (rev 24549)
@@ -577,9 +577,7 @@
response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
StringBuffer sb = new StringBuffer("<?xml version=\"1.0\"?>");
- //sb.append(WorkflowHelper.getWorkflowIntrospection(resource));
- // TODO: don't use WorkflowHelper here, it's implementation specific!
- sb.append(WorkflowHelper.getWorkflowIntrospectionAnswer(resource, revision));
+ sb.append(workflowable.getWorkflowIntrospection());
PrintWriter w = response.getWriter();
w.print(sb);
return;
More information about the Yanel-commits
mailing list