Package org.uengine.kernel

Examples of org.uengine.kernel.WebServiceActivity


public class InvokeImplAdapter implements Adapter{

  public Object convert(Object src, java.util.Hashtable keyedContext) throws Exception{
    InvokeImpl srcAct = (InvokeImpl)src;
   
    WebServiceActivity destAct = new WebServiceActivity();
    destAct.setName(srcAct.getName());
   
    return destAct;
 
View Full Code Here


*/
   
public class WebServiceActivityAdapter implements Adapter{

  public Object convert(Object src, java.util.Hashtable keyedContext) throws Exception{
    WebServiceActivity srcAct = (WebServiceActivity)src;
    ReceiveActivity destAct = new ReceiveActivity();
    Role role = (Role)keyedContext.get("role");   
    Role myRole = (Role)keyedContext.get(ProcessDefinitionAdapter.MY_ROLE);   
    if(!srcAct.getRole().equals(role)) return null;

    Vector messageDefinitions = (Vector)keyedContext.get(ProcessDefinitionAdapter.MSG_DEFS);
    MessageDefinition md = null;   
    try{     
      Object[] parameters = srcAct.getParameters();
      ParameterContext[] paramCtxs = new ParameterContext[parameters.length];
      System.arraycopy(parameters, 0, paramCtxs, 0, parameters.length);
      md = new MessageDefinition();
      String opName = srcAct.getOperationName();
      if(opName.startsWith("on")){
        opName = opName.substring(2);
      }
      md.setName(opName);
      md.setParameters(paramCtxs);
      messageDefinitions.add(md);

      Vector variableDefinitions = (Vector)keyedContext.get(ProcessDefinitionAdapter.VAR_DEFS);
      for(int i=0; i<paramCtxs.length; i++){
        variableDefinitions.add(paramCtxs[i].getVariable());
      }     
    }catch(Exception e){
    }

    destAct.setName("Rcv. from " + srcAct.getName());
    destAct.setFromRole(myRole);
    destAct.setMessageDefinition(md);
   
    return destAct;
  }
View Full Code Here

   
public class ReceiveActivityAdapter implements Adapter{

  public Object convert(Object src, java.util.Hashtable keyedContext) throws Exception{
    ReceiveActivity srcAct = (ReceiveActivity)src;
    WebServiceActivity destAct = new WebServiceActivity();
    Role role = (Role)keyedContext.get("role");   
    Role myRole = (Role)keyedContext.get(ProcessDefinitionAdapter.MY_ROLE);   
    ServiceDefinition serviceDefinition = (ServiceDefinition)keyedContext.get(ProcessDefinitionAdapter.MY_SVC_DEF);   
    if(srcAct.getFromRole()==null || !srcAct.getFromRole().equals(role)) return null;

    try{
      String msgName = srcAct.getMessageDefinition().getName();
      destAct.setPortType(myRole.getName());
      destAct.setService(serviceDefinition);
      destAct.setOperationName(msgName);
      ParameterContext[] paramCtxs = srcAct.getParameters();     
      destAct.setParameters(paramCtxs);
     
      Vector variableDefinitions = (Vector)keyedContext.get(ProcessDefinitionAdapter.VAR_DEFS);
      for(int i=0; i<paramCtxs.length; i++){
        variableDefinitions.add(paramCtxs[i].getVariable());
      }
    }catch(Exception e){
    }   

    destAct.setName("invoke for " + srcAct.getName());
    destAct.setRole(myRole);
   
    return destAct;
  }
View Full Code Here

*/
   
public class WebServiceActivityAdapter implements Adapter{

  public Object convert(Object src, java.util.Hashtable keyedContext) throws Exception{
    WebServiceActivity srcWebServiceActivity = (WebServiceActivity)src;
   
    tSequence destSeqAct = new tSequence();
    destSeqAct.setname_Attribute(new XNCName(srcWebServiceActivity.getName().getText().replace(' ', '_') + "Sequence"));
   
    String targetNS = srcWebServiceActivity.getService().getDefinition().getTargetNamespace();
    String nsPrefix = BPELSerializer.toSafeName(srcWebServiceActivity.getService().getName(), null);
   
    String variableName = srcWebServiceActivity.getOperationName() + "Request";{
      Vector addVariables = (Vector)keyedContext.get("addVariables");
      XQName xqName = new XQName(nsPrefix, targetNS, variableName);
      variableName = "var_" + variableName;
      addVariables.add(new Object[]{variableName, xqName});     
    }
    String outVariableName = srcWebServiceActivity.getOperationName() + "Response";{
      Vector addVariables = (Vector)keyedContext.get("addVariables");
      XQName xqName = new XQName(nsPrefix, targetNS, outVariableName);
      outVariableName = "var_" + outVariableName;
      addVariables.add(new Object[]{outVariableName, xqName});     
    }
                               
    //---- build copy activity ----
    boolean assignUsed = true;
    tAssign assign = new tAssign();{
      ParameterContext params[] = new ParameterContext[srcWebServiceActivity.getParameters().length];
      System.arraycopy(srcWebServiceActivity.getParameters(), 0, params, 0, srcWebServiceActivity.getParameters().length);
     
      if(params==null || params.length==0)
        assignUsed = false;
      else
      for(int i=0; i<params.length; i++){
        ParameterContext param = params[i];
       
        tCopy copy = new tCopy();{
          tFrom tfr = new tFrom();
          tfr.setvariable_Attribute(new XNCName(BPELSerializer.toSafeName(param.getVariable().getName(), "variable" + i)));
          from fr = new from();
          fr.settFromComplexType(tfr);
         
          to tto = new to();
          tto.setvariable_Attribute(new XNCName(BPELSerializer.toSafeName(variableName, null)));
          tto.setpart_Attribute(new XNCName(BPELSerializer.toSafeName(param.getArgument().getText(), null)));
                       
          copy.setfrom(fr);
          copy.setto(tto);
        }
       
        assign.addcopy(copy);
      }
    }
    activity actGrp = new activity();
    actGrp.setassignAsChoice(assign);
    //---- end of copy activity ----
   
    destSeqAct.addactivity_Group(actGrp);
   
    //---- build invoke activity ----   
    tInvoke invoke = new tInvoke();{
      invoke.setname_Attribute(new XNCName(BPELSerializer.toSafeName(srcWebServiceActivity.getName().getText(), "Invoke")));

      //set inputVariable     
      try{
/*        ServiceDefinition sd = srcWebServiceActivity.getService();
        PortType pt = (PortType)sd.getDefinition().getPortTypes().values().iterator().next();
*/       
       
        invoke.setinputVariable_Attribute(new XNCName(variableName));
      }catch(Exception e){
        //invocation with null parameter
      }

      //set outputVariable
      invoke.setoutputVariable_Attribute(new XNCName(outVariableName));
     
      //set correlation if needed       
      boolean initiateCorrelation = false;
      boolean inboundPattern = false;
      String roleName = srcWebServiceActivity.getRole().getName();
      ProcessVariable identifier = srcWebServiceActivity.getRole().getIdentifier();
      if(identifier!=null){
        ParameterContext params[] = new ParameterContext[srcWebServiceActivity.getParameters().length];
        System.arraycopy(srcWebServiceActivity.getParameters(), 0, params, 0, srcWebServiceActivity.getParameters().length);
   
        if(params!=null && params.length>0)
        for(int i=0; i<params.length; i++){
          if(params[i].equals(identifier)){
            initiateCorrelation = true;
            break;
          }
        }
      }
      if(!initiateCorrelation && srcWebServiceActivity.getOutput()!=null){  //next, test the output variable
        if(srcWebServiceActivity.getOutput().equals(identifier)){
          initiateCorrelation = true;
          inboundPattern = true;
        }       
      }
       
      if(initiateCorrelation){
        tCorrelationsWithPattern correlations = new tCorrelationsWithPattern();
        tCorrelationWithPattern correlation = new tCorrelationWithPattern();
        correlation.setinitiate_Attribute((inboundPattern ? tBoolean.YES:tBoolean.NO));
        correlation.setset_Attribute(new XNCName(roleName + "Identification"));
        correlation.setpattern_Attribute(new XString((inboundPattern ? "in":"out")));
        correlations.addcorrelation(correlation);
        invoke.setcorrelations(correlations);   
      }
      //
       
      invoke.setoperation_Attribute(new XNCName(srcWebServiceActivity.getOperationName()));
      invoke.setportType_Attribute(new XQName(nsPrefix, targetNS, srcWebServiceActivity.getPortType()));
      invoke.setpartnerLink_Attribute(new XNCName(srcWebServiceActivity.getRole().getName().replace(' ', '_')));
    }
    actGrp = new activity();
    actGrp.setinvokeAsChoice(invoke);
    //---- end of invoke activity ----
   
    if(assignUsed)
      destSeqAct.addactivity_Group(actGrp);
     
    if(srcWebServiceActivity.getOutput()!=null){
      String src_outVarName = srcWebServiceActivity.getOutput().getName();
     
      tAssign outAssign = new tAssign();{
        tCopy copy = new tCopy();{
          tFrom tfr = new tFrom();
          tfr.setvariable_Attribute(new XNCName(outVariableName));
View Full Code Here

TOP

Related Classes of org.uengine.kernel.WebServiceActivity

Copyright © 2018 www.massapicom. 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.