Package org.uengine.processpublisher.bpel.importer

Source Code of org.uengine.processpublisher.bpel.importer.TwisterProcessAdapter

/*
* Created on 2004-05-08
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package org.uengine.processpublisher.bpel.importer;

import org.uengine.processpublisher.Adapter;
import org.uengine.kernel.ProcessDefinition;
import org.uengine.kernel.ProcessVariable;

import org.uengine.smcp.twister.TwisterBPELToolkit;
import org.uengine.smcp.twister.engine.priv.core.definition.*;
import java.util.*;


/**
* @author Jinyoung Jang
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class TwisterProcessAdapter implements Adapter{

  static Hashtable adapters = new Hashtable();
 
  public Object convert(Object src, java.util.Hashtable keyedContext) throws Exception{
    TwisterProcess srcProcDef = (TwisterProcess)src;       
    ProcessDefinition proc = new ProcessDefinition();
   
    proc.setName(srcProcDef.getName());
   
    Vector childActivities = new Vector();
    org.uengine.smcp.twister.engine.priv.core.definition.Activity activity = srcProcDef.getActivity();
    if(activity instanceof Sequence){
      Sequence seq = (Sequence)activity;
      List childList = seq.getActivities();
     
      for(Iterator iter = childList.iterator(); iter.hasNext(); ){
        activity = (org.uengine.smcp.twister.engine.priv.core.definition.Activity)iter.next();
       
        try{
          org.uengine.kernel.Activity destAct =
            (org.uengine.kernel.Activity)getAdapter(activity.getClass()).convert(activity, null);
          proc.addChildActivity(destAct)
        }catch(Exception e){
         
        }       
      }     
    }else{
      org.uengine.kernel.Activity destAct =
                (org.uengine.kernel.Activity)getAdapter(activity.getClass()).convert(activity, null);
      proc.addChildActivity(destAct);
   
       
    //getting variables
    {
      Vector pvdVector = new Vector();
   
      for(Iterator iter = srcProcDef.getVariables().iterator(); iter.hasNext();){
        Variable var = (Variable)iter.next();
       
        ProcessVariable pvd = new ProcessVariable();
       
        pvd.setName(var.getName());
        //pvd.setQName(var.gettype_Attribute().get());
        pvdVector.add(pvd);
      }
   
      ProcessVariable[] pvds = new ProcessVariable[pvdVector.size()];
      pvdVector.toArray(pvds);
      proc.setProcessVariables(pvds);     
    }
    //
   
    //setting roles
    /*{
      Vector roleVector = new Vector();

      tPartnerLinks partnerLinks = srcProc.getpartnerLinks();

      for(Enumeration enum = partnerLinks.enumeratepartnerLink(); enum.hasMoreElements();){
        Role role = new Role();
        tPartnerLink partnerLink = (tPartnerLink)enum.nextElement();
        role.setName(partnerLink.getname_Attribute().get());
        //pvd.setQName(var.gettype_Attribute().get());
        roleVector.add(role);
      }
   
      Role[] roles = new Role[roleVector.size()];
      roleVector.toArray(roles);
      proc.setRoles(roles);     
    }*/
    //
       
    return proc;
  }
 
  protected static Adapter getAdapter(Class activityType){
    if(adapters.containsKey(activityType))
      return (Adapter)adapters.get(activityType);
   
    Adapter adapter = null;
    do
      try{
        String activityTypeName = org.uengine.util.UEngineUtil.getClassNameOnly(activityType);
System.out.println("activityTypeName:"+"org.uengine.processpublisher.bpel.importer." + activityTypeName + "Adapter");     
        adapter = (Adapter)Class.forName("org.uengine.processpublisher.bpel.importer." + activityTypeName + "Adapter").newInstance();
       
        adapters.put(activityType, adapter);
      }catch(Exception e){
        activityType = activityType.getSuperclass();
      }
System.out.println("activityType:"+activityType);
    }while(adapter==null && activityType!=Object.class);

    if(adapter==null)     
      System.out.println("ProcessDefinitionAdapter::getAdapter : can't find adapter for " + activityType);
     
    return adapter;
  }
 
  public static void main(String [] args) throws Exception{
    org.smartcomps.twister.common.configuration.XMLConfigurationReader.loadConfiguration();
    TwisterBPELToolkit ttk = new TwisterBPELToolkit();
    TwisterProcess tp = ttk.read(new java.io.FileInputStream(args[0]), new java.io.FileInputStream(args[1]));
   
    System.out.println(tp);
   
  }

}
TOP

Related Classes of org.uengine.processpublisher.bpel.importer.TwisterProcessAdapter

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.