Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java')
-rw-r--r--bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java514
1 files changed, 0 insertions, 514 deletions
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java b/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java
deleted file mode 100644
index 3cb3670e2..000000000
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/src/org/eclipse/jst/ws/internal/axis/consumption/ui/util/WSDLUtils.java
+++ /dev/null
@@ -1,514 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060216 127138 pmoogk@ca.ibm.com - Peter Moogk
- *******************************************************************************/
-
-package org.eclipse.jst.ws.internal.axis.consumption.ui.util;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-import org.apache.axis.wsdl.toJava.Utils;
-import org.eclipse.wst.wsdl.internal.impl.wsdl4j.WSDLFactoryImpl;
-import com.ibm.icu.text.Collator;
-import com.ibm.icu.util.StringTokenizer;
-
-public class WSDLUtils {
-
- private static final String DOT = ".";
-
- /**
- * These are java keywords as specified at the following URL (sorted alphabetically).
- * http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#229308
- * Note that false, true, and null are not strictly keywords; they are literal values,
- * but for the purposes of this array, they can be treated as literals.
- */
- static final String keywords[] =
- {
- "abstract", "boolean", "break", "byte", "case",
- "catch", "char", "class", "const", "continue",
- "default", "do", "double", "else", "extends",
- "false", "final", "finally", "float", "for",
- "goto", "if", "implements", "import", "instanceof",
- "int", "interface", "long", "native", "new",
- "null", "package", "private", "protected", "public",
- "return", "short", "static", "strictfp", "super",
- "switch", "synchronized", "this", "throw", "throws",
- "transient", "true", "try", "void", "volatile",
- "while"
- };
-
- /** Collator for comparing the strings */
- static final Collator englishCollator = Collator.getInstance(Locale.ENGLISH);
-
- /** Use this character as suffix */
- static final char keywordPrefix = '_';
-
- private WSDLUtils() {
- }
-
- /**
- * Returns the name of the first service element in the WSDL definition.
- * @return String service element name
- */
- public static String getServiceElementName(Definition definition) {
- Service service = (Service) definition.getServices().values().iterator().next();
- return service.getQName().getLocalPart();
- }
-
- /**
- * Returns the name of the port type element points to by the first service and port element in the WSDL definition.
- * @return String port type element name
- */
- public static String getPortTypeName(Definition definition) {
- Service service = (Service) definition.getServices().values().iterator().next();
- Iterator iterator = service.getPorts().values().iterator();
- while(iterator.hasNext()){
- Port port = (Port) iterator.next();
- for (int i=0; i<port.getExtensibilityElements().size();i++) {
- if (port.getExtensibilityElements().get(i) instanceof SOAPAddress) {
- Binding binding = port.getBinding();
- return binding.getPortType().getQName().getLocalPart();
- }
- }
- }
- return "";
-
- }
-
- /**
- * Returns the name of the port element in the WSDL definition.
- * @return String port name
- */
- public static String getPortName(Definition definition) {
- Service service = (Service) definition.getServices().values().iterator().next();
- Iterator iterator = service.getPorts().values().iterator();
- while(iterator.hasNext()){
- Port port = (Port) iterator.next();
- for (int i=0; i<port.getExtensibilityElements().size();i++) {
- if (port.getExtensibilityElements().get(i) instanceof SOAPAddress)
- return port.getName();
- }
- }
- return "";
- }
-
-
-
- public static String makeNamespace (String clsName) {
- return makeNamespace(clsName, "http");
- }
-
- /**
- * Make namespace from a fully qualified class name
- * and the given protocol
- *
- * @param clsName fully qualified class name
- * @param protocol protocol String
- * @return namespace namespace String
- */
- public static String makeNamespace (String clsName, String protocol) {
- if (clsName.lastIndexOf('.') == -1)
- return protocol + "://" + "DefaultNamespace";
- String packageName = clsName.substring(0, clsName.lastIndexOf('.'));
- return makeNamespaceFromPackageName(packageName, protocol);
- }
-
-
- private static String makeNamespaceFromPackageName(String packageName, String protocol) {
- if (packageName == null || packageName.equals(""))
- return protocol + "://" + "DefaultNamespace";
- StringTokenizer st = new StringTokenizer( packageName, "." );
- String[] words = new String[ st.countTokens() ];
- for(int i = 0; i < words.length; ++i)
- words[i] = st.nextToken();
-
- StringBuffer sb = new StringBuffer(80);
- for(int i = words.length-1; i >= 0; --i) {
- String word = words[i];
- // seperate with dot
- if( i != words.length-1 )
- sb.append('.');
- sb.append( word );
- }
- return protocol + "://" + sb.toString();
- }
-
- /**
- * Return a Definition for the wsdl url given
- *
- */
- public static Definition getWSDLDefinition(String wsdlURL)
- {
- if(wsdlURL == null) return null;
-
- WSDLFactory wsdlFactory;
- Definition definition = null;
- try {
- wsdlFactory = new WSDLFactoryImpl();
- WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
- definition = wsdlReader.readWSDL(wsdlURL);
- }
- catch (Exception e) { // can be WSDLException or IOException
- return null;
- }
- return definition;
- }
-
- public static String getPackageName(Definition definition)
- {
- if (definition != null)
- {
- String namespace = definition.getTargetNamespace();
- return namespaceURI2PackageName(namespace);
- }
- return "";
- }
-
- public static String getPackageNameForBindingImpl(Port port, Map ns2pkgMap)
- {
- if (port != null && ns2pkgMap != null)
- {
- Binding binding = port.getBinding();
- QName bndQName = binding.getQName();
- String namespace = bndQName.getNamespaceURI();
- Object pkg = ns2pkgMap.get(namespace);
- if (pkg != null)
- return (String)pkg;
- }
- return getPackageNameForBindingImpl(port);
- }
-
- public static String getPackageNameForBindingImpl(Definition definition, Map ns2pkgMap)
- {
- if (definition != null && ns2pkgMap != null)
- {
- Service service = (Service) definition.getServices().values().iterator().next();
- Port port = (Port) service.getPorts().values().iterator().next();
- return getPackageNameForBindingImpl(port, ns2pkgMap);
- }
- return getPackageNameForBindingImpl(definition);
- }
-
- public static String getPackageNameForBindingImpl(Definition definition)
- {
- Port port = null;
- if (definition != null)
- {
- Service service = (Service)definition.getServices().values().iterator().next();
- port = (Port)service.getPorts().values().iterator().next();
- }
- return getPackageNameForBindingImpl(port);
- }
-
-// This is yet another naming algorithm based on webservices.jar
-// They always use the binding namespace as the package name
-// of the BindingImpl class.
-public static String getPackageNameForBindingImpl(Port port)
-{
- if (port != null)
- {
- Binding binding = port.getBinding();
-// PortType portType = binding.getPortType();
- QName bndQName = binding.getQName();
- String namespace = bndQName.getNamespaceURI();
- return namespaceURI2PackageName(namespace);
- }
- return "";
-}
-
-/**
-* Get the namespace for the Port Type
-*
-*/
-public static String getPortTypeNamespace(Definition definition)
-{
- String namespace = "";
- if (definition != null)
- {
- Service service = (Service) definition.getServices().values().iterator().next();
- Iterator iterator = service.getPorts().values().iterator();
- while(iterator.hasNext()){
- Port port = (Port) iterator.next();
- for (int i=0; i<port.getExtensibilityElements().size();i++) {
- if (port.getExtensibilityElements().get(i) instanceof SOAPAddress){
- PortType portType = port.getBinding().getPortType();
- QName bndQName = portType.getQName();
- namespace = bndQName.getNamespaceURI();
- }
- }
- }
- }
- return namespace;
-}
-
-// This is yet another naming algorithm based on webservices.jar
-// They always use the porttype namespace as the package name
-// of the Java class (in ejb).
-public static String getPackageNameForPortType(Definition definition)
-{
- if (definition != null)
- {
- String namespace = getPortTypeNamespace(definition);
- return namespaceURI2PackageName(namespace);
- }
- return "";
-}
-
- /**
- * checks if the input string is a valid java keyword.
- * @return boolean true/false
- */
- public static boolean isJavaKeyword(String keyword) {
- return (Arrays.binarySearch(keywords, keyword, englishCollator) >= 0);
- }
-
- /**
- * Turn a java keyword string into a non-Java keyword string. (Right now
- * this simply means appending an underscore.)
- */
- public static String makeNonJavaKeyword(String keyword){
- return keywordPrefix + keyword;
- }
-
- public static String getFullyQualifiedPortTypeName(Definition definition)
- {
- StringBuffer beanName = new StringBuffer();
- beanName.append(getPackageNameForPortType(definition));
- beanName.append(DOT);
- beanName.append(getPortTypeName(definition));
- return beanName.toString();
-
- }
-
- /**
- * getName
- * @param uri String
- * @return get the file name after the last \ and /
- */
- public static String getName(String uri) {
-
- // Get everything after last slash or backslash
- int bslash = uri.lastIndexOf("\\");
- int slash = uri.lastIndexOf("/");
- int i = bslash > slash ? bslash : slash;
- String fileName = uri.substring(i+1).replace('?', '.');
-
- return fileName;
- }
-
-
-/**
- * getWSDLName
- * @param uri String
- * @return get the file name after the last \ and /, trimmed, defaulted to
- * "default.wsdl" if there is no name, and ending with ".wsdl".
- */
- public static String getWSDLName(String uri) {
-
- // Get everything after last slash or backslash from input URI
- // with no whitespace.
- String WSDLName = getName(uri).trim();
-
- // if empty, return the default "default.wsdl"
- if ( WSDLName.equals( "" ) ) {
- WSDLName = "default.wsdl";
- }
-
- // make sure name ends with ".wsdl", lower case.
- else {
- if ( ! WSDLName.endsWith( ".wsdl" ) ) {
- if ( WSDLName.toLowerCase().endsWith( ".wsdl" ) ) {
- int lastDot = WSDLName.lastIndexOf(".");
- WSDLName = WSDLName.substring( 0, lastDot ) + ".wsdl";
- }
- else {
- WSDLName = WSDLName + ".wsdl";
- }
- }
- }
-
- return WSDLName;
- }
-
- /**
- * getPortTypeNameFromBeanName
- * @param beanname String
- * @return get the port type name based on the bean name
- */
- public static String getPortTypeNameFromBeanName(String beanName) {
- return beanName.substring(beanName.lastIndexOf('.') + 1);
- }
-
- public static String getPackageName(Service service, Map ns2pkgMap)
- {
- if (service != null)
- {
- String namespace = service.getQName().getNamespaceURI();
- if (ns2pkgMap != null)
- {
- Object pkg = ns2pkgMap.get(namespace);
- if (pkg != null)
- return (String)pkg;
- }
- return namespaceURI2PackageName(namespace);
- }
- else
- return "";
- }
-
- public static String getPackageName(Port port, Map ns2pkgMap)
- {
- if (port != null)
- return getPackageName(port.getBinding(), ns2pkgMap);
- else
- return "";
- }
-
- public static String getPackageName(Binding binding, Map ns2pkgMap)
- {
- if (binding != null)
- {
- String namespace = binding.getQName().getNamespaceURI();
- if (ns2pkgMap != null)
- {
- Object pkg = ns2pkgMap.get(namespace);
- if (pkg != null)
- return (String)pkg;
- }
- return namespaceURI2PackageName(namespace);
- }
- else
- return "";
- }
-
- public static String getPackageName(PortType portType, Map ns2pkgMap)
- {
- if (portType != null)
- {
- String namespace = portType.getQName().getNamespaceURI();
- if (ns2pkgMap != null)
- {
- Object pkg = ns2pkgMap.get(namespace);
- if (pkg != null)
- return (String)pkg;
- }
- return namespaceURI2PackageName(namespace);
- }
- else
- return "";
- }
-
-
- /**
- * namespaceURI2PackageName
- * @param namespaceURI
- * @return package name based on namespace
- */
- public static String namespaceURI2PackageName(String namespaceURI)
- {
- /**
- * TODO: The makePackageName method from
- * org.apache.axis.wsdl.toJava.Utils in axis-1_1 is called to map namespace to package name.
- * This will be replaced with an extension point to plug in runtime emitter specific namespace to
- * package mapping algorithm
- */
- return Utils.makePackageName(namespaceURI);
-
-// StringBuffer sb = new StringBuffer(80);
-// if (namespaceURI != null && namespaceURI.length() > 0)
-// {
-// String hostname = null;
-// try
-// {
-// hostname = new URL(namespaceURI).getHost();
-// }
-// catch (MalformedURLException e)
-// {
-// int index = namespaceURI.indexOf(":");
-// if (index > -1)
-// {
-// hostname = namespaceURI.substring(index+1);
-// index = hostname.indexOf("/");
-// if (index > -1)
-// hostname = hostname.substring(0, index);
-// }
-// else
-// hostname = namespaceURI;
-// }
-//
-// // if we didn't file a hostname, bail
-// if (hostname == null) {
-// return null;
-// }
-//
-// //convert illegal java identifier
-// hostname = hostname.replace('-', '_');
-// // tokenize the hostname and reverse it
-// StringTokenizer st = new StringTokenizer(hostname, ".");
-// String[] words = new String[st.countTokens()];
-// for (int i = 0; i < words.length; ++i)
-// words[i] = st.nextToken();
-// for(int i = words.length-1; i >= 0; --i)
-// {
-// String word = words[i];
-// if (isJavaKeyword(word))
-// word = makeNonJavaKeyword(word);
-// // seperate with dot
-// if (i != words.length-1)
-// sb.append('.');
-// // convert digits to underscores
-// if (Character.isDigit(word.charAt(0)))
-// sb.append('_');
-// sb.append(word);
-// }
-// }
-// return normalizePackageName(sb.toString(), DOT.charAt(0));
- }
-
-
- public static String resolveDotInPortName(String name) {
- if(name.indexOf(".")<0)
- {
- return name;
- }
- StringBuffer sb = new StringBuffer();
- boolean afterDot = false;
- for(int i=0; i<name.length(); i++)
- {
- if(name.charAt(i)=='.')
- {
- afterDot = true;
- }
- else if(afterDot)
- {
- sb.append(name.substring(i,i+1).toUpperCase());
- afterDot=false;
- }
- else
- {
- sb.append(name.charAt(i));
- }
- }
- return sb.toString();
- }
-}

Back to the top