Return-Path: Delivered-To: apmail-ws-woden-dev-archive@www.apache.org Received: (qmail 24550 invoked from network); 1 Sep 2009 05:54:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 1 Sep 2009 05:54:54 -0000 Received: (qmail 94564 invoked by uid 500); 1 Sep 2009 05:54:53 -0000 Delivered-To: apmail-ws-woden-dev-archive@ws.apache.org Received: (qmail 94519 invoked by uid 500); 1 Sep 2009 05:54:53 -0000 Mailing-List: contact woden-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: woden-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list woden-dev@ws.apache.org Received: (qmail 94510 invoked by uid 500); 1 Sep 2009 05:54:53 -0000 Delivered-To: apmail-ws-woden-cvs@ws.apache.org Received: (qmail 94507 invoked by uid 99); 1 Sep 2009 05:54:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Sep 2009 05:54:53 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Sep 2009 05:54:47 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 66B0A23888DC; Tue, 1 Sep 2009 05:54:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r809835 [1/11] - in /webservices/woden/trunk/java/woden-api: ./ src/ src/main/ src/main/java/ src/main/java/javax/ src/main/java/javax/xml/ src/main/java/javax/xml/namespace/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/ap... Date: Tue, 01 Sep 2009 05:54:21 -0000 To: woden-cvs@ws.apache.org From: sagara@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090901055427.66B0A23888DC@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sagara Date: Tue Sep 1 05:54:15 2009 New Revision: 809835 URL: http://svn.apache.org/viewvc?rev=809835&view=rev Log: Merging Woden-211 branch as the trunk. Added: webservices/woden/trunk/java/woden-api/src/ webservices/woden/trunk/java/woden-api/src/main/ webservices/woden/trunk/java/woden-api/src/main/java/ webservices/woden/trunk/java/woden-api/src/main/java/javax/ webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/ webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/namespace/ webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/namespace/QName.java webservices/woden/trunk/java/woden-api/src/main/java/org/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorHandler.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorInfo.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorLocator.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorReporter.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLException.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLFactory.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLReader.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLSource.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/XMLElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/about-this-package webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/resolver/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/resolver/URIResolver.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/schema/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/schema/ImportedSchema.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/schema/InlinedSchema.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/schema/Schema.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/types/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/types/NCName.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/types/NamespaceDeclaration.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/types/QNameTokenUnion.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/types/XMLChar.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/Binding.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/BindingFault.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/BindingFaultReference.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/BindingMessageReference.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/BindingOperation.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/Description.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/ElementDeclaration.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/Endpoint.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/Interface.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/InterfaceFault.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/InterfaceFaultReference.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/InterfaceMessageReference.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/InterfaceOperation.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/NestedComponent.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/Service.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/TypeDefinition.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/WSDLComponent.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/enumeration/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/enumeration/Direction.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/enumeration/MessageLabel.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/AttributeExtensible.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/BaseComponentExtensionContext.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ComponentExtensionContext.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ElementExtensible.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionDeserializer.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionProperty.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionRegistrar.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionSerializer.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/GenericExtensionProperty.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/PropertyExtensible.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionDeserializer.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionSerializer.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/WSDLExtensionConstants.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/about-this-package webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPAuthenticationScheme.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPConstants.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPErrorStatusCode.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeader.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeaderElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPLocation.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPLocationTemplate.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/rpc/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/rpc/Argument.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/rpc/Direction.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/rpc/RPCConstants.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/rpc/RPCInterfaceOperationExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPBindingExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPBindingOperationExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPConstants.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPEndpointExtensions.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPFaultCode.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPFaultSubcodes.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPHeaderBlock.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPHeaderBlockElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModule.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/soap/SOAPModuleElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingFaultReferencePart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingMessageReferencePart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingOperationPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/BindingPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ComponentPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/DescriptionPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ElementDeclarationPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/EndpointPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ExtensionsPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/FragmentIdentifier.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceFaultReferencePart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceMessageReferencePart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfaceOperationPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/InterfacePart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/ServicePart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/fragids/TypeDefinitionPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/Assertion.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/AssertionInfo.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/validation/WodenContext.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingFaultReferenceElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingMessageReferenceElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/BindingOperationElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DescriptionElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentableElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/DocumentationElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/EndpointElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ImportElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/IncludeElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceFaultReferenceElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceMessageReferenceElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/InterfaceOperationElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/NestedElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/ServiceElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/TypesElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/xml/WSDLElement.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/ArgumentArrayAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/BooleanAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/HTTPAuthenticationSchemeAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/IntOrTokenAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/QNameAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/QNameListAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/QNameListOrTokenAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/QNameOrTokenAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/StringAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/TokenAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/URIAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/UnknownAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xml/XMLAttr.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/ElementPointerPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/InvalidXPointerException.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/PointerPart.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/XPointer.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/XPointerParser.java webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/xpointer/XmlnsPointerPart.java webservices/woden/trunk/java/woden-api/src/main/resources/ webservices/woden/trunk/java/woden-api/src/main/resources/org/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/about-this-package webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/XMLSchema.dtd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/XMLSchema.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/datatypes.dtd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/wsdl20-extensions.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/wsdl20-http.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/wsdl20-instance.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/wsdl20-rpc.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/wsdl20-soap.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/wsdl20.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/resolver/xml.xsd webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/about-this-package webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/extensions/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/extensions/about-this-package webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/fragids/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/fragids/about-this-package webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/xml/ webservices/woden/trunk/java/woden-api/src/main/resources/org/apache/woden/wsdl20/xml/about-this-package webservices/woden/trunk/java/woden-api/src/main/resources/schema.catalog webservices/woden/trunk/java/woden-api/src/test/ webservices/woden/trunk/java/woden-api/src/test/java/ webservices/woden/trunk/java/woden-api/src/test/java/javax/ webservices/woden/trunk/java/woden-api/src/test/java/javax/xml/ webservices/woden/trunk/java/woden-api/src/test/java/javax/xml/namespace/ webservices/woden/trunk/java/woden-api/src/test/java/javax/xml/namespace/QNameDeserializeTest.java webservices/woden/trunk/java/woden-api/src/test/java/javax/xml/namespace/QNameTest.java webservices/woden/trunk/java/woden-api/src/test/java/org/ webservices/woden/trunk/java/woden-api/src/test/java/org/apache/ webservices/woden/trunk/java/woden-api/src/test/java/org/apache/woden/ webservices/woden/trunk/java/woden-api/src/test/java/org/apache/woden/types/ webservices/woden/trunk/java/woden-api/src/test/java/org/apache/woden/types/NCNameTest.java webservices/woden/trunk/java/woden-api/src/test/java/org/apache/woden/types/QNameTokenUnionTest.java webservices/woden/trunk/java/woden-api/src/test/java/org/apache/woden/xpointer/ webservices/woden/trunk/java/woden-api/src/test/java/org/apache/woden/xpointer/XPointerTest.java webservices/woden/trunk/java/woden-api/src/test/resources/ webservices/woden/trunk/java/woden-api/src/test/resources/javax/ webservices/woden/trunk/java/woden-api/src/test/resources/javax/xml/ webservices/woden/trunk/java/woden-api/src/test/resources/javax/xml/namespace/ webservices/woden/trunk/java/woden-api/src/test/resources/javax/xml/namespace/serialized_QName_no_prefix (with props) Modified: webservices/woden/trunk/java/woden-api/pom.xml Modified: webservices/woden/trunk/java/woden-api/pom.xml URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/pom.xml?rev=809835&r1=809834&r2=809835&view=diff ============================================================================== --- webservices/woden/trunk/java/woden-api/pom.xml (original) +++ webservices/woden/trunk/java/woden-api/pom.xml Tue Sep 1 05:54:15 2009 @@ -30,19 +30,8 @@ Woden - API - ../src - ../src - - **/internal/** - **/tool/converter/** - org/apache/woden/ant/** - javax/xml/namespace/** - **/*.java - - - META-INF ../ @@ -52,11 +41,7 @@ - META-INF - ../resources - - schema.catalog - + src/main/resources @@ -64,12 +49,6 @@ maven-compiler-plugin - - **/internal/** - **/tool/converter/** - org/apache/woden/ant/** - javax/xml/namespace/** - 1.4 1.4 -g @@ -92,13 +71,60 @@ - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - \ No newline at end of file + + + + + + + + + jdk1.5 + + 1.5 + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/QNameDeserializeTest.java + + + + + + + + + + jdk1.6 + + 1.6 + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/QNameDeserializeTest.java + + + + + + + + + Added: webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/namespace/QName.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/namespace/QName.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/namespace/QName.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/javax/xml/namespace/QName.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,324 @@ +/** + * 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 javax.xml.namespace; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.Serializable; + +/** + * QName class represents the value of a qualified name + * as specified in XML + * Schema Part2: Datatypes specification. + *

