Package org.uengine.test

Source Code of org.uengine.test.DynamicChangeTest

/*
* Created on 2004. 12. 27.
*/
package org.uengine.test;

import junit.framework.*;
import org.uengine.processmanager.*;
import org.uengine.kernel.Activity;
import org.uengine.kernel.DefaultActivity;
import org.uengine.kernel.ProcessDefinition;
import org.uengine.kernel.ProcessVariable;
import org.uengine.kernel.Role;


import javax.naming.InitialContext;
import java.util.*;

/**
* @author Jinyoung Jang
*/
public class DynamicChangeTest extends TestCase{
 
  ProcessManagerRemote pm;
  ProcessDefinition definition;
  InitialContext jndiContext;
 
  protected void setUp() throws Exception {
    Hashtable prop = new Hashtable();
    prop.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
    prop.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
    prop.put("java.naming.provider.url", "localhost");
    jndiContext = new InitialContext(prop);

    ProcessManagerHomeRemote pmh = (ProcessManagerHomeRemote)jndiContext.lookup("ProcessManagerHomeRemote");
    pm = pmh.create();
    definition = createProcessDefinition();
  }
 
  public void testDynamicChange() throws Exception{
     
    final String changedName = "changed name";
    final String tracingTag = "_0";
    final String pdName = "dynamicChangeProcess";
    final String instName = "testInstance";
    final long pdid;
   
/*    try{
      try{   
        pdid = pm.addProcessDefinition(pdName, 0, "", false, definition, -1, -1);
      }catch(Exception e){
      }
   
      pm.initializeProcess(pdid, instName);
      //pm.executeProcess(instName);
   
      ProcessDefinition pd = pm.getProcessDefinitionWithInstanceId(instName);
      Activity act = pd.getActivity(tracingTag);
      String oldName = act.getName();
      act.setName(changedName);
      pm.changeProcessDefinition(instName, pd);
      ProcessDefinition pd2 = pm.getProcessDefinitionWithInstanceId(instName);
   
      Activity act2 = pd2.getActivity(tracingTag);
      assertTrue(act2.getName().equals(changedName));
    }catch(Exception e){
      throw e; 
    }finally{
      try{pm.removeProcessInstance(instName);}catch(Exception e){}
      try{pm.removeProcessDefinition(pdid);}catch(Exception e){}
      try{pm.removeProcessDefinition("ADHOC_" + instName);}catch(Exception e){}
    }*/
  }
 
  public ProcessDefinition createProcessDefinition(){
    ProcessDefinition def = new ProcessDefinition();
   
    def.setRoles(new Role[]{
      new Role("referencer"),
      new Role("drafter"),
      new Role("approver")
    });
       
    ProcessVariable pv;{
      pv = new ProcessVariable();
      pv.setName("var1");
      pv.setType(Integer.class);       
      def.setProcessVariables(new ProcessVariable[]{pv});
    }
     
    Activity childActivity = new DefaultActivity("test");     
    def.setAdhoc(true);   
    def.setChildActivities(new Activity[]{childActivity});
   
    return def;
  }
 
}

TOP

Related Classes of org.uengine.test.DynamicChangeTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.