tdraier 2004/11/10 11:44:51 CET
Modified files:
core/src/java/org/jahia/services/workflow
ExternalWorkflow.java
WorkflowEventListener.java
core/src/java/org/jahia/engines/workflow
AdvancedWorkflowEngine.java
Log:
updated external workflow interface
Revision Changes Path
1.7 +15 -15
jahia/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.java.diff?r1=1.6&r2=1.7&f=h
1.2 +9 -6
jahia/core/src/java/org/jahia/services/workflow/ExternalWorkflow.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/workflow/ExternalWorkflow.java.diff?r1=1.1&r2=1.2&f=h
1.5 +8 -3
jahia/core/src/java/org/jahia/services/workflow/WorkflowEventListener.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/workflow/WorkflowEventListener.java.diff?r1=1.4&r2=1.5&f=h
Index: ExternalWorkflow.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/workflow/ExternalWorkflow.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ExternalWorkflow.java 30 Mar 2004 14:13:16 -0000 1.1
+++ ExternalWorkflow.java 10 Nov 2004 10:44:50 -0000 1.2
@@ -1,6 +1,9 @@
package org.jahia.services.workflow;
+import org.jahia.services.usermanager.JahiaUser;
+import org.jahia.params.ParamBean;
+
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@@ -47,10 +50,10 @@
* @param processName
* @param objectKey
* @param languageCode
- * @param user
+ * @param jParams
* @return
*/
- String initProcess(String processName, String objectKey, String
languageCode, String user);
+ String initProcess(String processName, String objectKey, String
languageCode, ParamBean jParams);
/**
* Check if a process is already started for this object
@@ -68,7 +71,7 @@
* @param objectKey
* @param languageCode
*/
- void abortProcess(String processName, String objectKey, String
languageCode);
+ void abortProcess(String processName, String objectKey, String
languageCode, ParamBean jParams);
/**
* Get the list of all possible actions used in a process. This is used
by jahia for defining roles on each
@@ -78,12 +81,12 @@
*/
Collection getAllActions(String processName);
- Collection getAvailableActions(String processName, String objectKey,
String languageCode);
+ Collection getAvailableActions(String processName, String objectKey,
String languageCode, ParamBean jParams);
String getActionName(String processName, String actionName);
- String getParameterForm(String processName, String actionName,
HttpServletRequest req);
+ String getParameterForm(String processName, String actionName, ParamBean
jParams);
- boolean sendAction(String processName, String objectKey, String
languageCode, String user, String actionName, HttpServletRequest req);
+ boolean sendAction(String processName, String objectKey, String
languageCode, String actionName, ParamBean jParams);
}
Index: WorkflowEventListener.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/workflow/WorkflowEventListener.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WorkflowEventListener.java 28 Jul 2004 10:41:24 -0000 1.4
+++ WorkflowEventListener.java 10 Nov 2004 10:44:50 -0000 1.5
@@ -66,13 +66,18 @@
if (user == null) {
user =
ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(site.getID(),
JahiaUserManagerService.GUEST_USERNAME);
}
+
+ ParamBean jParams = we.getParams();
+ if (jParams == null) {
+ jParams = new
SoapParamBean(Jahia.getStaticServletConfig().getServletContext(),Jahia.getSettings(),System.currentTimeMillis(),
site, user);
+ }
+
switch (mode) {
case WorkflowService.INACTIVE:
Set langs = new HashSet();
langs.add(languageCode);
boolean versioningActive = site.isVersioningEnabled();
JahiaSaveVersion saveVersion = new JahiaSaveVersion
(true, versioningActive);
- ParamBean jParams = new
SoapParamBean(Jahia.getStaticServletConfig().getServletContext(),Jahia.getSettings(),System.currentTimeMillis(),
site, user);
StateModificationContext stateModifContext = new
StateModificationContext(mainObject.getObjectKey(), langs,
descendingInSubPages);
if (!object.getStagingLanguages(true).isEmpty()) {
List l = object.getChilds(jParams.getUser(),
EntryLoadRequest.CURRENT, ParamBean.NORMAL);
@@ -99,12 +104,12 @@
for (Iterator iterator =
allSiteLangs.iterator(); iterator.hasNext();) {
SiteLanguageSettings currentLang =
(SiteLanguageSettings) iterator.next();
if
(!workflow.isProcessStarted(processId,mainObject.getObjectKey().toString(),
currentLang.getCode())) {
-
workflow.initProcess(processId,mainObject.getObjectKey().toString(),
currentLang.getCode(), user.getUserKey());
+
workflow.initProcess(processId,mainObject.getObjectKey().toString(),
currentLang.getCode(), jParams);
}
}
} else {
if
(!workflow.isProcessStarted(processId,mainObject.getObjectKey().toString(),
languageCode)) {
-
workflow.initProcess(processId,mainObject.getObjectKey().toString(),
languageCode, user.getUserKey());
+
workflow.initProcess(processId,mainObject.getObjectKey().toString(),
languageCode, jParams);
}
}
}
Index: AdvancedWorkflowEngine.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/workflow/AdvancedWorkflowEngine.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AdvancedWorkflowEngine.java 7 Oct 2004 18:48:41 -0000 1.6
+++ AdvancedWorkflowEngine.java 10 Nov 2004 10:44:51 -0000 1.7
@@ -232,7 +232,7 @@
String processId =
action.substring(action.indexOf('.')+1, action.lastIndexOf('.'));
String actionName =
action.substring(action.lastIndexOf('.')+1);
ExternalWorkflow workflow =
service.getExternalWorkflow(name);
- engineMap.put("activeParameters",
workflow.getParameterForm(processId, actionName, jParams.getRequest()));
+ engineMap.put("activeParameters",
workflow.getParameterForm(processId, actionName, jParams));
} else {
engineMap.put("activeParameters",
getDefaultParams(approveRefusePendingPages.equals(action), jParams));
}
@@ -407,18 +407,18 @@
boolean processStarted =
workflow.isProcessStarted(processId, object.getObjectKey().toString(),
languageCode);
if (processStarted) {
- Collection tempAvailableOptions =
workflow.getAvailableActions(processId,
object.getObjectKey().toString(),languageCode);
+ Collection tempAvailableOptions =
workflow.getAvailableActions(processId,
object.getObjectKey().toString(),languageCode, jParams);
if
(!jParams.getPage().checkAdminAccess(jParams.getUser())) {
Set set = new
HashSet(tempAvailableOptions);
- for (Iterator iterator =
set.iterator(); iterator.hasNext();) {
- String option = (String)
iterator.next();
- JahiaGroup grp =
ServicesRegistry.getInstance()
-
.getJahiaGroupManagerService()
- .lookupGroup(0,
"workflowrole_" + inheritingParent.getObjectKey() + "_" + option);
- if (grp == null ||
!grp.isMember(jParams.getUser())) {
-
tempAvailableOptions.remove(option);
- }
- }
+// for (Iterator iterator =
set.iterator(); iterator.hasNext();) {
+// String option = (String)
iterator.next();
+// JahiaGroup grp =
ServicesRegistry.getInstance()
+//
.getJahiaGroupManagerService()
+// .lookupGroup(0,
"workflowrole_" + inheritingParent.getObjectKey() + "_" + option);
+// if (grp == null ||
!grp.isMember(jParams.getUser())) {
+//
tempAvailableOptions.remove(option);
+// }
+// }
}
for (Iterator iterator =
tempAvailableOptions.iterator(); iterator.hasNext();) {
String option = (String)
iterator.next();
@@ -662,19 +662,19 @@
if (approvePendingPages.equals(action) &&
additionalKey.equals(ACCEPT)) {
ActivationTestResults res =
ServicesRegistry.getInstance().getWorkflowService().activate(contentObject,
languageCodes, saveVersion, jParams, stateModifContext);
if (res.getStatus() ==
ActivationTestResults.COMPLETED_OPERATION_STATUS) {
-
workflow.abortProcess(processId,key.toString(), language);
+
workflow.abortProcess(processId,key.toString(), language, jParams);
}
}
if (approvePendingPages.equals(action) &&
additionalKey.equals(REFUSE)) {
ServicesRegistry.getInstance().getWorkflowService().changeStagingStatus(contentObject,
languageCodes,
EntryLoadRequest.STAGING_WORKFLOW_STATE, stateModifContext, jParams);
-
workflow.abortProcess(processId,key.toString(), language);
-
workflow.initProcess(processId,key.toString(), language,
jParams.getUser().getUserKey());
+
workflow.abortProcess(processId,key.toString(), language, jParams);
+
workflow.initProcess(processId,key.toString(), language, jParams);
}
}
if (action.indexOf('.') > -1) {
String actionName =
action.substring(action.lastIndexOf('.')+1);
- boolean result =
workflow.sendAction(processId,key.toString(), language,
jParams.getUser().getUserKey(), actionName, jParams.getRequest());
+ boolean result =
workflow.sendAction(processId,key.toString(), language, actionName, jParams);
if (!result) break;
}
}