ws-woden-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sag...@apache.org
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 GMT
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 @@
    <name>Woden - API</name>
    
    <build>
-       <sourceDirectory>../src</sourceDirectory>
        <resources>
            <resource>
-               <directory>../src</directory>
-               <excludes>
-                   <exclude>**/internal/**</exclude>
-                   <exclude>**/tool/converter/**</exclude>
-                   <exclude>org/apache/woden/ant/**</exclude>
-                   <exclude>javax/xml/namespace/**</exclude>
-                   <exclude>**/*.java</exclude>
-               </excludes>
-           </resource>
-           <resource>
                <targetPath>META-INF</targetPath>
                <directory>../</directory>
                <includes>
@@ -52,11 +41,7 @@
                </includes>
            </resource>
            <resource>
-               <targetPath>META-INF</targetPath>
-               <directory>../resources</directory>
-               <includes>
-                   <include>schema.catalog</include>
-               </includes>
+             <directory>src/main/resources</directory>
            </resource>
        </resources>
 
@@ -64,12 +49,6 @@
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
-                   <excludes>
-                       <exclude>**/internal/**</exclude>
-                       <exclude>**/tool/converter/**</exclude>
-                       <exclude>org/apache/woden/ant/**</exclude>
-                       <exclude>javax/xml/namespace/**</exclude>
-                   </excludes>
                    <source>1.4</source>
                    <target>1.4</target>
                    <compilerArgument>-g</compilerArgument>
@@ -92,13 +71,60 @@
                    </remoteRepositoryUrl>
                </configuration>
            </plugin>
-           <plugin>
-               <groupId>org.apache.maven.plugins</groupId>
-               <artifactId>maven-surefire-plugin</artifactId>
-               <configuration>
-                   <skip>true</skip>
-               </configuration>
-           </plugin>
        </plugins>
    </build>
-</project>
\ No newline at end of file
+	
+	
+	
+   <profiles>
+	   <!--
+		   From Java 5.0 the QName class is included in the jre and loaded by the bootstrap 
+           classloader, so we don't want to run Woden's QName ests against the Java 5 
+           implementation. However, we are running in a 1.4 jvm now, so the Woden QName class 
+           will be loaded and we do want to run the Woden junit tests for this class.		   
+		   -->
+	   
+	<!-- for java 5 -->
+    <profile>
+	   <id>jdk1.5</id>
+       <activation>
+           <jdk>1.5</jdk>		   
+       </activation>  
+	   <build>     
+        <plugins>
+          <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <configuration> 
+			 <excludes>			
+			    <exclude>**/QNameDeserializeTest.java</exclude>	
+			</excludes>
+		  </configuration>
+		</plugin>
+	   </plugins>
+	 </build>
+    </profile>
+	
+	 <!-- for java 6  --> 
+	 <profile>
+	   <id>jdk1.6</id>
+       <activation>
+           <jdk>1.6</jdk>		   
+       </activation>  
+	   <build>     
+        <plugins>
+          <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-surefire-plugin</artifactId>
+           <configuration> 
+			 <excludes>			
+			    <exclude>**/QNameDeserializeTest.java</exclude>	
+			</excludes>
+		  </configuration>
+		</plugin>
+	   </plugins>
+	 </build>
+    </profile>
+	
+</profiles>
+</project>

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;
+
+/**
+ * <code>QName</code> class represents the value of a qualified name
+ * as specified in <a href="http://www.w3.org/TR/xmlschema-2/#QName">XML
+ * Schema Part2: Datatypes specification</a>.
+ * <p>
+ * 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: 
+ * <br />
+ * http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/QName.html
+ * <p>
+ * The value of a QName contains a <b>namespaceURI</b>, a <b>localPart</b> 
+ * and a <b>prefix</b>.
+ * 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. 
+ * <p>
+ * Note: Some of this impl code was taken from Axis.
+ * <p>
+ * 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 "").
+ * <p>
+ * The <code>valueOf</code> 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.
+ * <p>
+ * To support the deserialization of objects that were serialized with an
+ * older version of QName (i.e. without a 'prefix' field), the 
+ * <code>readObject</code> 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 <br/>Matthew J. Duftler (duftler@us.ibm.com)
+ * @author <br/>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.
+   * <p>
+   * If the given object is not a QName or is null then this method
+   * returns <tt>false</tt>.
+   * <p>
+   * For two QNames to be considered equal requires that both
+   * localPart and namespaceURI must be equal. This method uses
+   * <code>String.equals</code> 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.
+   * <p>
+   * This method satisfies the general contract of the <code>Object.equals</code> method.
+   *
+   * @param obj the reference object with which to compare
+   *
+   * @return <code>true</code> if the given object is identical to this
+   *      QName: <code>false</code> 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.
+   * <p>
+   * 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.
+   * <p>
+   * The prefix value CANNOT be represented in the String and will be 
+   * set to "".
+   * <p>
+   * 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
+   * <code>Object.hashCode</code> 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 <code>defaultReadObject()</code>.
+   * 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 
+ * <code>toString()</code> 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.
+ * <p>
+ * 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.
+ * <p>
+ * There are four ways to report an error:
+ * <p>
+ * 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.
+ * <p>
+ * An error id is specified with some ready-formatted message text.
+ * The error may be reported with an target exception or without one.
+ * <p>
+ * The error is handled according to the severity level 
+ * (warning, error or fatal error) reported with the error.
+ * <p/>
+ * 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 <code>setLocale</code> 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 
+     * <code>arguments</code> 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 <code>readWSDL</code> methods that obtain the WSDL infoset from 
+ * the specified source, parse it into the Woden object model and return this as a WSDL 
+ * <code>Description</code> 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 <code>true</code> to enable verbose diagnostic tracing, <code>false</code> otherwise.
+     */
+    public static String FEATURE_VERBOSE = 
+        "http://ws.apache.org/woden/features/verbose";
+    
+    /**
+     * Set to <code>true</code> to enable the WSDL validation feature, <code>false</code> otherwise.
+     */
+    public static String FEATURE_VALIDATION = 
+        "http://ws.apache.org/woden/features/validation";
+    
+    /**
+     * Set to <code>true</code> 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, 
+     * <code>false</code> 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.
+     * <p>
+     * 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.
+     * <p>
+     * This WSDLSource object can be used to encapsulate the WSDL and is then passed to the 
+     * WSDLReader as a parameter to its <code>readWSDL</code> 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.
+     * <p>
+     * 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.
+     * <p>
+     * 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.
+ * <p>
+ * 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 <code>WSDLReader.createWSDLSource</code> 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
+ * <code>WSDLSource.setSource</code> method.
+ * <p>
+ * The WSDL source is set via the <code>setSource(java.lang.Object)</code>
+ * method. Runtime type safety should be provided in the implementation of 
+ * the <code>setSource</code> method, which should check that the Object 
+ * argument is of a type compatible with the WSDLReader implementation that 
+ * created the WSDLSource object.
+ * <p>
+ * Programming example:
+ * <pre>
+ *   //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 &lt;wsdl:description&gt; element.
+ * 
+ *   WSDLSource wsdlSource = domReader.createWSDLSource();
+ *   wsdlSource.setBaseURI(wsdlURI);
+ *   wsdlSource.setSource(domElement);
+ *   DescriptionElement desc = reader.readWSDL(wsdlSource);
+ * </pre>
+ * 
+ * @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.
+ *<p>Example:
+ *<br>WSDLFactory factory = WSDLFactory.newInstance();
+ *<br>WSDLReader reader = factory.newWSDLReader();
+ *<br>// MyURIResolver implements this interface ...
+ *<br>URIResolver resolver = new MyURIResolver(); 
+ *<br>reader.setURIResolver(resolver);
+ *<br>...
+ *<br>// Then, can parse a document and the assigned resolver will be used internally...
+ *<br>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


Mime
View raw message