+ * The WSDL4J version of QName has been copied and updated for Apache Woden to + * match the Javadoc of the QName class defined for Java 5.0 at: + *
+ * http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/QName.html + *

+ * The value of a QName contains a namespaceURI, a localPart + * and a prefix. + * The localPart provides the local part of the qualified name. The + * namespaceURI is a URI reference identifying the namespace. The prefix + * corresponds to a namespace declaration 'xmlns:somePrefix' in the underlying xml. + *

+ * Note: Some of this impl code was taken from Axis. + *

+ * The constructors throw an IllegalArgumentException if the 'localPart' + * argument is null, but if it is the empty string ("") they just create + * the QName object with the localPart set to the empty string. + * The 'prefix' property defaults to the empty string for the two + * constructors that do not take a 'prefix' argument. + * The constructor that does take a 'prefix' argument will throw an + * IllegalArgumentException if a null value is used (i.e. the absence + * of any 'prefix' must be specified explicitly as the empty string ""). + *

+ * The valueOf method behaves like the constructors in that + * a null value will throw an IllegalArgumentException, but an empty string "" + * value will be treated as a localPart rather than an IllegalArgumentException + * to retain compatibility with v1.0 QName. + *

+ * To support the deserialization of objects that were serialized with an + * older version of QName (i.e. without a 'prefix' field), the + * readObject method will check if the 'prefix' + * value is null after default deserialization and if so, change it to the + * empty string. + * + * @author axis-dev + * @author
Matthew J. Duftler (duftler@us.ibm.com) + * @author
John Kaputin (jkaputin@apache.org) + */ +public class QName implements Serializable +{ + // Comment/shared empty string. + private static final String emptyString = ""; + + // Field namespaceURI. + private String namespaceURI; + + // Field localPart. + private String localPart; + + // Field prefix. + private String prefix; + + private static final long serialVersionUID = -9120448754896609940L; + + /** + * Constructor for the QName. + * Takes a localPart and sets the namespace and prefix to + * the empty string "". + * + * @param localPart Local part of the QName + * + * @throws IllegalArgumentException if localPart is null. + */ + public QName(String localPart) + { + this(emptyString, localPart, emptyString); + } + + /** + * Constructor for the QName. + * Takes a localPart and a namespace and sets the prefix to + * the empty string "". If namespace is null, it defaults to + * the empty string. + * + * @param namespaceURI Namespace URI for the QName + * @param localPart Local part of the QName. + * + * @throws IllegalArgumentException if localPart is null. + */ + public QName(String namespaceURI, String localPart) + { + this(namespaceURI, localPart, emptyString); + } + + /** + * Constructor for the QName. + * Takes a localPart, a namespace and a prefix. If the namespace is + * null, it defaults to the empty string "". The localPart and prefix + * cannot be null. If they are, an IllegalArgumentException is thrown. + * If there is no prefix, an empty string "" must be specified. + * + * @param namespaceURI Namespace URI for the QName + * @param localPart Local part of the QName. + * @param prefix the xmlns-declared prefix for this namespaceURI + * + * @throws IllegalArgumentException if localPart or prefix is null. + */ + public QName(String namespaceURI, String localPart, String prefix) + { + this.namespaceURI = (namespaceURI == null) + ? emptyString + : namespaceURI.intern(); + if(localPart != null) + { + this.localPart = localPart.intern(); + } + else + { + throw new IllegalArgumentException("localpart cannot be null."); + } + if(prefix != null) + { + this.prefix = prefix.intern(); + } + else + { + throw new IllegalArgumentException("prefix cannot be null."); + } + } + + /** + * Gets the Namespace URI for this QName + * + * @return Namespace URI + */ + public String getNamespaceURI() + { + return namespaceURI; + } + + /** + * Gets the Local part for this QName + * + * @return Local part + */ + public String getLocalPart() + { + return localPart; + } + + /** + * Gets the prefix for this QName + * + * @return prefix of this QName + */ + public String getPrefix() + { + return prefix; + } + + /** + * Returns a string representation of this QName + * + * @return a string representation of the QName + */ + public String toString() + { + return ((namespaceURI == emptyString) + ? localPart + : '{' + namespaceURI + '}' + localPart); + } + + /** + * Tests this QName for equality with another object. + *

+ * If the given object is not a QName or is null then this method + * returns false. + *

+ * For two QNames to be considered equal requires that both + * localPart and namespaceURI must be equal. This method uses + * String.equals to check equality of localPart + * and namespaceURI. The prefix is NOT used to determine equality. + * Any class that extends QName is required + * to satisfy this equality contract. + *

+ * This method satisfies the general contract of the Object.equals method. + * + * @param obj the reference object with which to compare + * + * @return true if the given object is identical to this + * QName: false otherwise. + */ + public final boolean equals(Object obj) + { + if (obj == this) + { + return true; + } + + if (!(obj instanceof QName)) + { + return false; + } + + //We use intern strings, so can use '==' instead of .equals + //for better performance. + + if ((namespaceURI == ((QName)obj).namespaceURI) + && (localPart == ((QName)obj).localPart)) + { + return true; + } + + return false; + } + + /** + * Returns a QName holding the value of the specified String. + *

+ * The string must be in the form returned by the QName.toString() + * method, i.e. "{namespaceURI}localPart", with the "{namespaceURI}" + * part being optional. + * If the Namespace URI .equals(""), only the local part should be + * provided. + * An empty string "" value will be treated as the localPart. + *

+ * The prefix value CANNOT be represented in the String and will be + * set to "". + *

+ * This method doesn't do a full validation of the resulting QName. + * In particular, it doesn't check that the resulting namespace URI + * is a legal URI (per RFC 2396 and RFC 2732), nor that the resulting + * local part is a legal NCName per the XML Namespaces specification. + * + * @param s the string to be parsed + * @throws java.lang.IllegalArgumentException If the specified String + * cannot be parsed as a QName + * @return QName corresponding to the given String + */ + public static QName valueOf(String s) + { + if (s == null) + { + throw new IllegalArgumentException( + "Invalid QName literal - null string."); + } + + if(s.indexOf("{") == 0) { + int rightBrace = s.indexOf("}"); + if(rightBrace == -1 || rightBrace == s.length() - 1) + { + //No matching right brace or no local part after right brace + throw new IllegalArgumentException( + "Invalid QName literal '" + s + "'."); + } else { + //namespace and local part + return new QName(s.substring(1, rightBrace), s.substring(rightBrace + 1)); + } + } else { + //treat the whole string as the local part + return new QName(s); + } + } + + /** + * Returns a hash code value for this QName object. The hash code + * is based on both the localPart and namespaceURI parts of the + * QName. This method satisfies the general contract of the + * Object.hashCode method. + * + * @return a hash code value for this Qname object + */ + public final int hashCode() + { + return namespaceURI.hashCode() ^ localPart.hashCode(); + } + + /** + * Sets the object variables to internal strings matching the values + * from the input stream. If the serialized object represents an + * older version of QName that did not support the 'prefix' variable, + * then 'prefix' will be set to null by defaultReadObject(). + * In this case, change the 'prefix' to the empty string "". + * + * @param in + * @throws IOException + * @throws ClassNotFoundException + */ + private void readObject(ObjectInputStream in) throws IOException, + ClassNotFoundException + { + in.defaultReadObject(); + + namespaceURI = namespaceURI.intern(); + localPart = localPart.intern(); + if(prefix == null) + { + //The serialized object did not have a 'prefix'. + //i.e. it was serialized from an old version of QName. + prefix = emptyString; + } + else + { + prefix = prefix.intern(); + } + } + +} \ No newline at end of file Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorHandler.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorHandler.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorHandler.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorHandler.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,39 @@ +/** + * 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.woden; + +/** + * This interface declares operations for handling three types + * of errors; warnings, errors and fatal errors. Implementations should define + * behaviour for these types of errors appropriate to their requirements. + * For example, errors may be reported immediately by printing to the system + * output stream or they may be cached for further processing by the invoking + * application. + * + * This is based on the Xerces error reporter. + * + * @author jkaputin@apache.org + */ +public interface ErrorHandler { + + public void warning(ErrorInfo errorInfo); + + public void error(ErrorInfo errorInfo); + + public void fatalError(ErrorInfo errorInfo); + +} Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorInfo.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorInfo.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorInfo.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorInfo.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,38 @@ +/** + * 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.woden; + +/** + * This interface describes the three types of errors + * (warning, error and fatal error) that may be reported. + * Implementations may choose to override the + * toString() method inherited from java.lang.Object + * to concatenate this information into format suitable for + * reporting purposes. + * + * @author kaputin + */ +public interface ErrorInfo { + + public ErrorLocator getErrorLocator(); + + public String getKey(); + + public String getMessage(); + + public Exception getException(); +} \ No newline at end of file Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorLocator.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorLocator.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorLocator.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorLocator.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,37 @@ +/** + * 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.woden; + +/** + * Represents the location of a parsing error within an XML document. + *

+ * TODO decide if URI info of the document is needed, + * and maybe XPATH of the element or attribute in error. + * + * @author John Kaputin (jkaputin@apache.org) + */ +public interface ErrorLocator { + + public String getDocumentBaseURI(); + + public String getLocationURI(); + + public int getLineNumber(); + + public int getColumnNumber(); + +} Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorReporter.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorReporter.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorReporter.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/ErrorReporter.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,188 @@ +/** + * 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.woden; + +import java.util.Locale; + + +/** + * Defines the approach for reporting errors that occur while parsing, + * validating or + * manipulating WSDL descriptions, such as XML parser errors or violations + * of the rules defined in the WSDL specification. That is, errors that + * relate specifically to the WSDL. It does not report system runtime + * or configuration errors, which are instead treated as exceptions. + *

+ * There are four ways to report an error: + *

+ * An error id and an array of message arguments are used to produce + * a formatted error message from some parameterized message text. + * The error may be reported with an target exception or without one. + *

+ * An error id is specified with some ready-formatted message text. + * The error may be reported with an target exception or without one. + *

+ * The error is handled according to the severity level + * (warning, error or fatal error) reported with the error. + *

+ * The error reporter supports the 'en' (English) locale by default + * and has a default error handler (i.e. a default implementation of + * ErrorHandler). However, a different locale may be configured + * via setLocale and a custom error handler implementation + * may be configured as a system property. + * + * @author jkaputin@apache.org + */ +public interface ErrorReporter { + + public static final short SEVERITY_WARNING = 1; + + public static final short SEVERITY_ERROR = 2; + + public static final short SEVERITY_FATAL_ERROR = 3; + + /** + * Insert the message arguments into a parameterized message identified + * by errorId to produce a formatted error message, then report the + * message and the error location in the document according to the + * severity. + * + * @param errLoc ErrorLocator showing the location of the error in the document. + * @param errorId String that identifies the message for this error. + * @param arguments Object[] with values to be inserted into the message text. + * @param severity a short indicating warning, error or fatal error. + * + * @throws WSDLException if the severity is fatal error + */ + public void reportError(ErrorLocator errLoc, + String errorId, + Object[] arguments, + short severity) + throws WSDLException; + + /** + * Insert the message arguments into a parameterized message identified + * by errorId to produce a formatted error message, then report the + * message and the error location in the document according to the + * severity. Also report the exception that caused this error. + * + * @param errLoc ErrorLocator showing the location of the error in the document. + * @param errorId String that identifies the message for this error. + * @param arguments Object[] with values to be inserted into the message text. + * @param severity a short indicating warning, error or fatal error. + * @param exception the Exception that caused this error + * + * @throws WSDLException if the severity is fatal error + */ + public void reportError(ErrorLocator errLoc, + String errorId, + Object[] arguments, + short severity, + Exception exception) + throws WSDLException; + + /** + * Report the message and the error location in the document according + * to the severity. + * + * @param errLoc ErrorLocator showing the location of the error in the document. + * @param errorId String that identifies the message for this error. + * @param message message text. + * @param severity a short indicating warning, error or fatal error. + * + * @throws WSDLException if the severity is fatal error + */ + public void reportError(ErrorLocator errLoc, + String errorId, + String message, + short severity) + throws WSDLException; + + /** + * Report the message and the error location in the document according + * to the severity. Also report the exception that caused this error. + * + * @param errLoc ErrorLocator showing the location of the error in the document. + * @param errorId String that identifies the message for this error. + * @param message message text. + * @param severity a short indicating warning, error or fatal error. + * @param exception the Exception that caused this error + * + * @throws WSDLException if the severity is fatal error + */ + public void reportError(ErrorLocator errLoc, + String errorId, + String message, + short severity, + Exception exception) + throws WSDLException; + + /** + * Set a custom error handler on this error reporter to replace the + * default error handler. + * + * TODO: identify all use cases for setting the error handler and determine how best to + * expose this on the API. Currently, just via WSDLReader.setLocale which supports + * the 'read wsdl' use case, but others may include 'modify wsdl', + * 'create wsdl programmatically' and maybe 'write wsdl'. + * + * @param errorHandler the custom error handler + * + */ + public void setErrorHandler(ErrorHandler errorHandler); + + /** + * Return the custom error handler if one has been set, + * otherwise return the default error handler. + * + * @return the ErrorHandler used by this error reporter + */ + public ErrorHandler getErrorHandler(); + + /** + * Set the Locale used for localization of error messages. + * + * TODO: identify all use cases for setting the locale and determine how best to + * expose this on the API. Currently, just via WSDLReader.setLocale which supports + * the 'read wsdl' use case, but others may include 'modify wsdl', + * 'create wsdl programmatically' and maybe 'write wsdl'. + * + * @param locale the required locale + * + */ + public void setLocale(Locale locale); + + /** + * @return the Locale used for localization of error messages. + */ + public Locale getLocale(); + + /** + * Returns a formatted message string for the specified message key and arguments. + * Used for formatting messages that will not be reported by the error reporter as + * parsing errors (via the reportError method). Typically these types of messages + * will be for configuration or runtime errors that will be thrown as exceptions + * by the caller. + * If there are no message arguments, a null value may be specified for the + * arguments parameter instead of an empty array. + * + * @param errorId a String representing the message key + * @param arguments an Object array of message parameters + * @return the formatted message string + */ + public String getFormattedMessage(String errorId, Object[] arguments); +} \ No newline at end of file Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLException.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLException.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLException.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLException.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,138 @@ +/** + * 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.woden; + +import java.io.PrintWriter; +import java.io.StringWriter; + +public class WSDLException extends Exception +{ + public static final long serialVersionUID = 1; + + public static final String INVALID_WSDL = "INVALID_WSDL"; + public static final String PARSER_ERROR = "PARSER_ERROR"; + public static final String OTHER_ERROR = "OTHER_ERROR"; + public static final String CONFIGURATION_ERROR = "CONFIGURATION_ERROR"; + public static final String UNBOUND_PREFIX = "UNBOUND_PREFIX"; + public static final String NO_PREFIX_SPECIFIED = "NO_PREFIX_SPECIFIED"; + + private String fFaultCode = null; + private Throwable fTargetThrowable = null; + private String fLocation = null; + + public WSDLException(String faultCode, String msg, Throwable t) + { + super(msg); + setFaultCode(faultCode); + setTargetException(t); + } + + public WSDLException(String faultCode, String msg) + { + this(faultCode, msg, null); + } + + public void setFaultCode(String faultCode) + { + fFaultCode = faultCode; + } + + public String getFaultCode() + { + return fFaultCode; + } + + public void setTargetException(Throwable targetThrowable) + { + fTargetThrowable = targetThrowable; + } + + public Throwable getTargetException() + { + return fTargetThrowable; + } + + /** + * Set the location using an XPath expression. Used for error messages. + * + * @param location an XPath expression describing the location where + * the exception occurred. + */ + public void setLocation(String location) + { + fLocation = location; + } + + /** + * Get the location, if one was set. Should be an XPath expression which + * is used for error messages. + */ + public String getLocation() + { + return fLocation; + } + + public String getMessage() + { + StringBuffer strBuf = new StringBuffer(); + + strBuf.append("WSDLException"); + + if (fLocation != null) + { + strBuf.append(" (at " + fLocation + ")"); + } + + if (fFaultCode != null) + { + strBuf.append(": faultCode=" + fFaultCode); + } + + String thisMsg = super.getMessage(); + String targetMsg = (fTargetThrowable != null) + ? fTargetThrowable.getMessage() + : null; + + if (thisMsg != null + && (targetMsg == null || !thisMsg.equals(targetMsg))) + { + strBuf.append(": " + thisMsg); + } + + if (targetMsg != null) + { + strBuf.append(": " + targetMsg); + } + + return strBuf.toString(); + } + + public String toString() + { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + + pw.print(getMessage() + ": "); + + if (fTargetThrowable != null) + { + fTargetThrowable.printStackTrace(pw); + } + + return sw.toString(); + } +} \ No newline at end of file Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLFactory.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLFactory.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLFactory.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLFactory.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,190 @@ +/** + * 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.woden; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Properties; + +import org.apache.woden.wsdl20.extensions.ExtensionRegistry; +import org.apache.woden.wsdl20.xml.DescriptionElement; + + +/** + * + * Based on wsdl4j factory. + * + * @author jkaputin@apache.org + */ +public abstract class WSDLFactory { + + + private static final String PROPERTY_NAME = + "org.apache.woden.WSDLFactory"; + private static final String PROPERTY_FILE_NAME = + "wsdl.properties"; + private static final String DEFAULT_FACTORY_IMPL_NAME = + "org.apache.woden.internal.DOMWSDLFactory"; + + private static String fFullPropertyFileName = null; + + + public static WSDLFactory newInstance() throws WSDLException { + + String factoryImplName = findFactoryImplName(); + return newInstance(factoryImplName); + } + + public static WSDLFactory newInstance(String factoryImplName) + throws WSDLException { + + if (factoryImplName != null) + { + try + { + Class cl = Class.forName(factoryImplName); + + return (WSDLFactory)cl.newInstance(); + } + catch (Exception e) + { + /* + Catches and wraps: + ClassNotFoundException + InstantiationException + IllegalAccessException + */ + + throw new WSDLException(WSDLException.CONFIGURATION_ERROR, + "Problem instantiating a WSDLFactory implementation " + + "using factory impl name '" + factoryImplName + "' ", + e); + } + } + else + { + throw new WSDLException(WSDLException.CONFIGURATION_ERROR, + "Unable to find the name of a WSDLFactory implementation class."); + } + } + + private static String findFactoryImplName() throws WSDLException + { + String factoryImplName = null; + + // First, check the system property. + try + { + factoryImplName = System.getProperty(PROPERTY_NAME); + + if (factoryImplName != null) + { + return factoryImplName; + } + } + catch (SecurityException e) + { + //TODO empty catch block copied from wsdl4j. Decide if OK to ignore? + } + + // Second, check /META-INF/services + //TODO put code here to check for factory impl name property in /META... + + // Third, check for a properties file on the system path. + String propFileName = getFullPropertyFileName(); + + if (propFileName != null) + { + try + { + Properties properties = new Properties(); + File propFile = new File(propFileName); + FileInputStream fis = new FileInputStream(propFile); + + properties.load(fis); + fis.close(); + + factoryImplName = properties.getProperty(PROPERTY_NAME); + + if (factoryImplName != null) + { + return factoryImplName; + } + } + catch (FileNotFoundException e1) + { + // This just means no properties file was found. OK to ignore. + } + catch (IOException e) + { + /* + * thrown by Properties.load if an error occurred when reading + * from the input stream. + */ + throw new WSDLException(WSDLException.CONFIGURATION_ERROR, + "Problem loading the properties file '" + + propFileName + "' ", + e); + } + catch (IllegalArgumentException e) + { + /* + * thrown by Properties.load if the input stream contains a + * malformed Unicode escape sequence. + */ + throw new WSDLException(WSDLException.CONFIGURATION_ERROR, + "Problem with the content of the properties file '" + + propFileName + "' ", + e); + } + } + + // Fourth, return the default. + return DEFAULT_FACTORY_IMPL_NAME; + + } + + private static String getFullPropertyFileName() + { + if (fFullPropertyFileName == null) + { + try + { + String javaHome = System.getProperty("java.home"); + + fFullPropertyFileName = javaHome + File.separator + "lib" + + File.separator + PROPERTY_FILE_NAME; + } + catch (SecurityException e) + { + //TODO empty catch block copied from wsdl4j. Decide if OK to ignore? + } + } + + return fFullPropertyFileName; + } + + public abstract WSDLReader newWSDLReader() throws WSDLException; + + public abstract DescriptionElement newDescription(); + + public abstract ExtensionRegistry newPopulatedExtensionRegistry() throws WSDLException; + + +} Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLReader.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLReader.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLReader.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLReader.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,255 @@ +/** + * 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.woden; + +import org.apache.woden.resolver.URIResolver; +import org.apache.woden.wsdl20.Description; +import org.apache.woden.wsdl20.extensions.ExtensionRegistry; + +/** + * This interface declares an API for reading WSDL descriptions from different sources + * such as WSDL documents or files, parsed XML elements and input byte streams. + * It contains various readWSDL methods that obtain the WSDL infoset from + * the specified source, parse it into the Woden object model and return this as a WSDL + * Description component containing the WSDL components derived from that infoset. + * If the WSDL is comprised of a composite set of documents nested via wsdl:import + * or wsdl:include, the Description component will represent the abstract, 'flattened' view + * of the WSDL tree, containing all of the WSDL components derived from the various WSDL + * documents, but without the document structure. + * + * @author John Kaputin (jkaputin@apache.org) + */ +public interface WSDLReader { + + + //TODO Create wsdl-version-independent methods. + //E.g. public WSDLDocument readWSDL(String uri); where + //WSDLDocument is a wrapper for a 1.1 Definition and a + //2.0 Description. The client app could/should then use + //WSDLDocument to determine which version is has and use + //the appropriate WSDL API. + + //for the 2.0 prototype, just use 2.0 specific methods + + /** + * Constants for reader configuration feature names. + * Features are associated with a boolean value (true if they are + * enabled, false if not). + * + * TODO Decide if these features should be exposed on the Woden API + * as constants defined here and used via the generic set/getFeature + * methods, or whether we should have a finite set of feature-specific + * methods on the WSDLReader interface for the features we know about + * (e.g. setValidationFeature(boolean) or setValidationFeatureOn() / + * setValidationFeatureOff()) and remove the constants defined here. + * Note - even in the latter case, we still need the generic + * set/getFeature methods. + */ + + + /** + * Set to true to enable verbose diagnostic tracing, false otherwise. + */ + public static String FEATURE_VERBOSE = + "http://ws.apache.org/woden/features/verbose"; + + /** + * Set to true to enable the WSDL validation feature, false otherwise. + */ + public static String FEATURE_VALIDATION = + "http://ws.apache.org/woden/features/validation"; + + /** + * Set to true if parsing should continue after + * encountering a non-fatal error in the WSDL which might result + * in incomplete WSDL model being returned by the reader, + * false otherwise. + */ + public static String FEATURE_CONTINUE_ON_ERROR = + "http://ws.apache.org/woden/features/continue_on_error"; + + /** + * Constants for reader configuration property names. + * Properties have a value represented by an object. + * + * TODO ditto the comment on features, about whether to define + * property constants here and use generic set/getProperty methods + * or remove the constants and use property-specific methods. + */ + public static String PROPERTY_XML_PARSER_API = + "http://ws.apache.org/woden/property/xml_parser_api"; + + public static String PROPERTY_TYPE_SYSTEM_API = + "http://ws.apache.org/woden/property/type_system_api"; + + /** + * A constant representing the W3C XML Schema type system. All + * implementations of the Woden API must support W3C XML Schema. + * An implementation configured to use this type system can + * use this constant to specify its value for the property + * "http://ws.apache.org/woden/property/type_system_api". + */ + public static final String TYPE_XSD_2001 = + "http://www.w3.org/2001/XMLSchema"; + + /** + * Read the WSDL document at the specified URI and return a WSDL Description + * component containing the WSDL components derived from that document. + * + * @param wsdlURI a URI (absolute filename or URL) pointing to a + * WSDL document. + * @return the Description component + * @throws WSDLException for terminating errors and as wrapper + * for checked exceptions. + */ + public Description readWSDL(String wsdlURI) throws WSDLException; + + /** + * Read the WSDL obtained from the specified WSDLSource object and return a WSDL Description + * component containing the WSDL components derived from that WSDL source. + *

+ * The WSDLSource object must represent the WSDL using a type that the WSDLReader + * implementation can understand. That is, the WSDLSource and WSDLReader implementations + * must be compatible. + * For example, a DOM-based WSDLReader implementation will likely require the WSDLSource + * object to represent the WSDL as a DOM Document or Element (org.w3c.dom.Document + * or org.w3c.dom.Element), both of which should be type compatible the DOM-based reader. + * + * @param wsdlSource contains an object representing the WSDL + * @return the Description component + * @throws WSDLException for terminating errors and as a wrapper + * for checked exceptions + */ + public Description readWSDL(WSDLSource wsdlSource) throws WSDLException; + + //TODO - decide if an API method createXMLElement() is needed. + + /** + * Returns a WSDLSource object that is compatible with the WSDLReader implementation. + * That is, a WSDLSource implementation that represents WSDL using types that + * the WSDLReader implementation can understand. + * For example, DOM-based WSDLReader implementation will likely return a WSDLSource + * object that represents the WSDL as a DOM Document or Element (org.w3c.dom.Document + * or org.w3c.dom.Element), both of which should be type compatible the DOM-based reader. + *

+ * This WSDLSource object can be used to encapsulate the WSDL and is then passed to the + * WSDLReader as a parameter to its readWSDL methods. + * + * @return the WSDLSource class compatible with the WSDLReader implementation. + */ + public WSDLSource createWSDLSource(); + + /** + * @return the ErrorReporter used by this reader + */ + public ErrorReporter getErrorReporter(); + + /** + * Store the name of the WSDLFactory implementation class to be used for + * any subsequent WSDLFactory requests. The named factory class will + * replace any existing factory object in use. + * + * @param factoryImplName the WSDLFactory implementation classname + */ + public void setFactoryImplName(String factoryImplName); + + /** + * @return the WSDLFactory implementation classname + */ + public String getFactoryImplName(); + + /** + * Set the extension registry to the specified registry reference. + * The registry parameter cannot be null. + * + * @param extReg an ExtensionRegistry + * @throws NullPointerException if extReg is null + */ + public void setExtensionRegistry(ExtensionRegistry extReg); + + public ExtensionRegistry getExtensionRegistry(); + + /** + * Set a named feature on or off with a boolean. Note, this relates to + * features of the Woden framework, not to WSDL-specific features such + * as the WSDL 2.0 Feature component. + *

+ * All feature names should be fully-qualified, Java package style to + * avoid name clashes. All names starting with org.apache.woden. are + * reserved for features defined by the Woden implementation. + * Features specific to other implementations should be fully-qualified + * to match the package name structure of that implementation. + * For example: com.abc.featureName + * + * @param name the name of the feature to be set + * @param value a boolean value where true sets the feature on, false sets it off + * @throws IllegalArgumentException if the feature name is not recognized. + */ + public void setFeature(String name, boolean value); + + /** + * Returns the on/off setting of the named feature, represented as a boolean. + * + * @param name the name of the feature to get the value of + * @return a boolean representing the on/off state of the named feature + * @throws IllegalArgumentException if the feature name is not recognized. + */ + public boolean getFeature(String name); + + + /** + * Set a named property to the specified object. Note, this relates to + * properties of the Woden implementation, not to WSDL-specific properties + * such as the WSDL 2.0 Property component. + *

+ * All property names should be fully-qualified, Java package style to + * avoid name clashes. All names starting with org.apache.woden. are + * reserved for properties defined by the Woden implementation. + * Properties specific to other implementations should be fully-qualified + * to match the package name structure of that implementation. + * For example: com.abc.propertyName + * + * @param name the name of the property to be set + * @param value an Object representing the value to set the property to + * @throws IllegalArgumentException if the property name is not recognized. + */ + public void setProperty(String name, Object value); + + /** + * Returns the value of the named property. + * + * @param name the name of the property to get the value of + * @return an Object representing the property's value + * @throws IllegalArgumentException if the property name is not recognized. + */ + public Object getProperty(String name); + + /** + * Sets the URI resolver to be used. + * + * @param resolver + */ + public void setURIResolver(URIResolver resolver); + + /** + * Gets the URI Resolver currently in use + * @return the URI resolver currently in use + */ + public URIResolver getURIResolver(); + + +} Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLSource.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLSource.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLSource.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/WSDLSource.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,89 @@ +/** + * 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.woden; + +import java.net.URI; + +/** + * This interface represents WSDL source in a format to be interpreted by the + * WSDLReader implementation. It permits WSDL source in various forms to be + * passed to the WSDLReader without making the WSDLReader API dependent on + * any particular XML parser or XML object model. + *

+ * Each concrete implementation of WSDLReader will have a concrete implementation + * of WSDLSource that can handle the types of WSDL source formats that are + * compatible with the WSDLReader implementation. For example, a DOM-based + * implementation of WSDLReader will return a DOM-based implementation of + * WSDLSource via its WSDLReader.createWSDLSource method and this + * DOM-based WSDLSource implemenation will accept as WSDL source an + * org.w3c.dom.Element or org.w3c.dom.Document object via its + * WSDLSource.setSource method. + *

+ * The WSDL source is set via the setSource(java.lang.Object) + * method. Runtime type safety should be provided in the implementation of + * the setSource method, which should check that the Object + * argument is of a type compatible with the WSDLReader implementation that + * created the WSDLSource object. + *

+ * Programming example: + *

+ *   //wsdlURI is the URI of the base wsdl document.
+ *   //domReader is a DOM-based implementation of WSDLReader
+ *   //domElement is an org.w3c.dom.Element representing a <wsdl:description> element.
+ * 
+ *   WSDLSource wsdlSource = domReader.createWSDLSource();
+ *   wsdlSource.setBaseURI(wsdlURI);
+ *   wsdlSource.setSource(domElement);
+ *   DescriptionElement desc = reader.readWSDL(wsdlSource);
+ * 
+ * + * @author John Kaputin (jkaputin@apache.org) + */ +public interface WSDLSource { + + /** + * Store the specified source object representing the WSDL. + * + * @param wsdlSource the WSDL source object + * + * @throws IllegalArgumentException if the specified object type is not + * recognized by the WSDLSource implementation. + */ + public void setSource(Object wsdlSource); + + /** + * Returns the implementation specific object representing the WSDL source + * (for example, a DOM Element or Document or an Axiom OMElement). The caller should + * cast this object to the appropriate type to use its interface. + * + * @return the Object representing the WSDL source + */ + public Object getSource(); + + /** + * Store the base URI of the WSDL source document. + * + * @param baseURI the URI of the WSDL document. + */ + public void setBaseURI(URI baseURI); + + /** + * + * @return the base URI of the WSDL + */ + public URI getBaseURI(); +} Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/XMLElement.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/XMLElement.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/XMLElement.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/XMLElement.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,133 @@ +/** + * 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.woden; + +import java.net.URI; + +import javax.xml.namespace.QName; + +/** + * This interface represents an XML element information item in a format to + * be interpreted by the Woden implementation. + * It permits different representations of an element to be used as method + * arguments or return values without making the Woden API dependent on + * any particular XML parser or XML object model. + * + * @author John Kaputin (jkaputin@apache.org) + */ +public interface XMLElement { + + /** + * Accepts an Object representing an XML element. The implementation should + * check that it is of a type appropriate for the underlying XML parser or + * XML Object model being used. For example, a DOM implementation might expect + * an org.w3c.dom.Element while an AXIOM implementation might expect + * org.apache.axiom.om.OMElement. + * + * @param elem the Object representing the XML element + * + * @throws IllegalArgumentException if elem is not a type supported by the implementation. + */ + public void setSource(Object elem); + + /** + * Returns an Object representing an XML element, which the caller must + * cast to the expected type. For example, for DOM implementation we might + * cast it to an org.w3c.dom.Element whereas an AXIOM implementation might + * cast it to an org.apache.axiom.om.OMElement. + * + * @return an Object representing the XML element + */ + public Object getSource(); + + + /* ********************************************************************** + * Methods for Accessing the contents of the element + * **********************************************************************/ + + /* TODO This method is not yet needed but can be added if it's required. + * It will require the creation of XMLAttribute with the methods getLocalName, + * getNamespaceURI, getPrefix and getValue. Then, the parseExtensionAttributes + * method can be refactored into BaseWSDLReader. Will also need to consider + * overlap/synergy with the XMLAttr classes used for extension attributes. + * + * @return a list of attributes associated with the XML element + * + public XMLAttribute[] getAttributes(); + */ + + /** + * Returns the value of the specified attribute or null if it is not found. + * + * @param attrName name of attribute to look for + * @return the attribute value including prefix if present + */ + public String getAttributeValue(String attrName); + + /** + * + * @return the namespace URI of the element or null if it has no namespace + */ + public URI getNamespaceURI() throws WSDLException; + + /** + * + * @return the local name of the element + */ + public String getLocalName(); + + /** + * Return the qualified name of this element. + * + * @return QName this element's qualified name. + */ + public QName getQName(); + /** + * Return the qualified name from the specified prefixed value. + * + * @param prefixedValue of the form [namespace prefix]:[local name] + * @return the QName corresponding to the prefix + * @throws WSDLException + */ + public QName getQName(String prefixedValue) throws WSDLException; + + /** + * Return the first child element of this element or null if no + * children are found. + * + * @return the first child element. + */ + public XMLElement getFirstChildElement(); + + /** + * Return the next sibling element of this element or null if no + * siblings are found. + * + * @return the next sibling element. + */ + public XMLElement getNextSiblingElement(); + + /** + * Return an array of the child elements of this element or + * an empty array if no siblings are found. + * + * @return an XMLElement array containing the child elements. + */ + public XMLElement[] getChildElements(); + + +} Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/about-this-package URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/about-this-package?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/about-this-package (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/about-this-package Tue Sep 1 05:54:15 2009 @@ -0,0 +1,5 @@ +Interfaces for the main functional components of the Woden API, +such as factories, readers, writers, extension registry. +Initially these may be WSDL 2.0 specific in places, but eventually +this package should probably be WSDL-version independent - +i.e. the framework API that hides version specific interfaces. \ No newline at end of file Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/resolver/URIResolver.java URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/resolver/URIResolver.java?rev=809835&view=auto ============================================================================== --- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/resolver/URIResolver.java (added) +++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/resolver/URIResolver.java Tue Sep 1 05:54:15 2009 @@ -0,0 +1,54 @@ +/** + * 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. + * + * @author Graham Turrell + */ +package org.apache.woden.resolver; + +import java.io.IOException; +import java.net.URI; + +import org.apache.woden.WSDLException; + +/** + *Implementations of this interface may be used to specify a custom URI resolver. + *Such an implementation can then be used to override the default Woden URI Resolver. + *To associate a URI resolver programmatically, the following should be called prior to parser invocation. + *

Example: + *
WSDLFactory factory = WSDLFactory.newInstance(); + *
WSDLReader reader = factory.newWSDLReader(); + *
// MyURIResolver implements this interface ... + *
URIResolver resolver = new MyURIResolver(); + *
reader.setURIResolver(resolver); + *
... + *
// Then, can parse a document and the assigned resolver will be used internally... + *
Description desc = reader.readWSDL("http://myplace/mydoc.wsdl"); + *@see org.apache.woden.WSDLFactory + *@see org.apache.woden.WSDLReader + */ +public interface URIResolver { + + /** + * Implementation should return null if there is no resolution for the uri. + * + * @param uri the uri to be resolved + * @return the resolved URI (or null if no resolution available) + * @throws WSDLException + * @throws IOException + */ + public URI resolveURI(URI uri) throws WSDLException, IOException; + +} --------------------------------------------------------------------- To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org For additional commands, e-mail: woden-dev-help@ws.apache.org