/* * 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.ode.bpel.compiler.wsdl; import java.util.Map; import javax.wsdl.Binding; import javax.wsdl.BindingFault; import javax.wsdl.BindingInput; import javax.wsdl.BindingOperation; import javax.wsdl.BindingOutput; import javax.wsdl.Definition; import javax.wsdl.Fault; import javax.wsdl.Input; import javax.wsdl.Message; import javax.wsdl.Operation; import javax.wsdl.Output; import javax.wsdl.Part; import javax.wsdl.Port; import javax.wsdl.PortType; import javax.wsdl.Service; import javax.wsdl.Types; import javax.wsdl.WSDLException; import javax.wsdl.factory.WSDLFactory; import org.w3c.dom.Element; /** * Little hack to solve the disfunctional WSDL4J extension mechanism. Without this, * WSDL4J will attempt to do Class.forName to get the WSDLFactory, which will break * if WSDL4J is loaded from a parent class-loader (as it often is, e.g. in ServiceMix). * * @author Maciej Szefler - m s z e f l e r @ g m a i l . c o m * */ class WSDLReaderImpl extends com.ibm.wsdl.xml.WSDLReaderImpl { private WSDLFactory _localFactory; WSDLReaderImpl(WSDLFactory factory) { _localFactory = factory; } @Override protected WSDLFactory getWSDLFactory() throws WSDLException { return _localFactory; } @Override public Binding parseBinding(Element bindingEl, Definition def) throws WSDLException { Binding binding = super.parseBinding(bindingEl, def); binding.setDocumentationElement(null); return binding; } @Override public BindingFault parseBindingFault(Element bindingFaultEl, Definition def) throws WSDLException { BindingFault bindingFault = super.parseBindingFault(bindingFaultEl, def); bindingFault.setDocumentationElement(null); return bindingFault; } @Override public BindingInput parseBindingInput(Element bindingInputEl, Definition def) throws WSDLException { BindingInput bindingInput = super.parseBindingInput(bindingInputEl, def); bindingInput.setDocumentationElement(null); return bindingInput; } @Override public BindingOperation parseBindingOperation(Element bindingOperationEl, PortType portType, Definition def) throws WSDLException { BindingOperation bindingOperation = super.parseBindingOperation(bindingOperationEl, portType, def); bindingOperation.setDocumentationElement(null); return bindingOperation; } @Override public BindingOutput parseBindingOutput(Element bindingOutputEl, Definition def) throws WSDLException { BindingOutput BindingOutput = super.parseBindingOutput(bindingOutputEl, def); BindingOutput.setDocumentationElement(null); return BindingOutput; } @SuppressWarnings("rawtypes") @Override public Definition parseDefinitions(String documentBaseURI, Element defEl, Map importedDefs) throws WSDLException { Definition definition = super.parseDefinitions(documentBaseURI, defEl, importedDefs); definition.setDocumentationElement(null); return definition; } @Override public Fault parseFault(Element faultEl, Definition def) throws WSDLException { Fault fault = super.parseFault(faultEl, def); fault.setDocumentationElement(null); return fault; } @Override public Input parseInput(Element inputEl, Definition def) throws WSDLException { Input input = super.parseInput(inputEl, def); input.setDocumentationElement(null); return input; } @Override public Message parseMessage(Element msgEl, Definition def) throws WSDLException { Message message = super.parseMessage(msgEl, def); message.setDocumentationElement(null); return message; } @Override public Operation parseOperation(Element opEl, PortType portType, Definition def) throws WSDLException { Operation operation = super.parseOperation(opEl, portType, def); operation.setDocumentationElement(null); return operation; } @Override public Output parseOutput(Element outputEl, Definition def) throws WSDLException { Output output = super.parseOutput(outputEl, def); output.setDocumentationElement(null); return output; } @Override public Part parsePart(Element partEl, Definition def) throws WSDLException { Part part = super.parsePart(partEl, def); part.setDocumentationElement(null); return part; } @Override public Port parsePort(Element portEl, Definition def) throws WSDLException { Port Port = super.parsePort(portEl, def); Port.setDocumentationElement(null); return Port; } @Override public PortType parsePortType(Element portTypeEl, Definition def) throws WSDLException { PortType portType = super.parsePortType(portTypeEl, def); portType.setDocumentationElement(null); return portType; } @Override public Service parseService(Element serviceEl, Definition def) throws WSDLException { Service service = super.parseService(serviceEl, def); service.setDocumentationElement(null); return service; } @Override public Types parseTypes(Element typesEl, Definition def) throws WSDLException { Types types = super.parseTypes(typesEl, def); types.setDocumentationElement(null); return types; } }