You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2017/03/07 20:03:03 UTC

[01/15] cxf git commit: [CXF-7243] USe correct queue for replyToDestination

Repository: cxf
Updated Branches:
  refs/heads/3.1.x-fixes c4901706c -> d5b594749


[CXF-7243] USe correct queue for replyToDestination


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/40356fc6
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/40356fc6
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/40356fc6

Branch: refs/heads/3.1.x-fixes
Commit: 40356fc6b033def4adf817453a483939a249e85d
Parents: c490170
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Feb 20 17:29:37 2017 +0100
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 13:54:51 2017 -0500

----------------------------------------------------------------------
 .../java/org/apache/cxf/transport/jms/JMSConduit.java | 14 +++++++-------
 .../apache/cxf/transport/jms/JMSConfiguration.java    |  5 ++++-
 2 files changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/40356fc6/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
index dbcec32..d711cd7 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java
@@ -204,12 +204,13 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me
         
         // Synchronize on exchange early to make sure we do not miss the notify 
         synchronized (exchange) {
-            Destination replyToDestination = jmsConfig
-                .getReplyToDestination(session, headers.getJMSReplyTo());
-            String jmsMessageID = sendMessage(request, outMessage, replyToDestination, correlationId, closer,
-                                              session);
+            String replyTo = headers.getJMSReplyTo();
+            String jmsMessageID = sendMessage(request, outMessage,
+                                              jmsConfig.getReplyToDestination(session, replyTo),
+                                              correlationId, closer, session);
+            Destination replyDestination = jmsConfig.getReplyDestination(session, replyTo);
             boolean useSyncReceive = ((correlationId == null || userCID != null) && !jmsConfig.isPubSubDomain())
-                || (!replyToDestination.equals(staticReplyDestination) && headers.getJMSReplyTo() != null);
+                || !replyDestination.equals(staticReplyDestination);
             if (correlationId == null) {
                 correlationId = jmsMessageID;
                 correlationMap.put(correlationId, exchange);
@@ -217,8 +218,7 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me
 
             if (exchange.isSynchronous()) {
                 if (useSyncReceive) {
-                    // TODO Not sure if replyToDestination is correct here
-                    javax.jms.Message replyMessage = JMSUtil.receive(session, replyToDestination,
+                    javax.jms.Message replyMessage = JMSUtil.receive(session, replyDestination,
                                                                      correlationId,
                                                                      jmsConfig.getReceiveTimeout(),
                                                                      jmsConfig.isPubSubNoLocal());

http://git-wip-us.apache.org/repos/asf/cxf/blob/40356fc6/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
index 46a0d95..6269da6 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
@@ -461,7 +461,10 @@ public class JMSConfiguration {
     }
 
     public Destination getReplyDestination(Session session, String replyToName) throws JMSException {
-        return destinationResolver.resolveDestinationName(session, replyToName, replyPubSubDomain);
+        if (replyToName != null) {
+            return destinationResolver.resolveDestinationName(session, replyToName, replyPubSubDomain);
+        }
+        return getReplyDestination(session);
     }
 
     public TransactionManager getTransactionManager() {


[10/15] cxf git commit: Start working on trying to support Jetty 9.3.15+

Posted by dk...@apache.org.
Start working on trying to support Jetty 9.3.15+

# Conflicts:
#	rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/161439d2
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/161439d2
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/161439d2

Branch: refs/heads/3.1.x-fixes
Commit: 161439d2c79f64b756871960372a4e618669f4f0
Parents: 1c591f4
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Mar 6 15:53:42 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:06:25 2017 -0500

----------------------------------------------------------------------
 .../jetty9/Jetty9WebSocketDestination.java      | 27 ++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/161439d2/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
----------------------------------------------------------------------
diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
index bb94430..b0f450b 100644
--- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
+++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
@@ -23,6 +23,9 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.URL;
 import java.nio.ByteBuffer;
 import java.security.Principal;
 import java.util.Enumeration;
@@ -42,6 +45,7 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.cxf.Bus;
 import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.ReflectionUtil;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.http.DestinationRegistry;
 import org.apache.cxf.transport.http_jetty.JettyHTTPDestination;
@@ -55,8 +59,10 @@ import org.apache.cxf.transport.websocket.jetty.WebSocketVirtualServletRequest;
 import org.apache.cxf.transport.websocket.jetty.WebSocketVirtualServletResponse;
 import org.apache.cxf.workqueue.WorkQueueManager;
 import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.handler.ContextHandler;
 import org.eclipse.jetty.websocket.api.Session;
 import org.eclipse.jetty.websocket.api.WebSocketAdapter;
+import org.eclipse.jetty.websocket.api.WebSocketPolicy;
 import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
 import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse;
 import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
@@ -85,7 +91,16 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
                            WebSocketServletFactory.class).newInstance();
             
         } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
-            throw new RuntimeException(e);
+            try {
+                //jetty >9.3.14 - yes.. they change API's in a patch release
+                Method m = ReflectionUtil.getDeclaredMethod(WebSocketServletFactory.Loader.class, "load", 
+                                                                ServletContext.class, WebSocketPolicy.class);
+                ReflectionUtil.setAccessible(m);
+                webSocketFactory = (WebSocketServletFactory)m.invoke(null, new ContextHandler.StaticContext(), null);
+            } catch (NoSuchMethodException | IllegalAccessException 
+                | IllegalArgumentException | InvocationTargetException e2) {
+                throw new RuntimeException(e);
+            }            
         }
         webSocketFactory.setCreator(new Creator());
         
@@ -132,7 +147,15 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
     @Override
     public void shutdown() {
         try {
-            webSocketFactory.cleanup();
+            Method m;
+            try {
+                //jetty <9.3.14
+                m = ReflectionUtil.getDeclaredMethod(webSocketFactory.getClass(), "cleanup");
+            } catch (Throwable t) {
+                //jetty >= 9.3.14
+                m = ReflectionUtil.getDeclaredMethod(webSocketFactory.getClass(), "stop");
+            }
+            m.invoke(webSocketFactory);
         } catch (Exception e) {
             // ignore
         } finally {


[02/15] cxf git commit: Update some dependency versions

Posted by dk...@apache.org.
Update some dependency versions

# Conflicts:
#	parent/pom.xml


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/eb9f16ee
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/eb9f16ee
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/eb9f16ee

Branch: refs/heads/3.1.x-fixes
Commit: eb9f16ee4198db91a7a78dc5fb9bd000eaca8d2b
Parents: 40356fc
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Feb 27 10:47:55 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 13:59:55 2017 -0500

----------------------------------------------------------------------
 parent/pom.xml                                      | 16 ++++++++--------
 rt/rs/client/pom.xml                                |  5 +++++
 .../http/asyncclient/SharedInputBuffer.java         |  2 --
 .../http/asyncclient/SharedOutputBuffer.java        |  2 --
 4 files changed, 13 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/eb9f16ee/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 7ddab8f..dce7bf9 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -46,7 +46,7 @@
         <cxf.asm.groupId>org.ow2.asm</cxf.asm.groupId>
         <cxf.asm.artifactId>asm</cxf.asm.artifactId>
         <cxf.asm.version>5.0.4</cxf.asm.version>
-        <cxf.osgi.asm.version>[3.0,6)</cxf.osgi.asm.version>
+        <cxf.osgi.asm.version>[3.0,6.1)</cxf.osgi.asm.version>
         <!-- OSGi related properties -->
         <cxf.fragment.host />
         <cxf.bundle.activator />
@@ -67,7 +67,7 @@
         <!-- please maintain alphabetical order here -->
         <cxf.abdera.version>1.1.3</cxf.abdera.version>
         <cxf.abdera.osgi.version>1.1.3_2</cxf.abdera.osgi.version>
-        <cxf.activemq.version>5.14.2</cxf.activemq.version>
+        <cxf.activemq.version>5.14.3</cxf.activemq.version>
         <cxf.ahc.version>1.9.8</cxf.ahc.version>
         <cxf.apacheds.version>2.0.0-M23</cxf.apacheds.version>
         <cxf.atmosphere.version>2.3.7</cxf.atmosphere.version>
@@ -88,12 +88,12 @@
         <cxf.fastinfoset.bundle.version>1.2.13_1</cxf.fastinfoset.bundle.version>
         <cxf.guava.version>18.0</cxf.guava.version>
         <cxf.hazelcast.version>1.9.4.8</cxf.hazelcast.version>
-        <cxf.httpcomponents.asyncclient.version>4.1.2</cxf.httpcomponents.asyncclient.version>
+        <cxf.httpcomponents.asyncclient.version>4.1.3</cxf.httpcomponents.asyncclient.version>
         <cxf.httpcomponents.asyncclient.version.range>[4.0,4.2)</cxf.httpcomponents.asyncclient.version.range>
-        <cxf.httpcomponents.client.version>4.5.2</cxf.httpcomponents.client.version>
-        <cxf.httpcomponents.core.version>4.4.4</cxf.httpcomponents.core.version>
+        <cxf.httpcomponents.client.version>4.5.3</cxf.httpcomponents.client.version>
+        <cxf.httpcomponents.core.version>4.4.6</cxf.httpcomponents.core.version>
         <cxf.httpcomponents.core.version.range>[4.3,4.5.0)</cxf.httpcomponents.core.version.range>
-        <cxf.jackson.version>2.8.6</cxf.jackson.version>
+        <cxf.jackson.version>2.8.7</cxf.jackson.version>
         <cxf.james.mim4j.version>0.7.2</cxf.james.mim4j.version>
         <cxf.logback.classic.version>1.0.13</cxf.logback.classic.version>
         <cxf.log4j.version>1.2.17</cxf.log4j.version>
@@ -143,7 +143,7 @@
         <cxf.servlet-api.version>1.0</cxf.servlet-api.version>
         <cxf.servlet-api-2.5.artifact>geronimo-servlet_2.5_spec</cxf.servlet-api-2.5.artifact>
         <cxf.servlet-api-2.5.version>1.1.2</cxf.servlet-api-2.5.version>
-        <cxf.slf4j.version>1.7.22</cxf.slf4j.version>
+        <cxf.slf4j.version>1.7.24</cxf.slf4j.version>
         <cxf.specs.jaxws.api.version>1.2</cxf.specs.jaxws.api.version>
         <cxf.spring.version>4.1.9.RELEASE</cxf.spring.version>
         <cxf.spring.boot.version>1.4.4.RELEASE</cxf.spring.boot.version>
@@ -1436,7 +1436,7 @@
             <dependency>
                 <groupId>org.easymock</groupId>
                 <artifactId>easymock</artifactId>
-                <version>3.3.1</version>
+                <version>3.4</version>
                 <scope>test</scope>
             </dependency>
             <dependency>

http://git-wip-us.apache.org/repos/asf/cxf/blob/eb9f16ee/rt/rs/client/pom.xml
----------------------------------------------------------------------
diff --git a/rt/rs/client/pom.xml b/rt/rs/client/pom.xml
index 097c356..a14dd2b 100644
--- a/rt/rs/client/pom.xml
+++ b/rt/rs/client/pom.xml
@@ -108,6 +108,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib-nodep</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>${cxf.servlet-api.group}</groupId>
             <artifactId>${cxf.servlet-api.artifact}</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/cxf/blob/eb9f16ee/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedInputBuffer.java
----------------------------------------------------------------------
diff --git a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedInputBuffer.java b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedInputBuffer.java
index d6534d6..6c0fbd4 100644
--- a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedInputBuffer.java
+++ b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedInputBuffer.java
@@ -25,7 +25,6 @@ import java.nio.ByteBuffer;
 import java.util.concurrent.locks.Condition;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.apache.http.annotation.ThreadSafe;
 import org.apache.http.nio.ContentDecoder;
 import org.apache.http.nio.IOControl;
 import org.apache.http.nio.util.ByteBufferAllocator;
@@ -44,7 +43,6 @@ import org.apache.http.nio.util.ExpandableBuffer;
  * In case of an abnormal situation or when no longer needed the buffer must be shut down
  * using {@link #shutdown()} method.
  */
-@ThreadSafe
 public class SharedInputBuffer extends ExpandableBuffer {
 
     private final ReentrantLock lock;

http://git-wip-us.apache.org/repos/asf/cxf/blob/eb9f16ee/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedOutputBuffer.java
----------------------------------------------------------------------
diff --git a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedOutputBuffer.java b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedOutputBuffer.java
index 1e3ed96..5d2a2fd 100644
--- a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedOutputBuffer.java
+++ b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/SharedOutputBuffer.java
@@ -26,7 +26,6 @@ import java.nio.ByteBuffer;
 import java.util.concurrent.locks.Condition;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.apache.http.annotation.ThreadSafe;
 import org.apache.http.nio.ContentEncoder;
 import org.apache.http.nio.IOControl;
 import org.apache.http.nio.util.ByteBufferAllocator;
@@ -45,7 +44,6 @@ import org.apache.http.nio.util.ExpandableBuffer;
  * In case of an abnormal situation or when no longer needed the buffer must be
  * shut down using {@link #shutdown()} method.
  */
-@ThreadSafe
 public class SharedOutputBuffer extends ExpandableBuffer {
 
     private final ReentrantLock lock;


[08/15] cxf git commit: Update some dependency versions

Posted by dk...@apache.org.
Update some dependency versions

# Conflicts:
#	parent/pom.xml


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/dd31068e
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/dd31068e
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/dd31068e

Branch: refs/heads/3.1.x-fixes
Commit: dd31068e03691e0ab1a7e63901d052ff466ee9cd
Parents: fd33282
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Mar 6 14:23:07 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:05:42 2017 -0500

----------------------------------------------------------------------
 parent/pom.xml | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/dd31068e/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index dce7bf9..d1eb561 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -67,7 +67,7 @@
         <!-- please maintain alphabetical order here -->
         <cxf.abdera.version>1.1.3</cxf.abdera.version>
         <cxf.abdera.osgi.version>1.1.3_2</cxf.abdera.osgi.version>
-        <cxf.activemq.version>5.14.3</cxf.activemq.version>
+        <cxf.activemq.version>5.14.4</cxf.activemq.version>
         <cxf.ahc.version>1.9.8</cxf.ahc.version>
         <cxf.apacheds.version>2.0.0-M23</cxf.apacheds.version>
         <cxf.atmosphere.version>2.3.7</cxf.atmosphere.version>
@@ -80,7 +80,7 @@
         <cxf.commons-codec.version>1.10</cxf.commons-codec.version>
         <cxf.commons-collections.version>3.2.2</cxf.commons-collections.version>
         <cxf.commons-lang.version>2.6</cxf.commons-lang.version>
-        <cxf.commons-lang3.version>3.4</cxf.commons-lang3.version>
+        <cxf.commons-lang3.version>3.5</cxf.commons-lang3.version>
         <cxf.derby.version>10.2.2.0</cxf.derby.version>
         <cxf.dropwizard.version>3.1.2</cxf.dropwizard.version>
         <cxf.ehcache.version>2.10.3</cxf.ehcache.version>
@@ -98,7 +98,8 @@
         <cxf.logback.classic.version>1.0.13</cxf.logback.classic.version>
         <cxf.log4j.version>1.2.17</cxf.log4j.version>
         <cxf.lucene.version>4.9.0</cxf.lucene.version>
-        <cxf.mina.version>2.0.13</cxf.mina.version>
+        <cxf.mina.version>2.0.14</cxf.mina.version>
+        <cxf.rx.java.version>1.1.3</cxf.rx.java.version>
         <cxf.javax.annotation-api.version>1.2</cxf.javax.annotation-api.version>
         <cxf.jcache.version>1.0.0</cxf.jcache.version>
         <cxf.geronimo.jms.version>1.1.1</cxf.geronimo.jms.version>
@@ -182,7 +183,7 @@
         <cxf.osgi.version>4.2.0</cxf.osgi.version>
         <cxf.karaf.version>3.0.8</cxf.karaf.version>
         <cxf.pax.logging.version>1.6.0</cxf.pax.logging.version>
-        <cxf.pax.exam.version>4.7.0</cxf.pax.exam.version>
+        <cxf.pax.exam.version>4.10.0</cxf.pax.exam.version>
         <cxf.felix.framework.version>2.0.5</cxf.felix.framework.version>
         <cxf.felix.configadmin.version>1.2.4</cxf.felix.configadmin.version>
         <cxf.xmlbeans.bundle.version>2.6.0_2</cxf.xmlbeans.bundle.version>
@@ -208,7 +209,7 @@
         <cxf.dom4j.bundle.version>1.6.1_5</cxf.dom4j.bundle.version>
         <cxf.jdom.bundle.version>1.1_4</cxf.jdom.bundle.version>
         <cxf.olingo.version>1.2.0</cxf.olingo.version>
-        <cxf.tika.version>1.6</cxf.tika.version>
+        <cxf.tika.version>1.14</cxf.tika.version>
         <cxf.jexl.version>2.1.1</cxf.jexl.version>
         <cxf.htrace.version>4.0.1-incubating</cxf.htrace.version>
         <cxf.checkstyle.extension />
@@ -852,7 +853,7 @@
             <dependency>
                 <groupId>org.apache.ant</groupId>
                 <artifactId>ant</artifactId>
-                <version>1.9.6</version>
+                <version>1.10.1</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.ant</groupId>


[15/15] cxf git commit: Fix build failure after merges from master

Posted by dk...@apache.org.
Fix build failure after merges from master


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d5b59474
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d5b59474
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d5b59474

Branch: refs/heads/3.1.x-fixes
Commit: d5b5947492b738438fbc09f50d204cb6b755e07b
Parents: c984c72
Author: Daniel Kulp <dk...@apache.org>
Authored: Tue Mar 7 15:02:42 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 15:02:42 2017 -0500

----------------------------------------------------------------------
 .../transport/websocket/jetty9/Jetty9WebSocketDestination.java  | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/d5b59474/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
----------------------------------------------------------------------
diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
index 38006a7..8c3a4e8 100644
--- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
+++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
@@ -22,7 +22,6 @@ package org.apache.cxf.transport.websocket.jetty9;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
-import java.net.URL;
 import java.nio.ByteBuffer;
 import java.security.Principal;
 import java.util.Enumeration;
@@ -83,9 +82,7 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
 
     public Jetty9WebSocketDestination(Bus bus, DestinationRegistry registry, EndpointInfo ei,
                                      JettyHTTPServerEngineFactory serverEngineFactory) throws IOException {
-        super(bus, registry, ei,
-              serverEngineFactory == null ? null : new URL(getNonWSAddress(ei)),
-              serverEngineFactory);
+        super(bus, registry, ei, serverEngineFactory);
         executor = bus.getExtension(WorkQueueManager.class).getAutomaticWorkQueue();
     }
     


[06/15] cxf git commit: Update to support latest Spring version

Posted by dk...@apache.org.
Update to support latest Spring version

# Conflicts:
#	parent/pom.xml


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/19ebf83e
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/19ebf83e
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/19ebf83e

Branch: refs/heads/3.1.x-fixes
Commit: 19ebf83eff810328e2dc8fd174bf1d4ea992141f
Parents: 00589e4
Author: Daniel Kulp <dk...@apache.org>
Authored: Tue Feb 28 10:58:08 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:03:25 2017 -0500

----------------------------------------------------------------------
 .../java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java  | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/19ebf83e/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java b/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
index 25748bf..b4af114 100644
--- a/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
+++ b/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
@@ -154,4 +154,8 @@ public class Jsr250BeanPostProcessor
         }
     }
 
+    public boolean requiresDestruction(Object bean) {
+        return isProcessing;
+    }
+
 }


[03/15] cxf git commit: Rework test to try and see why it's randomly failing

Posted by dk...@apache.org.
Rework test to try and see why it's randomly failing

# Conflicts:
#	rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/66b9f877
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/66b9f877
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/66b9f877

Branch: refs/heads/3.1.x-fixes
Commit: 66b9f877271669b0fb5bc3328effaf2013b93667
Parents: eb9f16e
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Feb 27 13:35:35 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:01:20 2017 -0500

----------------------------------------------------------------------
 .../apache/cxf/ext/logging/RESTLoggingTest.java | 22 +++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/66b9f877/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java b/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
index 8bde31f..35c47e0 100644
--- a/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
+++ b/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
@@ -61,16 +61,18 @@ public class RESTLoggingTest {
         loggingFeature.setLogBinary(true);
         client.get(InputStream.class).close();
         server.destroy();
-        
-        assertLogged(sender.getEvents().get(0));
-        assertLogged(sender.getEvents().get(1));
-        assertNotLogged(sender.getEvents().get(2));
-        assertNotLogged(sender.getEvents().get(3));
-        
-        assertLogged(sender.getEvents().get(4));
-        assertLogged(sender.getEvents().get(5));
-        assertLogged(sender.getEvents().get(6));
-        assertLogged(sender.getEvents().get(7));
+
+        List<LogEvent> events = sender.getEvents();
+        Assert.assertEquals(8, events.size());
+        assertLogged(events.get(0));
+        assertLogged(events.get(1));
+        assertNotLogged(events.get(2));
+        assertNotLogged(events.get(3));
+
+        assertLogged(events.get(4));
+        assertLogged(events.get(5));
+        assertLogged(events.get(6));
+        assertLogged(events.get(7));
     }
 
     private void assertLogged(LogEvent event) {


[07/15] cxf git commit: Try to fix random failures in pax-exam tests by forking per test

Posted by dk...@apache.org.
Try to fix random failures in pax-exam tests by forking per test


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/fd33282d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/fd33282d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/fd33282d

Branch: refs/heads/3.1.x-fixes
Commit: fd33282da576997a31962ca7ea4dfdf653927f82
Parents: 19ebf83
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Mar 6 14:22:11 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:03:45 2017 -0500

----------------------------------------------------------------------
 osgi/itests/pom.xml               | 12 ++++++++++++
 services/xkms/xkms-itests/pom.xml |  1 +
 2 files changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/fd33282d/osgi/itests/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/itests/pom.xml b/osgi/itests/pom.xml
index 648b342..5955d00 100644
--- a/osgi/itests/pom.xml
+++ b/osgi/itests/pom.xml
@@ -201,6 +201,18 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <org.ops4j.pax.logging.DefaultServiceLog.level>WARN</org.ops4j.pax.logging.DefaultServiceLog.level>
+                        <karaf.version>${cxf.karaf.version}</karaf.version>
+                        <localRepository>${maven.repo.local}</localRepository>
+                    </systemPropertyVariables>
+                    <reuseForks>false</reuseForks>
+                </configuration>
+            </plugin>
         </plugins>
         <pluginManagement>
             <plugins>

http://git-wip-us.apache.org/repos/asf/cxf/blob/fd33282d/services/xkms/xkms-itests/pom.xml
----------------------------------------------------------------------
diff --git a/services/xkms/xkms-itests/pom.xml b/services/xkms/xkms-itests/pom.xml
index a0bb617..df77d84 100644
--- a/services/xkms/xkms-itests/pom.xml
+++ b/services/xkms/xkms-itests/pom.xml
@@ -140,6 +140,7 @@
                         <karaf.version>${cxf.karaf.version}</karaf.version>
                         <localRepository>${maven.repo.local}</localRepository>
                     </systemPropertyVariables>
+                    <reuseForks>false</reuseForks>
                 </configuration>
             </plugin>
         </plugins>


[14/15] cxf git commit: Recording .gitmergeinfo Changes

Posted by dk...@apache.org.
Recording .gitmergeinfo Changes


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/c984c729
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c984c729
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c984c729

Branch: refs/heads/3.1.x-fixes
Commit: c984c729f47f2020ef3c3e2850f94d61df8be745
Parents: 4b71edb
Author: Daniel Kulp <dk...@apache.org>
Authored: Tue Mar 7 14:11:57 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:11:57 2017 -0500

----------------------------------------------------------------------
 .gitmergeinfo | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/c984c729/.gitmergeinfo
----------------------------------------------------------------------
diff --git a/.gitmergeinfo b/.gitmergeinfo
index fbb4723..dd273c6 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -8,6 +8,7 @@ B 0336a2399b1980e04372c651368f8718f75a4f14
 B 03cdee74d8f41079bf0a1e06eecc6a993109fba4
 B 042d1dbe5f236125c77db8348bf66d4a3d4d2385
 B 04d072e8494cb223c8f7b288776640dea68339d6
+B 04d160cad1a27bb4cc694077125c6ea742647d3d
 B 052582d56a99d96773dffcc8d83e96c26030e7c3
 B 057b2a6d5d85285446ff762bd3451a0e3e945d7a
 B 06bfa1334e86ebcf8e19974708d4aa165296edb9
@@ -25,6 +26,7 @@ B 1224d5cc9f646aa3a4924ce9cb045366d2f4cdff
 B 122d1f64f248294a4303632571ec363aea4c2179
 B 1304bc2ffbe6b4c3bfdc4e4f47e5e224e52fd808
 B 140ad80be96ea11d360cd7a1d8e791ca91a2220d
+B 1552f881183ba35b3706dc3c8061d7c6d85c7238
 B 16931d7ae0cbb38e987923bf604cd403c1caee7f
 B 180d0fcc5e0d061f339e1a3cb32ec53a3ab32b97
 B 183a2a4022b912a6c32c1d3e268982b2f78f7631
@@ -34,6 +36,7 @@ B 1ae4d6dee70587b048c0dcded9cd0b2855c2e225
 B 1b2a3d0d2e1a4c8f13368fd7c3e0e1cbfabd2b32
 B 1b8064f475b09323c5c11d9e8a4e1440879cae26
 B 1c3085ea94a902e6bf4a49b50c121e778efd28c2
+B 1d2f3999073b8d46ebe3e1e9f7a532d4b07434b4
 B 1d2ff721ef4d63b86035238516afdf1a82855bd9
 B 1e49510ea71551e543b22f6693307b1436e81db0
 B 1f68d848874bc2be86d3e77e408f0b9879c1e93c
@@ -66,6 +69,7 @@ B 3bebf6b49283d9a9c36365c030533a3508f836c7
 B 3ce7f00461d9c868301003b5c16138c491a9ac0b
 B 3f259221fa1dd9227397400ed9653374cb4fdc39
 B 3fbedf1397714824b9700cd4d49569087936fe1a
+B 3fc02937bd8ba0bb500a2cdfd8afa863b9cf6aec
 B 40380d8e57cdea0d909f3a9ee207628831c202fa
 B 40dd6d61c5e6e276df9437e5f000e103ee6101d6
 B 4149e50e39a8d4ffb71924d42def376b634ef64a
@@ -87,6 +91,7 @@ B 4b37844e9c15812d1855d0babded79880d2cd6fb
 B 4bf780105271e91451446a2d96032249486b32de
 B 4dd4e1cf0d517021fd65ffe219a9be6c9f75c84a
 B 4ddf74b1acd8f65b685c8e11b809a06807799f84
+B 4ea19d64741fbb5fddf7b7e09fab3b33f72f88c7
 B 4f1afbf76d3e525163663b71104ce2adb9cb7a85
 B 502db47a7c520767da2977376be5cf2fce3f56af
 B 517ef67f1a69d386de44153e5e09d51cb47bf4d7
@@ -103,6 +108,7 @@ B 584df3ae111595da1b44ccd9db9567c2172bbb2e
 B 58b379bdf8cce2434f6033e2d7adab944afff05b
 B 59436eadca147ba937a24a4f4fc6ced93cc0bc7f
 B 59b8615053ddcad353fbebcd9a5b1109ae0897a1
+B 59b972618b40c5dbaca2772673ded17c5273e7d2
 B 5a57f4a89737a5cfa37ffb94f6643c08e2ab6eb1
 B 5d73e20b4539bfa4c8ca607b27a1c1ea1850e095
 B 5e068d215b750e3211aaaf3d0b7b366d6a220fc2
@@ -110,6 +116,7 @@ B 604167d9f0cfc67e01219a19a95353176ce38f79
 B 62060f8bc1f4d85b77ff136cb0576049312b8541
 B 629af817f4762a12623e76fb7f7baefe98482719
 B 63daada33c83c7900d5678ad495a0e764b3506de
+B 64e17b90635e7acd6f0836ab2bb8f6ede026ecff
 B 65e1e07fdb810ec9de135530ca3e3d23821836a3
 B 66447a377f0b2cafc2f337456b5fd41f832556e0
 B 671b1cfce0c423a1e9e8392fdd1750697fa968df
@@ -154,6 +161,7 @@ B 8cea7c879658e83d7a4f54f6d4e8dfa0e449c67d
 B 8e7d8e18e820dcaef748c2cab6091f884fe647a4
 B 8f98be8e72d4dbe18347a7efab91f4b008d8385f
 B 90a74fc75af41898ee50359c13f298eb483a3d01
+B 91ef0687ed14842dc9efd5a09a59164b5328649a
 B 9323b68565ef79717e9d3e60744dd1bf63c1a5d8
 B 938217b05928747f7ef0d2a8899cbc297926a4e6
 B 94b837228a1d9c706aa235bfe23b827eb04da63c
@@ -172,10 +180,13 @@ B 9f39272a5f92c8bc27a8d3adc4da89f0eb30a54b
 B a05d75086453fa18ca4f4733f7cc8819693c786b
 B a219766354d6aee53c7f7a4da91f434af552b437
 B a261507ebd3104b1a00298801ec9815ed1e7a728
+B a2c912b418831967b49f59b2c8bf33a9eb53e281
+B a38da9e8f15fb158bf0982c61750ef48e5814792
 B a4167fb84baa1834bbe86be8a749c385f1af8c82
 B a4b794b55b1ea258e9168a58f05794f37aeeb049
 B a7362dfaf2141cb4f303f81bbb94c6df81be75cb
 B a81534d6655e046e7d316e6de38095fe3f4949cb
+B a93cbfd994c34000f27911c5aab6638b60d61ff7
 B a998152a243dabee50aa49f28d76037666adecd9
 B aa5cb3f487fce03a0c069ae4bd33fae82be1e8b3
 B ab05d4ee361670d3c251712f5819a0f0b7e114d6
@@ -186,6 +197,7 @@ B aeecef53263cd1d595d991654f0a783a10adfdcb
 B afdf9361f1c3ce49c8440a5f2615bde2bb42c684
 B b2c10cc6c18a6e6589d258436303c46b3f682f7e
 B b3ec59efcd10cf64a1bb8a399082071905f5baa9
+B b667f5b29b97a96985bd3d2b9d63b2d3d2d7c27e
 B b7cd2fb4b883cf9f6972d3593ecb0e1d31be7245
 B b8132e5962e326355b699bca445afe9274d0f91d
 B bacef091c2152d51ebdefbe20244e73d1c26b39d
@@ -222,6 +234,8 @@ B ce6cdcff2bee46194baa3e3b63b93616fcaea9c8
 B ced98c6e937bd93f92dac9043fa0406c696bfd84
 B cf3f537d210c979dc3b3f49e08ebad5f0c02993c
 B cf9ab27a843df4532d9bd78209aebcafee2ffffc
+B d017d3cf4165e9d8fa849e29669cece562f55253
+B d0dd55e901a83c1a4a014552a7da58f3899cd638
 B d151322220de948dea0539d5077354c988db80fb
 B d226c07d4db15fa9244a2f011df801839a880f68
 B d26570e26de80d0e0c6870ae5d959bfc8c0d19e4
@@ -269,6 +283,7 @@ B f1b56150d6520e73d2ade2296c3b2f13839e63e5
 B f2845b37c6e7042470f869edc2ce9138f83d616f
 B f2db225034f82e93617aa8aece8bf059b8758626
 B f2f8b95ad823b38aa68e7a2071eac0b5b637b2aa
+B f2fe6260e87fc71e43075730bee99cf564d2711a
 B f3bb66deb0757478a33e0c3609428e7450cf3edb
 B f66dea949bdc3f136084115aca4e514bad426380
 B f94e1dd9b2a8d27ec5a27bfb7c026e3ae2350e39
@@ -288,15 +303,21 @@ M 055f1d738016ae5caf3eba42e656782de8490890
 M 0578e16146527b0782530c40ba2db17531756d96
 M 07707cd522e63cd0574db378e08f2f820882b5ec
 M 0865c3a85b9687f857b51d1ae56c8f8e97bdbf5b
+M 08c9194ce2c567ebfe59f59ee628b1197d90fd43
+M 090fa6100ae3a5aa8ae894b0e238acb793f705ec
+M 09fb22b25333c66514f06652ceaf7fc11bde51cc
 M 0e5fd5a54cb271ba494e7e30b45d4228b33364a9
 M 11637433df089a638e173d1ef57441e7456cf2ea
 M 1184e08f0d1c40c754e39fd5d6340d1057fbdd17
 M 11e18bf5622cafdb10723cee895885d676b35a7b
+M 13d33c9ed261e06e44706cffa1671d67d31096a7
 M 146b00d1947058705c873dffe2ba78ad35c8b03c
 M 156b166b093aa92c1fc400e0f1f7440ded701169
+M 177579cad9c1a41b9b7c68ad69ed84de9fa08561
 M 19a4d72a32f1e18bec621af403ecdf21d97453af
 M 19d8da7f0672b86dbf88a08b54a72297d0ca2d20
 M 1afeea8bdc0ef96df1d52ea343957dc396723f8c
+M 1e57d379863d01b9330fff797c14d81a56b0b0f2
 M 20d0a2811c15cb65a402eb063e1359236d7014ea
 M 21031e3ab2ae227540e2a078d0336d894361acba
 M 2538ae42fb0c774023deed5264291b2fe6658cb8
@@ -306,18 +327,22 @@ M 2e8219cf3d047abc3a7e2611bf284aadbc20b7d6
 M 2f8a1f7645c30cb40d4f080ce4b4099964028751
 M 2f981e098ea265ab504496fbf9ce4564c894bc19
 M 315a6dc119f7bf0ad1f8f8ee74093327852dc365
+M 34fd320f91d933233aeb364120456f4fa0f220ac
 M 366a556210a1a7b047c4b4dd8da4fc74af6bd301
 M 386805560479b35276d88605c5acf805e3004aa5
 M 39c772a0764b323f98ab58e00345f4fca924c425
 M 3a1fa0b23f1778594b6339dfcfbc90dcc43a87d4
 M 3be9aac26a003ef43995054da875ffd5fa5a2eb4
 M 3e30d8892a723adcf04268efd7d407e164607065
+M 437c7daa3345c8482deab4a4da9b164e68fd417a
 M 45d54d558625236b84752b0d7976f0cf85518c16
 M 47691ae5c2c6528d95795a51e98e02b54a033c88
 M 4799fef822a96f5d1b2827d5cc42ab886fd4e673
 M 4837a6cb5ea319f6bf87aaf3bf49c1e4e99e45a7
 M 4b0868a8ee6f53d8543860a458821c35ec2a79a2
 M 4f4ce80ba2de80219e13943cbd6edbf411117234
+M 5022be0c15d90800ee983fe94b07a10a54814991
+M 52d77470228a3560f464003c68b30ffe8f1e8b9c
 M 574b2a9997c94011794fa2e083181e23c9936f15
 M 585df048b7730ee36644a4bb7c1a20fcf977d79e
 M 5954d4ce3c9713c17c3bbb8b730fad210aebfb3a
@@ -325,23 +350,31 @@ M 5b7b014cc1d24cba1191bc07fd48b13dbf4d4391
 M 5cff82c735c7543ce6dfb6c52ac72f583dbb5d22
 M 6242c682dfce4a2ba4869978c28b14f1472484c1
 M 63a1088a9253da0452497440e900d35a5415c3c9
+M 65c1204abcef8720d4eb985d58e3f865e39a1da3
 M 66e97c77eaa43ab3a2cd95f0edc6a27e7445e8ce
 M 6becb31c62ef0845a5078f4ec2124fe7bc264e58
+M 6d7985f39b83d28b0ca3e485be8de8f986d6f6c1
 M 7304dfbd8f3044d8d46981abf2058c6cb732d219
 M 746914a5084f5db8d0c0f052802c7ef2217b9b6b
 M 7690a1fd087aff24ad8e8e1ab2e0722e24bf3d81
+M 7ace8c84cff4696e365800fbba12cc789e97971f
+M 7c3a8b02a62db3bcc5c3a1895e9f30bc4fa3821a
 M 7e952df66b6ede5c8084aa3387f82224ef04e1ea
 M 804a957eb4225a1eaf65399881cdcd8552c00f52
 M 80ca2370616c28b036c54c95af84ca62f1725a30
 M 8118c5a301f22dea16c9d235ad378584a0ae2466
+M 81f8c3b6c0c283ec2370e4987d21f600a80b19d0
 M 847216a39ba3639f3170b8ad939548788fff4eb6
+M 855d033766dc31a76e8cf1a38b6ef8eb7490a23e
 M 8583a24ac541dc373503d7a6c59cd90890acdae3
 M 86667619dc61c8a84672fc5a583b4517f48176c5
 M 896f1abec915897967905762d6e850cfb6bac3bc
 M 8aebfa30047f32e3a6b4feb7ffdd89208ec4f435
+M 8dadf3defb43d13169943b191204be93da63c88b
 M 8e131133c8566a124605cb06e0b6db98fddb5972
 M 8e650cfe3efd63a06c25b7e912d9d4db61598eb1
 M 8f8e587cde7ec97410da6b0586810ccf8f0f3233
+M 8fa9b8b14b391a419569c1050d2a5a6ffa37710d
 M 8fbf0941ca52aac406b3efcf2e0d73436c72d0f1
 M 8fc9d782901adddf874fe7c2f9500836a0585707
 M 910f37767518832cce843c2a093ee833b7c48916
@@ -356,10 +389,15 @@ M 9d3c46e0cfe87700d7105ee131c3e3e33f228e06
 M 9ecea375930d1a217f35da65e0d6073f7a80bf7d
 M a034e5853484a7ef0a9f0ad1ae6582178f622f31
 M a1710bdd783afcd667d9e72ccb031480d3806850
+M a2cbe758286d00b5c5d9c5fbe6be4cc9d7ecf225
 M a644c5d06c0bae321e2c669efa0cecf3abdd944d
 M a89ca98653b95bcd2ab5cadbe9a419a4cec4893a
 M a9fe8470ce9522f08c298e58f76636c48d57b7a4
 M abcc137cb9b27e0da0b4270a18ac2a32df1e9990
+M ad18f5aef28eb82d613b3f4226b2ddae19b6415f
+M ad200706d0ea914987930a64d2f5c14336a0c641
+M b0a79aa7b48da6acdc6da1169abd690ecf914ca8
+M b1c6125f50b294b0e2ebc927671e2ff53b5001bf
 M b2b6f0137cd9f1bafff5d487e8383453692a2ff0
 M b2e5fb6583d64deeb8a42d2eeb6935c5f33dc0c6
 M b418fd7952dc36f1a3e577e457833588a2056104
@@ -368,16 +406,23 @@ M b49075882641fcebbbdf1ed8d84247fcf80aa558
 M b624c034c5682b54b9faf3d3e90eb0c23cde1a5b
 M c01c68ddda10ec6db492b86d818498bec0bf4228
 M c212240f696e3387df19bbcf22d1851aff320078
+M c2b13b7473781c3c1a4225a01c319cf8aa92cd0f
 M c55034d9621bc904634017b552057474afb93ac2
+M c7d50ca238184789412737ea0f0db4b5b5503326
 M c87613b800a5b2de25d861c3c74a0fb7dcf60862
+M c9875c223627a17f7d8128632b25bdf6bf148918
+M cbd4e7fa6b3e15d39f12d39a448ee3742d5d3efe
 M cf8ac102e728b8745da265ec969f7b5160829fdb
+M d187ef6f3906d867a8c30a991d9074d170bca487
 M d46818bd3043d211774de9bc531849f54bb2989f
+M db1e5146e6312a4be35b0ca2644a691cb1d41a0f
 M dba09f00804cc05d943fd95d34882d6368c28edb
 M ded06c40ba057981e003903faa93beb94cbe11fa
 M df3854cefae5d2da71f8d222a86218e81df7bd05
 M e578ea946aa13177adef98727e3e4606652ffc76
 M e6d42f6d6684feb46fc0bfbc0520ed13f0f002aa
 M e92e57c1f14de911cd2315a907443c79e91a94de
+M eb31ffe4f95c4dc6ac9a2ac56e15ae89b578359e
 M ed9298066428c0dfc4590a556876d696a4ba13c0
 M f462c797eab75e9b6c6c352b4baeb84429866068
 M f7f017f2187d59369a7b94bb053f1e297972dce7


[09/15] cxf git commit: Tika-parser brings in an old version of cxf-rt-rs-client, make sure we grab the latest

Posted by dk...@apache.org.
Tika-parser brings in an old version of cxf-rt-rs-client, make sure we grab the latest


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/1c591f46
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/1c591f46
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/1c591f46

Branch: refs/heads/3.1.x-fixes
Commit: 1c591f46917e57ed6d3a31a86af583d7bc617c73
Parents: dd31068
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Mar 6 15:47:38 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:05:46 2017 -0500

----------------------------------------------------------------------
 rt/rs/extensions/search/pom.xml | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/1c591f46/rt/rs/extensions/search/pom.xml
----------------------------------------------------------------------
diff --git a/rt/rs/extensions/search/pom.xml b/rt/rs/extensions/search/pom.xml
index 5213919..328bd46 100644
--- a/rt/rs/extensions/search/pom.xml
+++ b/rt/rs/extensions/search/pom.xml
@@ -52,6 +52,12 @@
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-rs-client</artifactId>
+            <version>${project.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-jpa_2.0_spec</artifactId>
             <version>${cxf.geronimo.jpa.version}</version>


[12/15] cxf git commit: Use the right property with the OSGi formatted version string

Posted by dk...@apache.org.
Use the right property with the OSGi formatted version string


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/7b8145e6
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/7b8145e6
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/7b8145e6

Branch: refs/heads/3.1.x-fixes
Commit: 7b8145e65e9300931aea628251446e49f2e8bfe0
Parents: e81a5c9
Author: Daniel Kulp <dk...@apache.org>
Authored: Tue Mar 7 10:17:33 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:07:37 2017 -0500

----------------------------------------------------------------------
 services/wsn/wsn-api/pom.xml  | 8 ++++----
 services/wsn/wsn-core/pom.xml | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/7b8145e6/services/wsn/wsn-api/pom.xml
----------------------------------------------------------------------
diff --git a/services/wsn/wsn-api/pom.xml b/services/wsn/wsn-api/pom.xml
index 0e2b1c2..6c1a90d 100644
--- a/services/wsn/wsn-api/pom.xml
+++ b/services/wsn/wsn-api/pom.xml
@@ -90,10 +90,10 @@
                         <Export-Package>
                             org.oasis_open.docs.wsn.*;version=1.3;-noimport:=true,
                             org.oasis_open.docs.wsrf.*;version=1.2,
-                            org.apache.cxf.wsn.client;version=${project.version},
-                            org.apache.cxf.wsn.util;version=${project.version},
-                            org.apache.cxf.wsn.wsdl;version=${project.version},
-                            org.apache.cxf.wsn.jaxws;version=${project.version}
+                            org.apache.cxf.wsn.client;version=${cxf.osgi.version.clean},
+                            org.apache.cxf.wsn.util;version=${cxf.osgi.version.clean},
+                            org.apache.cxf.wsn.wsdl;version=${cxf.osgi.version.clean},
+                            org.apache.cxf.wsn.jaxws;version=${cxf.osgi.version.clean}
                         </Export-Package>
                         <_nouses>true</_nouses>
                         <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>

http://git-wip-us.apache.org/repos/asf/cxf/blob/7b8145e6/services/wsn/wsn-core/pom.xml
----------------------------------------------------------------------
diff --git a/services/wsn/wsn-core/pom.xml b/services/wsn/wsn-core/pom.xml
index 7056cc3..07a9ebe 100644
--- a/services/wsn/wsn-core/pom.xml
+++ b/services/wsn/wsn-core/pom.xml
@@ -157,7 +157,7 @@
                             org.apache.cxf.services.wsn.cxf-services-wsn-api
                         </Require-Bundle>
                         <Import-Package>
-                            org.apache.cxf.wsn.util.*;version=${project.version},
+                            org.apache.cxf.wsn.util.*;version=${cxf.osgi.version.clean},
                             !org.apache.cxf.wsn*,
                             javax.xml.bind*;version="[0.0,3)",
                             javax.jws*;version="[0.0,3)",
@@ -166,7 +166,7 @@
                             *
                         </Import-Package>
                         <Export-Package>
-                            org.apache.cxf.wsn.services;version=${project.version}
+                            org.apache.cxf.wsn.services;version=${cxf.osgi.version.clean}
                         </Export-Package>
                         <_nouses>true</_nouses>
                         <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>


[04/15] cxf git commit: Use osgi version number to avoid bundle-plugin messages

Posted by dk...@apache.org.
Use osgi version number to avoid bundle-plugin messages


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/49b10f7e
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/49b10f7e
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/49b10f7e

Branch: refs/heads/3.1.x-fixes
Commit: 49b10f7eb5a15977a427634b4f8eae2a71199709
Parents: 66b9f87
Author: Daniel Kulp <dk...@apache.org>
Authored: Mon Feb 27 13:40:07 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:01:26 2017 -0500

----------------------------------------------------------------------
 services/sts/sts-core/pom.xml | 4 ++--
 services/wsn/wsn-osgi/pom.xml | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/49b10f7e/services/sts/sts-core/pom.xml
----------------------------------------------------------------------
diff --git a/services/sts/sts-core/pom.xml b/services/sts/sts-core/pom.xml
index 9bd65ca..914ed10 100644
--- a/services/sts/sts-core/pom.xml
+++ b/services/sts/sts-core/pom.xml
@@ -164,11 +164,11 @@
                         <Specification-Title>${project.name}</Specification-Title>
                         <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
                         <Export-Package>
-                            org.apache.cxf.sts.*;version=${project.version}
+                            org.apache.cxf.sts.*;version=${cxf.osgi.version.clean}
                         </Export-Package>
                         <Import-Package>
                             javax.servlet*;version="${cxf.osgi.javax.servlet.version}",
-                            org.apache.cxf.sts.provider.*;version=${project.version},
+                            org.apache.cxf.sts.provider.*;version=${cxf.osgi.version.clean},
                             !org.apache.cxf.sts.*,
                             org.apache.cxf.*,
                             javax.xml.ws*;version="[0.0,3)",

http://git-wip-us.apache.org/repos/asf/cxf/blob/49b10f7e/services/wsn/wsn-osgi/pom.xml
----------------------------------------------------------------------
diff --git a/services/wsn/wsn-osgi/pom.xml b/services/wsn/wsn-osgi/pom.xml
index 9b6d690..6b8b4f6 100644
--- a/services/wsn/wsn-osgi/pom.xml
+++ b/services/wsn/wsn-osgi/pom.xml
@@ -68,7 +68,7 @@
                         <Export-Package>
                             org.oasis_open.docs.wsn.*;version=1.3;-noimport:=true,
                             org.oasis_open.docs.wsrf.*;version=1.2;-noimport:=true,
-                            org.apache.cxf.wsn.client;version=${project.version}
+                            org.apache.cxf.wsn.client;version=${cxf.osgi.version.clean}
                         </Export-Package>
                         <Private-Package>
                             org.apache.cxf.wsn.*,


[11/15] cxf git commit: [CXF-7269]schemavalidate failed when use mtom and Provider

Posted by dk...@apache.org.
[CXF-7269]schemavalidate failed when use mtom and Provider

# Conflicts:
#	core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataWriter.java
#	systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/e81a5c95
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/e81a5c95
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/e81a5c95

Branch: refs/heads/3.1.x-fixes
Commit: e81a5c953173abb072372ff28e68ba4fd17dc653
Parents: 161439d
Author: Freeman Fang <fr...@gmail.com>
Authored: Tue Mar 7 16:44:03 2017 +0800
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:07:28 2017 -0500

----------------------------------------------------------------------
 .../databinding/source/XMLStreamDataWriter.java | 111 +++++++++++++++++-
 .../cxf/systest/mtom/ClientMtomXopTest.java     | 115 ++++++++++++++++++-
 testutils/pom.xml                               |   4 +
 .../cxf/mtom_xop/TestMtomProviderImpl.java      | 104 +++++++++++++++++
 testutils/src/main/resources/wsdl/mtom_xop.wsdl |   3 +
 5 files changed, 333 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/e81a5c95/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataWriter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataWriter.java b/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataWriter.java
index c0938d5..bec5b14 100644
--- a/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataWriter.java
+++ b/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataWriter.java
@@ -29,12 +29,17 @@ import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.Source;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.validation.Schema;
+import javax.xml.validation.Validator;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
+import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
 
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
@@ -46,9 +51,15 @@ import org.apache.cxf.staxutils.StaxUtils;
 import org.apache.cxf.staxutils.W3CDOMStreamWriter;
 
 public class XMLStreamDataWriter implements DataWriter<XMLStreamWriter> {
+    
     private static final Logger LOG = LogUtils.getL7dLogger(XMLStreamDataWriter.class);
 
+   
     private Schema schema;
+
+    public XMLStreamDataWriter() {
+        
+    }
     
     public void write(Object obj, MessagePartInfo part, XMLStreamWriter output) {
         write(obj, output);
@@ -61,7 +72,10 @@ public class XMLStreamDataWriter implements DataWriter<XMLStreamWriter> {
                 DataSource ds = (DataSource)obj;
                 if (schema != null) {
                     DOMSource domSource = new DOMSource(StaxUtils.read(ds.getInputStream()));
-                    schema.newValidator().validate(domSource);
+                    Validator schemaValidator = schema.newValidator();
+                    schemaValidator.setErrorHandler(
+                        new MtomValidationErrorHandler(schemaValidator.getErrorHandler(), domSource.getNode()));
+                    schemaValidator.validate(domSource);
                     StaxUtils.copy(domSource, writer);
                 } else {
                     reader = StaxUtils.createXMLStreamReader(ds.getInputStream());
@@ -71,7 +85,10 @@ public class XMLStreamDataWriter implements DataWriter<XMLStreamWriter> {
                 
             } else if (obj instanceof Node) {
                 if (schema != null) {
-                    schema.newValidator().validate(new DOMSource((Node)obj));
+                    Validator schemaValidator = schema.newValidator();
+                    schemaValidator.setErrorHandler(
+                        new MtomValidationErrorHandler(schemaValidator.getErrorHandler(), (Node)obj));
+                    schemaValidator.validate(new DOMSource((Node)obj));
                 }
                 Node nd = (Node)obj;
                 writeNode(nd, writer);
@@ -82,7 +99,10 @@ public class XMLStreamDataWriter implements DataWriter<XMLStreamWriter> {
                         //make the source re-readable.
                         s = new DOMSource(StaxUtils.read(s));
                     }
-                    schema.newValidator().validate(s);
+                    Validator schemaValidator = schema.newValidator();
+                    schemaValidator.setErrorHandler(
+                        new MtomValidationErrorHandler(schemaValidator.getErrorHandler(), ((DOMSource)s).getNode()));
+                    schemaValidator.validate(s);
                 }
                 if (s instanceof DOMSource
                     && ((DOMSource) s).getNode() == null) {
@@ -153,4 +173,89 @@ public class XMLStreamDataWriter implements DataWriter<XMLStreamWriter> {
     public void setProperty(String key, Object value) {
     }
     
+    private static class MtomValidationErrorHandler implements ErrorHandler {
+        private ErrorHandler origErrorHandler;
+        private Node node;
+        
+        MtomValidationErrorHandler(ErrorHandler origErrorHandler, Node node) {
+            this.origErrorHandler = origErrorHandler;
+            this.node = node;
+        }
+        
+        
+        @Override
+        public void warning(SAXParseException exception) throws SAXException {
+            
+            if (this.origErrorHandler != null) {
+                this.origErrorHandler.warning(exception);
+            } else {
+                // do nothing
+            }
+        }
+
+        @Override
+        public void error(SAXParseException exception) throws SAXException {
+            if (this.isCVC312Exception(exception)) {
+                String elementName = this.getAttachmentElementName(exception);
+                if (node != null && this.findIncludeNode(node, elementName)) {
+                    return;
+                }
+            }
+            
+            if (this.origErrorHandler != null) {
+                this.origErrorHandler.error(exception);
+            } else {
+                throw exception;
+            }
+            
+        }
+
+        @Override
+        public void fatalError(SAXParseException exception) throws SAXException {
+            if (this.origErrorHandler != null) {
+                this.origErrorHandler.fatalError(exception);
+            } else {
+                throw exception;
+            }
+            
+        }
+        
+        private boolean isCVC312Exception(SAXParseException exception) {
+            String msg = exception.getMessage();
+            return msg.startsWith("cvc-type.3.1.2: ") 
+                && msg.endsWith("is a simple type, so it must have no element information item [children].");
+                
+           
+        }
+        
+        private String getAttachmentElementName(SAXParseException exception) {
+            String msg = exception.getMessage();
+            String str[] = msg.split("'");
+            return str[1];
+        }
+        
+        private boolean findIncludeNode(Node checkNode, String mtomElement) {
+            boolean ret = false;
+            NodeList nList = checkNode.getChildNodes();
+            for (int i = 0; i < nList.getLength(); i++) {
+                Node nNode = nList.item(i);
+                if (nNode.getLocalName() != null 
+                    && nNode.getLocalName().equals(mtomElement)) {
+                    NodeList subNodeList = nNode.getChildNodes();
+                    for (int j = 0; j < subNodeList.getLength(); j++) {
+                        Node subNode = subNodeList.item(j);
+                        if (subNode.getNamespaceURI().equals("http://www.w3.org/2004/08/xop/include")
+                            && subNode.getLocalName().equals("Include")) {
+                            // This is the Mtom element which break the SchemaValidation so ignore this
+                            return true;
+                        }
+                    }
+                } else {
+                    ret = findIncludeNode(nNode, mtomElement);
+                }
+            }
+            return ret;
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/e81a5c95/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
index d88d117..c5f6abb 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
@@ -51,6 +51,7 @@ import org.apache.cxf.message.Message;
 import org.apache.cxf.mime.TestMtom;
 import org.apache.cxf.mime.types.XopStringType;
 import org.apache.cxf.mtom_xop.TestMtomImpl;
+import org.apache.cxf.mtom_xop.TestMtomProviderImpl;
 import org.apache.cxf.service.Service;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
@@ -63,7 +64,9 @@ import org.junit.Test;
 public class ClientMtomXopTest extends AbstractBusClientServerTestBase {
     public static final String PORT = allocatePort(ClientMtomXopTest.class);
     public static final QName MTOM_PORT = new QName("http://cxf.apache.org/mime", "TestMtomPort");
+    public static final QName MTOM_PORT_PROVIDER = new QName("http://cxf.apache.org/mime", "TestMtomProviderPort");
     public static final QName MTOM_SERVICE = new QName("http://cxf.apache.org/mime", "TestMtomService");
+    
 
     
     public static class Server extends AbstractBusTestServerBase {
@@ -71,14 +74,21 @@ public class ClientMtomXopTest extends AbstractBusClientServerTestBase {
         protected void run() {
             Object implementor = new TestMtomImpl();
             String address = "http://localhost:" + PORT + "/mime-test";
+            String addressProvider = "http://localhost:" + PORT + "/mime-test-provider";
             try {
                 jaxep = (EndpointImpl) javax.xml.ws.Endpoint.publish(address, implementor);
                 Endpoint ep = jaxep.getServer().getEndpoint();
                 ep.getInInterceptors().add(new TestMultipartMessageInterceptor());
                 ep.getOutInterceptors().add(new TestAttachmentOutInterceptor());
-                
+                jaxep.getInInterceptors().add(new LoggingInInterceptor());
+                jaxep.getOutInterceptors().add(new LoggingOutInterceptor());
                 SOAPBinding jaxWsSoapBinding = (SOAPBinding) jaxep.getBinding();
                 jaxWsSoapBinding.setMTOMEnabled(true);
+                EndpointImpl endpoint = 
+                    (EndpointImpl)javax.xml.ws.Endpoint.publish(addressProvider, new TestMtomProviderImpl());
+                endpoint.getProperties().put("schema-validation-enabled", "true");
+                endpoint.getInInterceptors().add(new LoggingInInterceptor());
+                endpoint.getOutInterceptors().add(new LoggingOutInterceptor());
 
             } catch (Exception e) {
                 Thread.currentThread().interrupt();
@@ -197,6 +207,109 @@ public class ClientMtomXopTest extends AbstractBusClientServerTestBase {
             throw ex;
         }
     }
+        
+       
+    @Test
+    public void testMtomXopProvider() throws Exception {
+        TestMtom mtomPort = createPort(MTOM_SERVICE, MTOM_PORT_PROVIDER, TestMtom.class, true, true);
+        try {
+            Holder<DataHandler> param = new Holder<DataHandler>();
+            Holder<String> name;
+            byte bytes[];
+            InputStream in;
+
+            InputStream pre = this.getClass().getResourceAsStream("/wsdl/mtom_xop.wsdl");
+            int fileSize = 0;
+            for (int i = pre.read(); i != -1; i = pre.read()) {
+                fileSize++;
+            }
+
+            int count = 50;
+            byte[] data = new byte[fileSize *  count];
+            for (int x = 0; x < count; x++) {
+                this.getClass().getResourceAsStream("/wsdl/mtom_xop.wsdl").read(data,
+                                                                                fileSize * x,
+                                                                                fileSize);
+            }
+
+            Object[] validationTypes = new Object[]{Boolean.TRUE, SchemaValidationType.IN, SchemaValidationType.BOTH};
+
+            for (Object validationType : validationTypes) {
+                ((BindingProvider)mtomPort).getRequestContext().put(Message.SCHEMA_VALIDATION_ENABLED,
+                                                                    validationType);
+
+                param.value = new DataHandler(new ByteArrayDataSource(data, "application/octet-stream"));
+                name = new Holder<String>("call detail");
+                mtomPort.testXop(name, param);
+                assertEquals("name unchanged", "return detail + call detail", name.value);
+                assertNotNull(param.value);
+
+                in = param.value.getInputStream();
+                bytes = IOUtils.readBytesFromStream(in);
+                assertEquals(data.length, bytes.length);
+                in.close();
+
+                param.value = new DataHandler(new ByteArrayDataSource(data, "application/octet-stream"));
+                name = new Holder<String>("call detail");
+                mtomPort.testXop(name, param);
+                assertEquals("name unchanged", "return detail + call detail", name.value);
+                assertNotNull(param.value);
+
+                in = param.value.getInputStream();
+                bytes = IOUtils.readBytesFromStream(in);
+                assertEquals(data.length, bytes.length);
+                in.close();
+            }
+
+            validationTypes = new Object[]{Boolean.FALSE, SchemaValidationType.OUT, SchemaValidationType.NONE};
+            for (Object validationType : validationTypes) {
+                ((BindingProvider)mtomPort).getRequestContext().put(Message.SCHEMA_VALIDATION_ENABLED,
+                                                                validationType);
+                SAAJOutInterceptor saajOut = new SAAJOutInterceptor();
+                SAAJInInterceptor saajIn = new SAAJInInterceptor();
+
+                param.value = new DataHandler(new ByteArrayDataSource(data, "application/octet-stream"));
+                name = new Holder<String>("call detail");
+                mtomPort.testXop(name, param);
+                assertEquals("name unchanged", "return detail + call detail", name.value);
+                assertNotNull(param.value);
+
+                in = param.value.getInputStream();
+                bytes = IOUtils.readBytesFromStream(in);
+                assertEquals(data.length, bytes.length);
+                in.close();
+
+                ClientProxy.getClient(mtomPort).getInInterceptors().add(saajIn);
+                ClientProxy.getClient(mtomPort).getInInterceptors().add(saajOut);
+                param.value = new DataHandler(new ByteArrayDataSource(data, "application/octet-stream"));
+                name = new Holder<String>("call detail");
+                mtomPort.testXop(name, param);
+                assertEquals("name unchanged", "return detail + call detail", name.value);
+                assertNotNull(param.value);
+
+                in = param.value.getInputStream();
+                bytes = IOUtils.readBytesFromStream(in);
+                assertEquals(data.length, bytes.length);
+                in.close();
+
+                ClientProxy.getClient(mtomPort).getInInterceptors().remove(saajIn);
+                ClientProxy.getClient(mtomPort).getInInterceptors().remove(saajOut);
+            }
+        } catch (UndeclaredThrowableException ex) {
+            throw (Exception)ex.getCause();
+        } catch (Exception ex) {
+            if (ex.getMessage().contains("Connection reset")
+                && System.getProperty("java.specification.version", "1.5").contains("1.6")) {
+                //There seems to be a bug/interaction with Java 1.6 and Jetty where
+                //Jetty will occasionally send back a RST prior to all the data being
+                //sent back to the client when using localhost (which is what we do)
+                //we'll ignore for now
+                return;
+            }
+            System.out.println(System.getProperties());
+            throw ex;
+        }
+    }
 
     @Test
     public void testMtomWithFileName() throws Exception {

http://git-wip-us.apache.org/repos/asf/cxf/blob/e81a5c95/testutils/pom.xml
----------------------------------------------------------------------
diff --git a/testutils/pom.xml b/testutils/pom.xml
index 54f8244..8aec280 100644
--- a/testutils/pom.xml
+++ b/testutils/pom.xml
@@ -53,6 +53,10 @@
             <optional>true</optional>
         </dependency>
         <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-javamail_1.4_spec</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-core</artifactId>
             <scope>provided</scope>

http://git-wip-us.apache.org/repos/asf/cxf/blob/e81a5c95/testutils/src/main/java/org/apache/cxf/mtom_xop/TestMtomProviderImpl.java
----------------------------------------------------------------------
diff --git a/testutils/src/main/java/org/apache/cxf/mtom_xop/TestMtomProviderImpl.java b/testutils/src/main/java/org/apache/cxf/mtom_xop/TestMtomProviderImpl.java
new file mode 100644
index 0000000..de1f442
--- /dev/null
+++ b/testutils/src/main/java/org/apache/cxf/mtom_xop/TestMtomProviderImpl.java
@@ -0,0 +1,104 @@
+/**
+ * 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.cxf.mtom_xop;
+
+import java.io.InputStream;
+
+import javax.activation.DataHandler;
+import javax.mail.util.ByteArrayDataSource;
+import javax.xml.soap.AttachmentPart;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPPart;
+import javax.xml.ws.Provider;
+import javax.xml.ws.Service.Mode;
+import javax.xml.ws.ServiceMode;
+import javax.xml.ws.WebServiceProvider;
+import javax.xml.ws.soap.MTOM;
+
+
+@WebServiceProvider(portName = "TestMtomProviderPort", 
+serviceName = "TestMtomService", 
+targetNamespace = "http://cxf.apache.org/mime", 
+wsdlLocation = "testutils/mtom_xop.wsdl")
+@ServiceMode(value = Mode.MESSAGE)
+@MTOM
+
+public class TestMtomProviderImpl implements Provider<SOAPMessage> {
+
+    public SOAPMessage invoke(final SOAPMessage request) {
+        try {
+            System.out.println("=== Received client request ===");
+
+            // create the SOAPMessage
+            SOAPMessage message = MessageFactory.newInstance().createMessage();
+            SOAPPart part = message.getSOAPPart();
+            SOAPEnvelope envelope = part.getEnvelope();
+            SOAPBody body = envelope.getBody();
+
+            
+            SOAPBodyElement testResponse = body
+                .addBodyElement(envelope.createName("testXopResponse", null, "http://cxf.apache.org/mime/types"));
+            SOAPElement name = testResponse.addChildElement("name", null, "http://cxf.apache.org/mime/types");
+            name.setTextContent("return detail + call detail");
+            SOAPElement attachinfo = testResponse.addChildElement(
+                                         "attachinfo", null, "http://cxf.apache.org/mime/types");
+            SOAPElement include = attachinfo.addChildElement("Include", "xop",
+                                                                "http://www.w3.org/2004/08/xop/include");
+
+            InputStream pre = this.getClass().getResourceAsStream("/wsdl/mtom_xop.wsdl");
+            int fileSize = 0;
+            for (int i = pre.read(); i != -1; i = pre.read()) {
+                fileSize++;
+            }
+
+            int count = 50;
+            byte[] data = new byte[fileSize *  count];
+            for (int x = 0; x < count; x++) {
+                this.getClass().getResourceAsStream("/wsdl/mtom_xop.wsdl").read(data,
+                                                                                fileSize * x,
+                                                                                fileSize);
+            }
+            
+            
+            DataHandler dh = new DataHandler(new ByteArrayDataSource(data, "application/octet-stream"));
+
+            // create the image attachment
+            AttachmentPart attachment = message.createAttachmentPart(dh);
+            attachment.setContentId("mtom_xop.wsdl");
+            message.addAttachmentPart(attachment);
+            System.out
+                .println("Adding attachment: " + attachment.getContentId() + ":" + attachment.getSize());
+
+            // add the reference to the image attachment
+            include.addAttribute(envelope.createName("href"), "cid:" + attachment.getContentId());
+
+            return message;
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/e81a5c95/testutils/src/main/resources/wsdl/mtom_xop.wsdl
----------------------------------------------------------------------
diff --git a/testutils/src/main/resources/wsdl/mtom_xop.wsdl b/testutils/src/main/resources/wsdl/mtom_xop.wsdl
index 02b15fd..b84ded2 100644
--- a/testutils/src/main/resources/wsdl/mtom_xop.wsdl
+++ b/testutils/src/main/resources/wsdl/mtom_xop.wsdl
@@ -96,6 +96,9 @@
         <wsdl:port name="TestMtomPort" binding="tns:TestMtomBinding">
             <soap:address location="http://localhost:9036/mime-test"/>
         </wsdl:port>
+        <wsdl:port name="TestMtomProviderPort" binding="tns:TestMtomBinding">
+            <soap:address location="http://localhost:9036/mime-test-provider"/>
+        </wsdl:port>
     </wsdl:service>
     <wsdl:service name="TestMtomJMSService">
         <wsdl:port name="TestMtomJMSPort" binding="tns:TestMtomBinding">


[13/15] cxf git commit: Update to jetty 9.3.14, update websocket code to remove most reflection

Posted by dk...@apache.org.
Update to jetty 9.3.14, update websocket code to remove most reflection

# Conflicts:
#	parent/pom.xml
#	rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
#	rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/JettyWebSocketHandler.java
#	systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/4b71edb6
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/4b71edb6
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/4b71edb6

Branch: refs/heads/3.1.x-fixes
Commit: 4b71edb65b4e24f390b222dbb0cad6f1b533ce66
Parents: 7b8145e
Author: Daniel Kulp <dk...@apache.org>
Authored: Tue Mar 7 11:36:01 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:11:08 2017 -0500

----------------------------------------------------------------------
 parent/pom.xml                                  |   4 +-
 rt/transports/websocket/pom.xml                 |   5 +
 .../jetty9/Jetty9WebSocketDestination.java      | 120 ++++++++++---------
 .../websocket/jetty9/JettyWebSocketHandler.java |  19 ++-
 .../jaxrs/JAXRSClientServerBookTest.java        |   5 +-
 5 files changed, 88 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/4b71edb6/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index d1eb561..692e15c 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -120,9 +120,9 @@
         <cxf.jdom.version>1.0</cxf.jdom.version>
         <cxf.jettison.version>1.3.8</cxf.jettison.version>
         <cxf.jetty8.version>8.1.19.v20160209</cxf.jetty8.version>
-        <cxf.jetty9.version>9.2.15.v20160210</cxf.jetty9.version>
+        <cxf.jetty9.version>9.2.21.v20170120</cxf.jetty9.version>
         <cxf.jetty.version>${cxf.jetty9.version}</cxf.jetty.version>
-        <cxf.jetty.osgi.version>[8.1,10)</cxf.jetty.osgi.version>
+        <cxf.jetty.osgi.version>[8.1,9.4)</cxf.jetty.osgi.version>
         <cxf.jibx.version>1.2.6</cxf.jibx.version>
         <cxf.junit.version>4.12</cxf.junit.version>
         <cxf.hamcrest.version>1.3</cxf.hamcrest.version>

http://git-wip-us.apache.org/repos/asf/cxf/blob/4b71edb6/rt/transports/websocket/pom.xml
----------------------------------------------------------------------
diff --git a/rt/transports/websocket/pom.xml b/rt/transports/websocket/pom.xml
index 24f640e..b1afc70 100644
--- a/rt/transports/websocket/pom.xml
+++ b/rt/transports/websocket/pom.xml
@@ -138,6 +138,11 @@
         </dependency>
         <dependency>
             <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-webapp</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
             <artifactId>jetty-jmx</artifactId>
             <version>${cxf.jetty8.version}</version>
             <optional>true</optional>

http://git-wip-us.apache.org/repos/asf/cxf/blob/4b71edb6/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
----------------------------------------------------------------------
diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
index b0f450b..38006a7 100644
--- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
+++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/Jetty9WebSocketDestination.java
@@ -22,9 +22,6 @@ package org.apache.cxf.transport.websocket.jetty9;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.security.Principal;
@@ -43,9 +40,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.cxf.Bus;
-import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.common.util.ReflectionUtil;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.http.DestinationRegistry;
 import org.apache.cxf.transport.http_jetty.JettyHTTPDestination;
@@ -59,10 +54,12 @@ import org.apache.cxf.transport.websocket.jetty.WebSocketVirtualServletRequest;
 import org.apache.cxf.transport.websocket.jetty.WebSocketVirtualServletResponse;
 import org.apache.cxf.workqueue.WorkQueueManager;
 import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.handler.ContextHandler;
+import org.eclipse.jetty.webapp.WebAppContext;
 import org.eclipse.jetty.websocket.api.Session;
 import org.eclipse.jetty.websocket.api.WebSocketAdapter;
-import org.eclipse.jetty.websocket.api.WebSocketPolicy;
+import org.eclipse.jetty.websocket.server.WebSocketHandler;
 import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
 import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse;
 import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
@@ -76,41 +73,19 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
     private static final Logger LOG = LogUtils.getL7dLogger(Jetty9WebSocketDestination.class);
 
     //REVISIT make these keys configurable
-    private String requestIdKey = WebSocketConstants.DEFAULT_REQUEST_ID_KEY;
-    private String responseIdKey = WebSocketConstants.DEFAULT_RESPONSE_ID_KEY;
+    private static final String REQUEST_ID_KEY = WebSocketConstants.DEFAULT_REQUEST_ID_KEY;
+    private static final String RESPONSE_ID_KEY = WebSocketConstants.DEFAULT_RESPONSE_ID_KEY;
 
-    private WebSocketServletFactory webSocketFactory;
     private final Executor executor;
 
+    private WebSocketHandler webSockethandler;
+    private WebSocketServletFactory webSocketFactory;
+
     public Jetty9WebSocketDestination(Bus bus, DestinationRegistry registry, EndpointInfo ei,
                                      JettyHTTPServerEngineFactory serverEngineFactory) throws IOException {
-        super(bus, registry, ei, serverEngineFactory);
-        try {
-            webSocketFactory = (WebSocketServletFactory)ClassLoaderUtils
-                .loadClass("org.eclipse.jetty.websocket.server.WebSocketServerFactory",
-                           WebSocketServletFactory.class).newInstance();
-            
-        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
-            try {
-                //jetty >9.3.14 - yes.. they change API's in a patch release
-                Method m = ReflectionUtil.getDeclaredMethod(WebSocketServletFactory.Loader.class, "load", 
-                                                                ServletContext.class, WebSocketPolicy.class);
-                ReflectionUtil.setAccessible(m);
-                webSocketFactory = (WebSocketServletFactory)m.invoke(null, new ContextHandler.StaticContext(), null);
-            } catch (NoSuchMethodException | IllegalAccessException 
-                | IllegalArgumentException | InvocationTargetException e2) {
-                throw new RuntimeException(e);
-            }            
-        }
-        webSocketFactory.setCreator(new Creator());
-        
-        try {
-            Field f = webSocketFactory.getClass().getDeclaredField("objectFactory");
-            f.setAccessible(true);
-            f.set(webSocketFactory, f.getType().newInstance());
-        } catch (Throwable t) {
-            //ignore, on Jetty <=9.2 this field doesn't exist
-        }
+        super(bus, registry, ei,
+              serverEngineFactory == null ? null : new URL(getNonWSAddress(ei)),
+              serverEngineFactory);
         executor = bus.getExtension(WorkQueueManager.class).getAutomaticWorkQueue();
     }
     
@@ -123,44 +98,76 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
                        final ServletContext context, 
                        final HttpServletRequest request, 
                        final HttpServletResponse response) throws IOException {
-        if (webSocketFactory.isUpgradeRequest(request, response)
-            && webSocketFactory.acceptWebSocket(request, response)) {
+        
+        WebSocketServletFactory wsf = getWebSocketFactory(config, context);
+       
+        if (wsf.isUpgradeRequest(request, response)
+            && wsf.acceptWebSocket(request, response)) {
             ((Request)request).setHandled(true);
             return;
         }
         super.invoke(config, context, request, response);
     }
-    @Override
-    protected String getAddress(EndpointInfo endpointInfo) {
+
+    private static String getNonWSAddress(EndpointInfo endpointInfo) {
         String address = endpointInfo.getAddress();
         if (address.startsWith("ws")) {
             address = "http" + address.substring(2);
         }
         return address;
     }
-        
+    @Override
+    protected String getAddress(EndpointInfo endpointInfo) {
+        return getNonWSAddress(endpointInfo);
+    }
+    
+    Server getServer(ServletConfig config, ServletContext context) {
+        WebAppContext.Context c = (WebAppContext.Context)context;
+        ContextHandler h = c.getContextHandler();
+        return h.getServer();
+    }
+    
+    private WebSocketServletFactory getWebSocketFactory(ServletConfig config, ServletContext context) {
+        if (webSocketFactory == null) {
+            Server server = getServer(config, context);
+            return getWebSocketFactory(server);
+        }
+        return webSocketFactory;
+    }
+
+    public synchronized WebSocketServletFactory getWebSocketFactory(Server server) {
+        if (webSocketFactory == null) {
+            webSockethandler = new WebSocketHandler() {
+                @Override
+                public void configure(WebSocketServletFactory factory) {
+                }
+            };
+            try {
+                webSockethandler.setServer(server);
+                webSockethandler.start();
+            } catch (Exception e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
+            webSocketFactory = webSockethandler.getWebSocketFactory();
+            webSocketFactory.setCreator(new Creator());
+        }
+        return webSocketFactory;
+    }
+
     @Override
     protected JettyHTTPHandler createJettyHTTPHandler(JettyHTTPDestination jhd, boolean cmExact) {
-        return new JettyWebSocketHandler(jhd, cmExact, webSocketFactory);
+        return new JettyWebSocketHandler(jhd, cmExact, this);
     }
     
     @Override
     public void shutdown() {
         try {
-            Method m;
-            try {
-                //jetty <9.3.14
-                m = ReflectionUtil.getDeclaredMethod(webSocketFactory.getClass(), "cleanup");
-            } catch (Throwable t) {
-                //jetty >= 9.3.14
-                m = ReflectionUtil.getDeclaredMethod(webSocketFactory.getClass(), "stop");
-            }
-            m.invoke(webSocketFactory);
+            webSockethandler.stop();
         } catch (Exception e) {
-            // ignore
-        } finally {
-            super.shutdown();
+            //nothing needed
         }
+        super.shutdown();
     }
     
     private void invoke(final byte[] data, final int offset, final int length, final Session session) {
@@ -177,9 +184,9 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
                     WebSocketServletHolder holder = new Jetty9WebSocketHolder(session);
                     response = createServletResponse(holder);
                     request = createServletRequest(data, offset, length, holder);
-                    String reqid = request.getHeader(requestIdKey);
+                    String reqid = request.getHeader(REQUEST_ID_KEY);
                     if (reqid != null) {
-                        response.setHeader(responseIdKey, reqid);
+                        response.setHeader(RESPONSE_ID_KEY, reqid);
                     }
                     invoke(null, null, request, response);
                 } catch (InvalidPathException ex) {
@@ -341,4 +348,5 @@ public class Jetty9WebSocketDestination extends JettyHTTPDestination implements
         }
     }
 
+
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/4b71edb6/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/JettyWebSocketHandler.java
----------------------------------------------------------------------
diff --git a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/JettyWebSocketHandler.java b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/JettyWebSocketHandler.java
index cc24cd0..8e2f478 100644
--- a/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/JettyWebSocketHandler.java
+++ b/rt/transports/websocket/src/main/java/org/apache/cxf/transport/websocket/jetty9/JettyWebSocketHandler.java
@@ -32,13 +32,20 @@ import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
 /**
  * The extended version of JettyHTTPHandler that can support websocket.
  */
-class JettyWebSocketHandler extends JettyHTTPHandler { 
-    final WebSocketServletFactory webSocketFactory;
-    
-    JettyWebSocketHandler(JettyHTTPDestination jhd, boolean cmExact, 
-                          WebSocketServletFactory webSocketFactory) {
+class JettyWebSocketHandler extends JettyHTTPHandler {
+    final Jetty9WebSocketDestination webSocketDestination;
+    WebSocketServletFactory webSocketFactory;
+
+    JettyWebSocketHandler(JettyHTTPDestination jhd, boolean cmExact,
+                          Jetty9WebSocketDestination wsd) {
         super(jhd, cmExact);
-        this.webSocketFactory = webSocketFactory;
+        this.webSocketDestination = wsd;
+    }
+    
+    @Override
+    public void doStart() throws Exception {
+        webSocketFactory = webSocketDestination.getWebSocketFactory(this.getServer());
+        super.doStart();
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/cxf/blob/4b71edb6/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
----------------------------------------------------------------------
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
index f7e78b7..c458902 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
@@ -60,6 +60,7 @@ import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.commons.httpclient.methods.PutMethod;
 import org.apache.commons.httpclient.methods.RequestEntity;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.cxf.feature.LoggingFeature;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.interceptor.LoggingInInterceptor;
@@ -960,7 +961,9 @@ public class JAXRSClientServerBookTest extends AbstractBusClientServerTestBase {
             int result = httpClient.executeMethod(get);
             assertEquals(500, result);
             String content = getStringFromInputStream(get.getResponseBodyAsStream());
-            assertTrue(content.contains("Error") && content.contains("500"));
+            if (!StringUtils.isEmpty(content)) {
+                assertTrue(content, content.contains("Error") && content.contains("500"));
+            }
         } finally {
             get.releaseConnection();
         }        


[05/15] cxf git commit: More work to try and fix randomly failing test

Posted by dk...@apache.org.
More work to try and fix randomly failing test

# Conflicts:
#	rt/management-web/src/main/java/org/apache/cxf/management/web/browser/client/ui/browser/NavigationSidebarView.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/00589e44
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/00589e44
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/00589e44

Branch: refs/heads/3.1.x-fixes
Commit: 00589e44810f2d8cf1a830bb80842067c73cb8c2
Parents: 49b10f7
Author: Daniel Kulp <dk...@apache.org>
Authored: Tue Feb 28 10:40:44 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Tue Mar 7 14:02:43 2017 -0500

----------------------------------------------------------------------
 .../test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/00589e44/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java b/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
index 35c47e0..0fb98df 100644
--- a/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
+++ b/rt/features/logging/src/test/java/org/apache/cxf/ext/logging/RESTLoggingTest.java
@@ -60,10 +60,11 @@ public class RESTLoggingTest {
         client.get(InputStream.class).close();
         loggingFeature.setLogBinary(true);
         client.get(InputStream.class).close();
+        client.close();
+        server.stop();
         server.destroy();
 
         List<LogEvent> events = sender.getEvents();
-        Assert.assertEquals(8, events.size());
         assertLogged(events.get(0));
         assertLogged(events.get(1));
         assertNotLogged(events.get(2));
@@ -72,6 +73,8 @@ public class RESTLoggingTest {
         assertLogged(events.get(4));
         assertLogged(events.get(5));
         assertLogged(events.get(6));
+
+        Assert.assertEquals(8, events.size());
         assertLogged(events.get(7));
     }