We are going to release with 1.7.3. Andreas
On Sun, May 29, 2016 at 7:54 PM, Hiranya Jayathilaka <hiranya...@gmail.com> wrote: > Hi Andreas, > > How is this going to impact the release process, if we are to release with > Axis2 1.7.2? > > Thanks, > Hiranya > >> On May 29, 2016, at 8:54 AM, veit...@apache.org wrote: >> >> Author: veithen >> Date: Sun May 29 15:54:01 2016 >> New Revision: 1746027 >> >> URL: http://svn.apache.org/viewvc?rev=1746027&view=rev >> Log: >> SYNAPSE-1027: Fix a performance regression caused by pass through related >> code. Patch provided by Auke Schrijnen. Also update the Axis2 version to >> 1.7.3-SNAPSHOT since the unit test depends on a fix in the Axis2 transport >> testkit. >> >> Added: >> >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/ >> >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/ >> >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/RelayUtilsTest.java >> (with props) >> Modified: >> >> synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/RelayUtils.java >> synapse/trunk/java/pom.xml >> >> Modified: >> synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/RelayUtils.java >> URL: >> http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/RelayUtils.java?rev=1746027&r1=1746026&r2=1746027&view=diff >> ============================================================================== >> --- >> synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/RelayUtils.java >> (original) >> +++ >> synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/RelayUtils.java >> Sun May 29 15:54:01 2016 >> @@ -42,6 +42,7 @@ import org.apache.synapse.transport.pass >> >> import javax.activation.DataHandler; >> import javax.activation.DataSource; >> +import javax.xml.namespace.QName; >> import javax.xml.stream.XMLStreamException; >> >> import java.io.BufferedInputStream; >> @@ -88,10 +89,20 @@ public class RelayUtils { >> } >> >> SOAPEnvelope envelope = messageContext.getEnvelope(); >> - OMElement contentEle = envelope.getBody().getFirstChildWithName( >> - RelayConstants.BINARY_CONTENT_QNAME); >> >> - if (contentEle != null) { >> + QName firstElementQName; >> + if (envelope.getSOAPBodyFirstElementNS() != null) { >> + firstElementQName = new QName( >> + envelope.getSOAPBodyFirstElementNS().getNamespaceURI(), >> + envelope.getSOAPBodyFirstElementLocalName()); >> + } else if (envelope.getSOAPBodyFirstElementLocalName() != null){ >> + firstElementQName = new >> QName(envelope.getSOAPBodyFirstElementLocalName()); >> + } else { >> + firstElementQName = null; >> + } >> + >> + if (RelayConstants.BINARY_CONTENT_QNAME.equals(firstElementQName)) { >> + OMElement contentEle = envelope.getBody().getFirstElement(); >> OMNode node = contentEle.getFirstOMChild(); >> if (node != null && (node instanceof OMText)) { >> OMText binaryDataNode = (OMText) node; >> >> Added: >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/RelayUtilsTest.java >> URL: >> http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/RelayUtilsTest.java?rev=1746027&view=auto >> ============================================================================== >> --- >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/RelayUtilsTest.java >> (added) >> +++ >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/RelayUtilsTest.java >> Sun May 29 15:54:01 2016 >> @@ -0,0 +1,102 @@ >> +/* >> + * 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.synapse.transport.passthru.util; >> + >> +import static org.junit.Assert.*; >> + >> +import java.io.IOException; >> +import java.io.InputStream; >> +import java.io.StringReader; >> +import java.nio.charset.Charset; >> + >> +import javax.xml.namespace.QName; >> +import javax.xml.stream.XMLStreamException; >> + >> +import org.apache.axiom.om.OMElement; >> +import org.apache.axiom.om.OMXMLBuilderFactory; >> +import org.apache.axiom.soap.SOAPEnvelope; >> +import org.apache.axis2.context.ConfigurationContext; >> +import org.apache.axis2.context.MessageContext; >> +import org.apache.axis2.engine.AxisConfiguration; >> +import org.apache.commons.io.input.ReaderInputStream; >> +import org.junit.Before; >> +import org.junit.Test; >> + >> +public class RelayUtilsTest { >> + >> + private static final Charset UTF8 = Charset.forName("UTF-8"); >> + >> + private final String xml = >> + "<s:Envelope >> xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>" >> + + "<s:Body><payload><data>value</data></payload></s:Body>" >> + + "</s:Envelope>"; >> + >> + private final QName payloadQName = new QName("payload"); >> + >> + MessageContext msgCtx; >> + >> + @Before >> + public void setUp() throws Exception { >> + msgCtx = new MessageContext(); >> + >> + AxisConfiguration configuration = new AxisConfiguration(); >> + ConfigurationContext context = new >> ConfigurationContext(configuration); >> + msgCtx.setConfigurationContext(context); >> + } >> + >> + @Test >> + public void testSOAPBodyIsntFullyReadWhenNotUsingBinaryRelayBuilder() >> + throws IOException, XMLStreamException { >> + >> + SOAPEnvelope envelope = OMXMLBuilderFactory >> + .createSOAPModelBuilder(new >> StringReader(xml)).getSOAPEnvelope(); >> + >> + msgCtx.setEnvelope(envelope); >> + >> + // Build message when using pass through pipe or binary relay >> builder >> + RelayUtils.buildMessage(msgCtx); >> + >> + // Ensure that the payload element is accessible >> + assertEquals(payloadQName, >> msgCtx.getEnvelope().getBody().getFirstElement().getQName()); >> + >> + // Ensure that the body isn't fully build to support the use of >> deferred building >> + assertFalse(msgCtx.getEnvelope().getBody().isComplete()); >> + } >> + >> + @Test >> + public void testBinaryRelayPayloadExpandsToOriginalPayload() >> + throws IOException, XMLStreamException { >> + >> + // Transform request soap message into a binary payload >> + BinaryRelayBuilder builder = new BinaryRelayBuilder(); >> + InputStream stream = new ReaderInputStream(new StringReader(xml), >> UTF8); >> + OMElement element = builder.processDocument(stream, "text/xml", >> msgCtx); >> + msgCtx.setEnvelope((SOAPEnvelope)element); >> + >> + // Build message when using pass through pipe or binary relay >> builder >> + RelayUtils.buildMessage(msgCtx); >> + >> + // Ensure that the binary payload is transformed to the appropriate >> element >> + assertEquals(payloadQName, >> msgCtx.getEnvelope().getBody().getFirstElement().getQName()); >> + >> + // Ensure that the body isn't fully build to support the use of >> deferred building >> + assertFalse(msgCtx.getEnvelope().getBody().isComplete()); >> + } >> + >> +} >> >> Propchange: >> synapse/trunk/java/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/passthru/util/RelayUtilsTest.java >> ------------------------------------------------------------------------------ >> svn:eol-style = native >> >> Modified: synapse/trunk/java/pom.xml >> URL: >> http://svn.apache.org/viewvc/synapse/trunk/java/pom.xml?rev=1746027&r1=1746026&r2=1746027&view=diff >> ============================================================================== >> --- synapse/trunk/java/pom.xml (original) >> +++ synapse/trunk/java/pom.xml Sun May 29 15:54:01 2016 >> @@ -1035,7 +1035,7 @@ >> <commons.codec.version>1.6</commons.codec.version> >> >> <!-- Axis2 and its dependencies --> >> - <axis2.version>1.7.2</axis2.version> >> + <axis2.version>1.7.3-SNAPSHOT</axis2.version> >> <axiom.version>1.2.19</axiom.version> >> <wsdl4j.version>1.6.2</wsdl4j.version> >> >> >> > > -- > Hiranya Jayathilaka > Mayhem Lab/RACE Lab; > Dept. of Computer Science, UCSB; http://cs.ucsb.edu > E-mail: hira...@cs.ucsb.edu; Mobile: +1 (805) 895-7443 > Blog: http://techfeast-hiranya.blogspot.com > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org > For additional commands, e-mail: dev-h...@synapse.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org