From jbossws-commits at lists.jboss.org Thu Feb 25 05:17:44 2010 Content-Type: multipart/mixed; boundary="===============5137761095343185815==" MIME-Version: 1.0 From: jbossws-commits at lists.jboss.org To: jbossws-commits at lists.jboss.org Subject: [jbossws-commits] JBossWS SVN: r11684 - in stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws: wsaddressing and 1 other directory. Date: Thu, 25 Feb 2010 05:17:44 -0500 Message-ID: <201002251017.o1PAHisg004773@svn01.web.mwc.hst.phx2.redhat.com> --===============5137761095343185815== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: richard.opalka(a)jboss.com Date: 2010-02-25 05:17:43 -0500 (Thu, 25 Feb 2010) New Revision: 11684 Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/sp= i/ProviderImpl.java stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/ws= addressing/EndpointReferenceUtil.java stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/ws= addressing/NativeEndpointReference.java Log: [JBWS-2942] fixing NativeEndpointReference implementation to don't serializ= e empty metadata and reference parameters elements Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/j= axws/spi/ProviderImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/s= pi/ProviderImpl.java 2010-02-25 09:23:21 UTC (rev 11683) +++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/s= pi/ProviderImpl.java 2010-02-25 10:17:43 UTC (rev 11684) @@ -173,8 +173,9 @@ = try { - //we currently support W3CEndpointReference only - return new W3CEndpointReference(eprInfoset); + final NativeEndpointReference nativeEPR =3D new NativeEndpointRef= erence(eprInfoset); + final Source source =3D EndpointReferenceUtil.getSourceFromEndpoi= ntReference(nativeEPR); + return new W3CEndpointReference(source); } catch (Exception e) { Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/j= axws/wsaddressing/EndpointReferenceUtil.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/w= saddressing/EndpointReferenceUtil.java 2010-02-25 09:23:21 UTC (rev 11683) +++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/w= saddressing/EndpointReferenceUtil.java 2010-02-25 10:17:43 UTC (rev 11684) @@ -68,7 +68,7 @@ throw new WebServiceException("EndpointReference of type " + clazz += " not supported."); } = - private static Source getSourceFromEndpointReference(EndpointReference = epr) + public static Source getSourceFromEndpointReference(EndpointReference e= pr) { ByteArrayOutputStream outputStream =3D new ByteArrayOutputStream(); StreamResult result =3D new StreamResult(outputStream); Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/j= axws/wsaddressing/NativeEndpointReference.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/w= saddressing/NativeEndpointReference.java 2010-02-25 09:23:21 UTC (rev 11683) +++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/jaxws/w= saddressing/NativeEndpointReference.java 2010-02-25 10:17:43 UTC (rev 11684) @@ -56,7 +56,7 @@ * @see EndpointReferenceUtil class. * = * @author alessio.soldano(a)jboss.com - * @author Richard Opalkaok + * @author Richard Opalka * @since 28-Feb-2009 */ @XmlRootElement(name =3D "EndpointReference", namespace =3D NativeEndpoint= Reference.WSA_NS) @@ -75,9 +75,9 @@ @XmlElement(name =3D "Address", namespace =3D WSA_NS) private Address address; @XmlElement(name =3D "ReferenceParameters", namespace =3D WSA_NS) - private Elements referenceParameters =3D new Elements(); + private Elements referenceParameters; @XmlElement(name =3D "Metadata", namespace =3D WSA_NS) - private Elements metadata =3D new Elements(); + private Elements metadata; @XmlAnyAttribute private Map attributes; @XmlAnyElement @@ -113,8 +113,14 @@ { NativeEndpointReference epr =3D jc.createUnmarshaller().unmarshal= (source, NativeEndpointReference.class).getValue(); this.address =3D epr.address; - this.referenceParameters =3D epr.referenceParameters; - this.metadata =3D epr.metadata; + if ((epr.referenceParameters !=3D null) && (!epr.referenceParamet= ers.isEmpty())) + { + this.referenceParameters =3D epr.referenceParameters; + } + if ((epr.metadata !=3D null) && (!epr.metadata.isEmpty())) + { + this.metadata =3D epr.metadata; + } this.attributes =3D epr.attributes; this.elements =3D epr.elements; if (epr.metadata !=3D null) @@ -193,6 +199,9 @@ final String attrName =3D this.getNamespaceAttributeName(serviceName= .getPrefix()); this.serviceNameElement.setAttribute(attrName, serviceName.getNamesp= aceURI()); this.serviceNameElement.setTextContent(this.toString(serviceName)); + if (this.metadata =3D=3D null) + this.metadata =3D new Elements(); + = this.metadata.addElement(this.serviceNameElement); } = @@ -226,12 +235,18 @@ final String attrName =3D this.getNamespaceAttributeName(interfaceNa= me.getPrefix()); interfaceNameElement.setAttribute(attrName, interfaceName.getNamespa= ceURI()); interfaceNameElement.setTextContent(this.toString(interfaceName)); + if (this.metadata =3D=3D null) + this.metadata =3D new Elements(); + = this.metadata.addElement(interfaceNameElement); } = @XmlTransient public List getMetadata() { + if (this.metadata =3D=3D null) + return null; + = return this.metadata.getElements(); } = @@ -240,6 +255,9 @@ if ((metadata =3D=3D null) || (metadata.size() =3D=3D 0)) return; = + if (this.metadata =3D=3D null) + this.metadata =3D new Elements(); + = this.metadata.setElements(metadata); } = @@ -268,12 +286,18 @@ return; = this.wsdlLocation =3D wsdlLocation; + if (this.metadata =3D=3D null) + this.metadata =3D new Elements(); + = this.metadata.addAttribute(WSDL_LOCATION_QNAME, wsdlLocation); } = @XmlTransient public List getReferenceParameters() { + if (this.referenceParameters =3D=3D null) + return null; + = return this.referenceParameters.getElements(); } = @@ -282,6 +306,9 @@ if ((metadata =3D=3D null) || (metadata.size() =3D=3D 0)) return; = + if (this.referenceParameters =3D=3D null) + this.referenceParameters =3D new Elements(); + = this.referenceParameters.setElements(metadata); } = @@ -499,6 +526,15 @@ } this.attributes.put(attrName, attrValue); } + = + @XmlTransient + public boolean isEmpty() + { + final boolean noAttributes =3D this.attributes =3D=3D null || thi= s.attributes.size() =3D=3D 0; + final boolean noElements =3D this.elements =3D=3D null || this.el= ements.size() =3D=3D 0; + = + return noAttributes && noElements; + } } = } --===============5137761095343185815==--