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;
                               }
                           }
  

Reply via email to