2012-05-09 7 views
0

タスクの移行でカスタムワークフローのプロパティ(workflowStatus)を更新したい。 詳しくは、ワークフローworkflowStatusを承認して「Approved」に変更したときに、拒否したときにこのプロパティが「Rejected」に変更されました。移行中のAlfrescoワークフローのプロパティを更新する

どうすればいいですか? JavascriptやAlfrescoJavaScriptのような別のJavaファイルを使って書いていますか? jbpmワークフローを使用します。

答えて

1

これで解決できるようになりました。私は、CustomWorkflowApproveやCustomWorkflowRejectなどの各トランジションに対して自分のアクションクラスを作成します。 これらのクラスでは、ワークフロープロパティを更新します。次のように私のあるprocessdefinition.xmlの 一部は次のとおりです。

<task-node name="approve2"> 
<task name="dmswf:reviewTask2" swimlane="approver2"> 
    <event type="task-create"> 
     <script> 
      if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate; 
      if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority; 
     </script> 
    </event> 
</task> 
<transition name="approve" to="approved" > 
    <action class="org.ace.dms.bean.CustomWorkflowApprove"/> 
</transition> 
    <transition name="reject" to="rejected" > 
     <action class="org.ace.dms.bean.CustomWorkflowReject"/> 
    </transition> 
</task-node> 

これは私のCustomWorkflowActionクラスです。

package org.ace.dms.bean; 

    import org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler; 
    import org.jbpm.graph.exe.ExecutionContext; 

    public abstract class CustomWorkflowAction extends JBPMSpringActionHandler { 

     public static final String APPROVE = "Approved"; 
     public static final String REJECT = "Rejected"; 
     public static final String WORKFLOWSTATUS = "dmswf_workflowStatus"; 

     public void updateWorkflowProperties(ExecutionContext context, 
       String workflowStatus) { 
//update custom workflow property dmswf_workflowStatus, you can update any workflow property here 
      context.setVariable(WORKFLOWSTATUS, workflowStatus); 
     } 
    } 

これは私のCustomWorkflowApproveクラスです。

package org.ace.dms.bean; 

import org.jbpm.graph.exe.ExecutionContext; 
import org.springframework.beans.factory.BeanFactory; 

public class CustomWorkflowApprove extends CustomWorkflowAction { 

    @Override 
    public void execute(ExecutionContext context) throws Exception { 
     updateWorkflowProperties(context, CustomWorkflowAction.APPROVE); 
    } 

    @Override 
    protected void initialiseHandler(BeanFactory factory) { 
     // TODO Auto-generated method stub 
     System.out.println("Initialzize Handler"); 
    } 

} 
関連する問題