ApprovalWorkflow.java :  » Workflow-Engines » bonita-v3.1 » client » Java_client » Java Open Source

Java Open Source » Workflow Engines » bonita v3.1 
bonita v3.1 » client » Java_client » ApprovalWorkflow.java
package client.Java_client;

import javax.security.auth.login.LoginContext;
import hero.client.test.SimpleCallbackHandler;

import hero.interfaces.*;

import java.util.*;

public class ApprovalWorkflow {
  
  static public void main(String[] args) throws Exception{
    
    char[] password={'b','s','o','a'};
    SimpleCallbackHandler handler = 
      new SimpleCallbackHandler("bsoa",password);
    LoginContext lc = new LoginContext("TestClient", handler);
    lc.login();
    
    ProjectSessionHome projectSessionh=ProjectSessionUtil.getHome();
    ProjectSession pss=projectSessionh.create();
        
    pss.initModel("Approval_workflow");
    
    // Set project properties
    pss.setProperty("User_name","");
    pss.setProperty("Phone_number","");
    pss.setProperty("Email_address","");

    Collection applications = new ArrayList();
    applications.add("application1");
    applications.add("application2");
    applications.add("application3");
    pss.setPropertyPossibleValues("Available_applications",applications);
    pss.setProperty("Available_applications","application1");
    
    // Set activities
    pss.addNode("Approval",Constants.Nd.AND_JOIN_NODE);
    pss.addNode("Acceptance",Constants.Nd.AND_JOIN_AUTOMATIC_NODE);
    pss.addNode("Reject",Constants.Nd.AND_JOIN_AUTOMATIC_NODE);
    pss.setNodeTraditional("Approval");
    pss.setNodeTraditional("Acceptance");
    pss.setNodeTraditional("Reject");
    
    // Set node properties
    Collection possible_decision = new ArrayList();
    possible_decision.add("grant");
    possible_decision.add("reject");
    pss.setNodePropertyPossibleValues("Approval","decision",possible_decision);
    pss.setNodeProperty("Approval","decision","reject",true);
    
    // Set transitions
    String approval_acceptance = pss.addEdge("Approval","Acceptance");
    String approval_reject = pss.addEdge("Approval","Reject");
    pss.setEdgeCondition(approval_acceptance,"decision.equals(\"grant\")");
    pss.setEdgeCondition(approval_reject,"decision.equals(\"reject\")");
          
    // Set activity roles
    pss.addRole("Administrator","The system administator role");
    pss.setNodeRole("Approval","Administrator");

    // Set role mapper
    pss.addRoleMapper("Administrator","hero.mapper.AdministratorMapper",Constants.Mapper.PROPERTIES);
    
    // Check the defition model
    pss.checkModelDefinition();
  }
}

java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.