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