Package org.uengine.kernel

Source Code of org.uengine.kernel.ServiceDefinition

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

import com.ibm.wsdl.factory.*;
import javax.wsdl.xml.*;
import javax.wsdl.*;
import java.util.*;
import java.io.*;

import org.uengine.processdesigner.AntToolDialog;
import org.uengine.util.UEngineUtil;

/**
* @author Jinyoung Jang
*/
public class ServiceDefinition implements java.io.Serializable{
  private static final long serialVersionUID = org.uengine.kernel.GlobalContext.SERIALIZATION_UID;

  static Hashtable serviceDefinitions;

  String name;
    public String getName() {
      return name;
    }
    public void setName(String string) {
      name = string;
    }

  String wsdlLocation;
    public String getWsdlLocation() {
      return wsdlLocation;
    }
    public void setWsdlLocation(String string) {
      wsdlLocation = string;
    }
 
  String stubPackage;
    public String getStubPackage() {
      return stubPackage;
    }
    public void setStubPackage(String string) {
      stubPackage = string;
    }

   
  public Definition getDefinition() throws Exception{
/*    synchronized(serviceDefinitions){
      if(serviceDefinitions==null)
        serviceDefinitions = new Hashtable();
     
      if(!serviceDefinitions.containsKey(getName())){
        String wsdlUrl = getWsdlLocation();
        WSDLReader reader = (new WSDLFactoryImpl()).newWSDLReader();
        serviceDefinitions.put(getName(), reader.readWSDL(wsdlUrl));
      }
   
      return (Definition)serviceDefinitions.get(getName());   
    }*/
   
    //only when build time, it is needed to load wsdl file
    if(!GlobalContext.isDesignTime())
      return null;
   
    String wsdlUrl = getWsdlLocation();
    WSDLReader reader = (new WSDLFactoryImpl()).newWSDLReader();
    return reader.readWSDL(wsdlUrl);
  }
 
  public void generateStub() throws Exception{
    generateStub(System.out);
  }   
 
  public void generateStub(final PrintStream out) throws Exception{   
    String stubDir = System.getProperty(GlobalContext.PROPERTY_STUB_DIR, "./stubs");
    String antTool = System.getProperty(GlobalContext.PROPERTY_ANT_PATH, "ant");
   
    stubDir = stubDir + System.getProperty("file.separator") + getName();
   
    Definition def = getDefinition();
    String targetNS = def.getTargetNamespace();
   
/*    List list = def.getTypes().getExtensibilityElements();
   
    for(Iterator iter = list.iterator(); iter.hasNext();){
      Object data = iter.next();
    }*/
   
    String stubPkgName = UEngineUtil.QName2PackageName(def.getTargetNamespace());   
    setStubPackage(stubPkgName);
    
    String[] args =
    new String[]{
          "wsdl2java",
          "-Dparam.url=\"" + getWsdlLocation() +"\"",
          "-Dparam.output=\"" + new File(stubDir).getAbsolutePath() +"\"",
          "-Dparam.name=\"" + getName() +"\"",
        };
       
    String argLine = "";
    for(int i=0; i<args.length; i++)
      argLine += (args[i] + " ");

    AntToolDialog ant = new AntToolDialog();
    ant.setCommand(argLine);
    ant.run();
  }

  public String toString(){
    return getName();
  }
 
  public boolean equals(Object obj){
    if(obj !=null)
      return getName().equals(((ServiceDefinition)obj).getName());
     
    return false;
  }

}
TOP

Related Classes of org.uengine.kernel.ServiceDefinition

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.