Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   * 
  *   http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.    
  */
 
 package org.apache.tuscany.sca.interfacedef.wsdl.impl;
 
 import java.net.URI;
 import java.util.List;
 import java.util.Map;
 
 
Represents a WSDL definition.

Version:
$Rev: 1028185 $ $Date: 2010-10-28 06:00:40 +0100 (Thu, 28 Oct 2010) $
 
 public class WSDLDefinitionImpl implements WSDLDefinition {
 
     private Definition definition;
     private String namespace;
     private URI location;
     private URI uri;
     private List<WSDLDefinitionimported = new ArrayList<WSDLDefinition>();
     private List<XSDefinitionschemas = new ArrayList<XSDefinition>();
     private boolean unresolved;
     private Binding binding;
     
     // WSDL in the same namespace can appear in multiple contributions
     // so we need to know which port type, binding and/or service we're looking for,
     // as well as which namespace, when we're resolving WSDL 
     private QName nameOfPortTypeToResolve;
     private QName nameOfBindingToResolve;
     private QName nameOfServiceToResolve;
     private Map<StringStringwsdliLocations = new HashMap<StringString>();
 
     protected WSDLDefinitionImpl() {
     }
 
     public Definition getDefinition() {
         return ;
     }
 
     public void setDefinition(Definition definition) {
         this. = definition;
     }
 
     public boolean isUnresolved() {
         return ;
     }
 
     public void setUnresolved(boolean undefined) {
         this. = undefined;
     }
 
     public String getNamespace() {
         if (isUnresolved()) {
             return ;
         } else if ( != null) {
             return .getTargetNamespace();
         } else {
             return ;
         }
     }
 
     public void setNamespace(String namespace) {
         if (!isUnresolved()) {
             throw new IllegalStateException();
        } else {
            this. = namespace;
        }
    }
    /*
    @Override
    public int hashCode() {
        return String.valueOf(getNamespace()).hashCode();
    }
    
    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        } else if (obj instanceof WSDLDefinition) {
            WSDLDefinition def = (WSDLDefinition)obj;
            if (getNamespace() != null) {
                return getNamespace().equals(def.getNamespace());
            } else {
                return def.getNamespace() == null;
            }
        } else {
            return false;
        }
    }
    */

    
    public List<XSDefinitiongetXmlSchemas() {
        return ;
    }

    
    public URI getLocation() {
        return ;
    }

    
    public void setLocation(URI url) {
        this. = url;
    }

    
    public URI getURI() {
        return ;
    }

    
    public void setURI(URI uri) {
        this. = uri;
    }

    
        return ;
    }

    
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + (( == null) ? 0 : .hashCode());
        result = prime * result + (( == null) ? 0 : .hashCode());
        return result;
    }

    
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (!(obj instanceof WSDLDefinitionImpl))
            return false;
        final WSDLDefinitionImpl other = (WSDLDefinitionImpl)obj;
        if ( == null) {
            if (other.location != null)
                return false;
        } else if (!.equals(other.location))
            return false;
        if ( == null) {
            if (other.namespace != null)
                return false;
        } else if (!.equals(other.namespace))
            return false;
        return true;
    }

    
    public XmlSchemaElement getXmlSchemaElement(QName name) {
        XmlSchemaCollection schemaCollection = null;
        for (XSDefinition xsd : ) {
            if (schemaCollection == null && xsd.getSchemaCollection() != null) {
                schemaCollection = xsd.getSchemaCollection();
            }
            XmlSchemaElement element = xsd.getXmlSchemaElement(name);
            if (element != null) {
                return element;
            }
        }
        if (schemaCollection != null) {
           XmlSchemaElement element = schemaCollection.getElementByQName(name);
           if ( element != null) {
        	   return element;
           }
        }
        
        for ( WSDLDefinition d ) {
        	if ( d.getDefinition() ==  ) {
        		XmlSchemaElement element = d.getXmlSchemaElement(name);
            	if ( element != null )
            		return element
            	break;
        	}
        }
        for ( WSDLDefinition d :  ) {
        	XmlSchemaElement element = d.getXmlSchemaElement(name);
        	if ( element != null )
        		return element
        }
        return null;
    }

    
    public XmlSchemaType getXmlSchemaType(QName name) {
        XmlSchemaCollection schemaCollection = null;
        for (XSDefinition xsd : ) {
            if (xsd.getSchemaCollection() != null) {
                schemaCollection = xsd.getSchemaCollection();
            }
            XmlSchemaType type = xsd.getXmlSchemaType(name);
            if (type != null) {
                return type;
            }
        }
        if (schemaCollection != null) {
            XmlSchemaType type = schemaCollection.getTypeByQName(name);
            if ( type != null ) {
            	return type;
            }
        }
        
        // If this is an aggregated facade WSDL, the definition that this is intended to represent 
        // will be in the list of imports. We check for the type in this definition first before
        // proceeding to any imports. 
        // TODO - This aggregated WSDL facade is a little strange and this isn't the most efficient
        // way to handle this. For now, this resolves an issue where inline types are being 
        // returned from the wrong wsdl, but this could be improved. 
        for ( WSDLDefinition d ) {
        	if ( d.getDefinition() ==  ) {
        		XmlSchemaType type = d.getXmlSchemaType(name);
            	if ( type != null )
            		return type
            	break;
        	}
        }
        
        for ( WSDLDefinition d ) {        
        	XmlSchemaType type = d.getXmlSchemaType(name);
        	if ( type != null )
        		return type
        	break;        	
        }
        return null;
    }
    @SuppressWarnings("unchecked")
    private static <T extends WSDLElementWSDLObject<T> getWSDLObject(Definition definitionClass<T> typeQName name) {
        if (definition == null) {
            return null;
        }
        Map<QNameWSDLElementmap = null;
        if (type == PortType.class) {
            map = definition.getPortTypes();
        } else if (type == Service.class) {
            map = definition.getServices();
        } else if (type == Binding.class) {
            map = definition.getBindings();
        } else if (type == Message.class) {
            map = definition.getMessages();
        } else {
            throw new IllegalArgumentException("Invalid type: " + type.getName());
        }
        if (map.containsKey(name)) {
            return (WSDLObject<T>)new WSDLObjectImpl(definitionmap.get(name));
        } else {
            for (Object imports : definition.getImports().values()) {
                List<ImportimportList = (List<Import>)imports;
                for (Import i : importList) {
                    definition = i.getDefinition();
                    WSDLObject<T> element = getWSDLObject(definitiontypename);
                    if (element != null) {
                        return element;
                    }
                }
            }
        }
        return null;
    }
    public <T extends WSDLElementWSDLObject<T> getWSDLObject(Class<T> typeQName name) {
        return getWSDLObject(typename);
    }
    public Binding getBinding() {
        return ;
    }
    public void setBinding(Binding binding) {
        this. = binding;
    }
    
    public QName getNameOfPortTypeToResolve() {
        return ;
    }
    
    public void setNameOfPortTypeToResolve(QName nameOfPortTypeToResolve) {
        this. = nameOfPortTypeToResolve;
    }
    
    public QName getNameOfBindingToResolve() {
        return ;
    }
    
    public void setNameOfBindingToResolve(QName nameOfBindingToResolve) {
        this. = nameOfBindingToResolve;
    }
    
    public QName getNameOfServiceToResolve() {
        return ;
    }
    
    public void setNameOfServiceToResolve(QName nameOfServiceToResolve) {
        this. = nameOfServiceToResolve;
    }
    @Override
    public Map<StringStringgetWsdliLocations() {
        return  ;
    }
New to GrepCode? Check out our FAQ X