You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2017/04/25 15:06:05 UTC

[1/7] cxf git commit: Cleanup on OSGi tests

Repository: cxf
Updated Branches:
  refs/heads/master 7fb37afad -> 9cc3f37d1


Cleanup on OSGi tests


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

Branch: refs/heads/master
Commit: 108dcd6099e86cd2070b5f9bae2b0feb7d5a7524
Parents: 20b73a7
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Apr 25 14:08:35 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 16:10:47 2017 +0200

----------------------------------------------------------------------
 osgi/itests/pom.xml                             | 97 +++++++-------------
 .../osgi/itests/BundlesAndNamespacesTest.java   |  1 +
 .../cxf/osgi/itests/CXFOSGiTestSupport.java     | 86 +----------------
 osgi/itests/src/test/resources/log4j.properties |  5 +
 4 files changed, 41 insertions(+), 148 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/108dcd60/osgi/itests/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/itests/pom.xml b/osgi/itests/pom.xml
index d4c64db..2349136 100644
--- a/osgi/itests/pom.xml
+++ b/osgi/itests/pom.xml
@@ -29,10 +29,8 @@
     <name>Apache CXF :: OSGi :: Integration Tests</name>
     <packaging>jar</packaging>
     <properties>
-        <cxf.surefire.fork.mode>once</cxf.surefire.fork.mode>
     </properties>
     <dependencies>
-
         <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-core</artifactId>
@@ -63,7 +61,11 @@
             <artifactId>cxf-rt-transports-jms</artifactId>
             <version>${project.version}</version>
         </dependency>
-        
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-client</artifactId>
+        </dependency>
+
         <!-- Karaf features -->
         <dependency>
             <groupId>org.apache.cxf.karaf</groupId>
@@ -71,6 +73,12 @@
             <version>${project.version}</version>
             <type>xml</type>
             <classifier>features</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+               </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.activemq</groupId>
@@ -78,6 +86,12 @@
             <type>xml</type>
             <version>${cxf.activemq.version}</version>
             <classifier>features</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+               </exclusion>
+            </exclusions>
         </dependency>
         
         <dependency>
@@ -87,7 +101,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.shell</groupId>
-            <artifactId>org.apache.karaf.shell.console</artifactId>
+            <artifactId>org.apache.karaf.shell.core</artifactId>
             <version>${cxf.karaf.version}</version>
         </dependency>
         <dependency>
@@ -105,10 +119,12 @@
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
+            <version>4.3.1</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
+            <version>4.3.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
@@ -122,7 +138,6 @@
             <scope>test</scope>
         </dependency>
 
-        
         <dependency>
             <groupId>org.ops4j.pax.exam</groupId>
             <artifactId>pax-exam-junit4</artifactId>
@@ -155,6 +170,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
         
         <dependency>
             <groupId>org.apache.karaf</groupId>
@@ -162,28 +181,12 @@
             <version>${cxf.karaf.version}</version>
             <type>tar.gz</type>
             <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.karaf.shell</groupId>
-                    <artifactId>org.apache.karaf.shell.dev</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse</groupId>
-                    <artifactId>osgi</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.eclipse</groupId>
-                    <artifactId>org.eclipse.osgi</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.karaf</groupId>
-                    <artifactId>org.apache.karaf.client</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.felix</groupId>
-                    <artifactId>org.apache.felix.framework</artifactId>
-                </exclusion>
-            </exclusions>
+    		<exclusions>
+        		<exclusion>
+            	<groupId>*</groupId>
+            	<artifactId>*</artifactId>
+        		</exclusion>
+    		</exclusions>
         </dependency>
     </dependencies>
     <build>
@@ -192,6 +195,7 @@
             <plugin>
                 <groupId>org.apache.servicemix.tooling</groupId>
                 <artifactId>depends-maven-plugin</artifactId>
+                <version>1.4.0</version>
                 <executions>
                     <execution>
                         <id>generate-depends-file</id>
@@ -210,46 +214,9 @@
                         <karaf.version>${cxf.karaf.version}</karaf.version>
                         <localRepository>${maven.repo.local}</localRepository>
                     </systemPropertyVariables>
-                    <reuseForks>false</reuseForks>
+                    <reuseForks>true</reuseForks>
                 </configuration>
             </plugin>
         </plugins>
-        <pluginManagement>
-            <plugins>
-                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>
-                                            org.apache.servicemix.tooling
-                                        </groupId>
-                                        <artifactId>
-                                            depends-maven-plugin
-                                        </artifactId>
-                                        <versionRange>
-                                            [1.2,)
-                                        </versionRange>
-                                        <goals>
-                                            <goal>
-                                                generate-depends-file
-                                            </goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore />
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
     </build>
 </project>

http://git-wip-us.apache.org/repos/asf/cxf/blob/108dcd60/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
----------------------------------------------------------------------
diff --git a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
index 74d7d33..a93f745 100644
--- a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
+++ b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
@@ -36,6 +36,7 @@ import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.replaceCo
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
 public class BundlesAndNamespacesTest extends CXFOSGiTestSupport {
+
     @Test
     public void test() throws Exception {
         assertBundleStarted("org.apache.cxf.cxf-core");

http://git-wip-us.apache.org/repos/asf/cxf/blob/108dcd60/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
----------------------------------------------------------------------
diff --git a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
index 3ca758a..94ae560 100644
--- a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
+++ b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
@@ -29,11 +29,6 @@ import java.io.PrintStream;
 import java.net.DatagramSocket;
 import java.net.ServerSocket;
 import java.net.URL;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Dictionary;
-import java.util.Enumeration;
 import java.util.Properties;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
@@ -55,9 +50,6 @@ import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.Filter;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
 import org.osgi.util.tracker.ServiceTracker;
 import static org.ops4j.pax.exam.CoreOptions.composite;
 import static org.ops4j.pax.exam.CoreOptions.maven;
@@ -73,9 +65,11 @@ import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDist
 public class CXFOSGiTestSupport {
     private static final String MAVEN_DEPENDENCIES_PROPERTIES = "/META-INF/maven/dependencies.properties";
     private static final Long COMMAND_TIMEOUT = 10000L;
-    private static final Long SERVICE_TIMEOUT = 30000L;
 
     @Inject
+    protected CommandProcessor commandProcessor;
+    
+    @Inject
     protected BundleContext bundleContext;
 
     @Inject
@@ -183,7 +177,6 @@ public class CXFOSGiTestSupport {
         String response;
         final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
         final PrintStream printStream = new PrintStream(byteArrayOutputStream);
-        final CommandProcessor commandProcessor = getOsgiService(CommandProcessor.class);
         final CommandSession commandSession = commandProcessor.createSession(System.in, printStream,
                                                                              System.err);
         FutureTask<String> commandFuture = new FutureTask<String>(new Callable<String>() {
@@ -222,7 +215,6 @@ public class CXFOSGiTestSupport {
         String response;
         final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
         final PrintStream printStream = new PrintStream(byteArrayOutputStream);
-        final CommandProcessor commandProcessor = getOsgiService(CommandProcessor.class);
         final CommandSession commandSession = commandProcessor.createSession(System.in, printStream,
                                                                              System.err);
         FutureTask<String> commandFuture = new FutureTask<String>(new Callable<String>() {
@@ -262,71 +254,6 @@ public class CXFOSGiTestSupport {
         throw new RuntimeException("Bundle " + symbolicName + " does not exist");
     }
 
-    /*
-     * Explode the dictionary into a ,-delimited list of key=value pairs
-     */
-    private static String explode(Dictionary<String, String> dictionary) {
-        Enumeration<String> keys = dictionary.keys();
-        StringBuilder result = new StringBuilder();
-        while (keys.hasMoreElements()) {
-            Object key = keys.nextElement();
-            result.append(String.format("%s=%s", key, dictionary.get(key)));
-            if (keys.hasMoreElements()) {
-                result.append(", ");
-            }
-        }
-        return result.toString();
-    }
-
-    protected <T> T getOsgiService(Class<T> type, long timeout) {
-        return getOsgiService(type, null, timeout);
-    }
-
-    protected <T> T getOsgiService(Class<T> type) {
-        return getOsgiService(type, null, SERVICE_TIMEOUT);
-    }
-
-    protected <T> T getOsgiService(Class<T> type, String filter, long timeout) {
-        ServiceTracker<T, ?> tracker = null;
-        try {
-            String flt;
-            if (filter != null) {
-                if (filter.startsWith("(")) {
-                    flt = "(&(" + Constants.OBJECTCLASS + "=" + type.getName() + ")" + filter + ")";
-                } else {
-                    flt = "(&(" + Constants.OBJECTCLASS + "=" + type.getName() + ")(" + filter + "))";
-                }
-            } else {
-                flt = "(" + Constants.OBJECTCLASS + "=" + type.getName() + ")";
-            }
-            Filter osgiFilter = FrameworkUtil.createFilter(flt);
-            tracker = new ServiceTracker<T, Object>(bundleContext, osgiFilter, null);
-            tracker.open(true);
-            // Note that the tracker is not closed to keep the reference
-            // This is buggy, as the service reference may change i think
-            Object svc = type.cast(tracker.waitForService(timeout));
-            if (svc == null) {
-                Dictionary<String, String> dic = bundleContext.getBundle().getHeaders();
-                System.err.println("Test bundle headers: " + explode(dic));
-
-                for (ServiceReference<?> ref : asCollection(bundleContext.getAllServiceReferences(null, null))) {
-                    System.err.println("ServiceReference: " + ref);
-                }
-
-                for (ServiceReference<?> ref : asCollection(bundleContext.getAllServiceReferences(null, flt))) {
-                    System.err.println("Filtered ServiceReference: " + ref);
-                }
-
-                throw new RuntimeException("Gave up waiting for service " + flt);
-            }
-            return type.cast(svc);
-        } catch (InvalidSyntaxException e) {
-            throw new IllegalArgumentException("Invalid filter", e);
-        } catch (InterruptedException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
     /**
      * Finds a free port starting from the give port numner.
      *
@@ -367,13 +294,6 @@ public class CXFOSGiTestSupport {
         return false;
     }
 
-    /**
-     * Provides an iterable collection of references, even if the original array is null
-     */
-    private static Collection<ServiceReference<?>> asCollection(ServiceReference<?>[] references) {
-        return references != null ? Arrays.asList(references) : Collections.<ServiceReference<?>> emptyList();
-    }
-
     protected void assertBundleStarted(String name) {
         Bundle bundle = findBundleByName(name);
         Assert.assertNotNull("Bundle " + name + " should be installed", bundle);

http://git-wip-us.apache.org/repos/asf/cxf/blob/108dcd60/osgi/itests/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/osgi/itests/src/test/resources/log4j.properties b/osgi/itests/src/test/resources/log4j.properties
new file mode 100644
index 0000000..5b083ba
--- /dev/null
+++ b/osgi/itests/src/test/resources/log4j.properties
@@ -0,0 +1,5 @@
+log4j.rootLogger=INFO,stdout
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c - %X{address} - %m%n


[4/7] cxf git commit: Cleanup some tests

Posted by cs...@apache.org.
Cleanup some tests


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

Branch: refs/heads/master
Commit: 20b73a780e54f3815ab6b8c5f41d052f75745ee1
Parents: bc4cd1e
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Apr 25 12:22:30 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 16:10:47 2017 +0200

----------------------------------------------------------------------
 .../cxf/transport/jms/JMSDestinationTest.java   |  4 +---
 .../cxf/systest/jms/JMSClientServerTest.java    |  5 ++---
 .../cxf/systest/jms/TwoWayJMSImplBase.java      | 14 +-------------
 .../systest/jms/security/TwoWayJMSImplBase.java | 20 +++++++-------------
 4 files changed, 11 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/20b73a78/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java b/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
index 67369d4..1b0b305 100644
--- a/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
+++ b/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
@@ -259,11 +259,9 @@ public class JMSDestinationTest extends AbstractJMSTester {
         final Message outMessage = new MessageImpl();
         setupMessageHeader(outMessage, null);
 
-        JMSPropertyType excludeProp = new JMSPropertyType(customPropertyName, customPropertyName);
-
         JMSMessageHeadersType headers = (JMSMessageHeadersType)outMessage
             .get(JMSConstants.JMS_CLIENT_REQUEST_HEADERS);
-        headers.getProperty().add(excludeProp);
+        headers.getProperty().add(new JMSPropertyType(customPropertyName, customPropertyName));
 
         final JMSDestination destination = setupJMSDestination(ei);
 

http://git-wip-us.apache.org/repos/asf/cxf/blob/20b73a78/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
----------------------------------------------------------------------
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
index 0f7dae6..44b56d8 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
@@ -558,9 +558,8 @@ public class JMSClientServerTest extends AbstractBusClientServerTestBase {
         JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
         requestHeader.setJMSCorrelationID("JMS_SAMPLE_CORRELATION_ID");
         requestHeader.setJMSExpiration(3600000L);
-        JMSPropertyType propType = new JMSPropertyType(testReturnPropertyName, "mustReturn");
-        requestHeader.getProperty().add(propType);
-        propType = new JMSPropertyType(testIgnoredPropertyName, "mustNotReturn");
+        requestHeader.getProperty().add(new JMSPropertyType(testReturnPropertyName, "mustReturn"));
+        requestHeader.getProperty().add(new JMSPropertyType(testIgnoredPropertyName, "mustNotReturn"));
         requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader);
 
         String greeting = greeter.greetMe("Milestone-");

http://git-wip-us.apache.org/repos/asf/cxf/blob/20b73a78/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
----------------------------------------------------------------------
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
index 3787eee..79499e1 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
@@ -52,21 +52,9 @@ public class TwoWayJMSImplBase implements HelloWorldPortType {
         }
 
         MessageContext mc = wsContext.getMessageContext();
-        //JMSMessageHeadersType headers =
-        //    (JMSMessageHeadersType) mc.get(JMSConstants.JMS_SERVER_REQUEST_HEADERS);
-        //System.out.println("get the message headers JMSCorrelationID: " + headers.getJMSCorrelationID());
-        //System.out.println("Reached here :" + me);
-
-        // set reply header custom property
-        JMSPropertyType testProperty = new JMSPropertyType("Test_Prop", "some return value "  + me);
-
-        //System.out.println("found property in request headers at index: "
-        //                   + headers.getProperty().indexOf(testProperty));
-
         JMSMessageHeadersType responseHeaders =
             (JMSMessageHeadersType) mc.get(JMSConstants.JMS_SERVER_RESPONSE_HEADERS);
-        responseHeaders.getProperty().add(testProperty);
-
+        responseHeaders.getProperty().add(new JMSPropertyType("Test_Prop", "some return value "  + me));
         return "Hello " + me;
     }
 

http://git-wip-us.apache.org/repos/asf/cxf/blob/20b73a78/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
----------------------------------------------------------------------
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
index d6ca0da..511ea8b 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
@@ -41,6 +41,7 @@ public class TwoWayJMSImplBase implements HelloWorldPortType {
 
     @Resource
     protected WebServiceContext wsContext;
+
     public String greetMe(String me) {
         if (me.startsWith("PauseForTwoSecs")) {
             try {
@@ -51,23 +52,16 @@ public class TwoWayJMSImplBase implements HelloWorldPortType {
             me = me.substring("PauseForTwoSecs".length()).trim();
         }
 
-        MessageContext mc = wsContext.getMessageContext();
-        //JMSMessageHeadersType headers =
-        //    (JMSMessageHeadersType) mc.get(JMSConstants.JMS_SERVER_REQUEST_HEADERS);
-        //System.out.println("get the message headers JMSCorrelationID: " + headers.getJMSCorrelationID());
-        //System.out.println("Reached here :" + me);
-
-        // set reply header custom property
-        JMSPropertyType testProperty = new JMSPropertyType("Test_Prop", "some return value "  + me);
+        addToReply(new JMSPropertyType("Test_Prop", "some return value "  + me));
 
-        //System.out.println("found property in request headers at index: "
-        //                   + headers.getProperty().indexOf(testProperty));
+        return "Hello " + me;
+    }
 
+    private void addToReply(JMSPropertyType prop) {
+        MessageContext mc = wsContext.getMessageContext();
         JMSMessageHeadersType responseHeaders =
             (JMSMessageHeadersType) mc.get(JMSConstants.JMS_SERVER_RESPONSE_HEADERS);
-        responseHeaders.getProperty().add(testProperty);
-
-        return "Hello " + me;
+        responseHeaders.getProperty().add(prop);
     }
 
     public String sayHi() {


[2/7] cxf git commit: Extract Security Conetext handling

Posted by cs...@apache.org.
Extract Security Conetext handling


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

Branch: refs/heads/master
Commit: 62fd990682c0c6ff915356fb9b5f0a32efc20424
Parents: 4a714eb
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Apr 24 17:55:04 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 16:10:47 2017 +0200

----------------------------------------------------------------------
 .../apache/cxf/transport/jms/JMSConduit.java    |  2 +-
 .../cxf/transport/jms/JMSDestination.java       |  2 +-
 .../cxf/transport/jms/JMSMessageUtils.java      | 44 ------------
 .../transport/jms/SecurityContextFactory.java   | 75 ++++++++++++++++++++
 4 files changed, 77 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/62fd9906/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 e588542..cbf2a6b 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
@@ -436,7 +436,7 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me
             Message inMessage = JMSMessageUtils.asCXFMessage(jmsMessage,
                                                              JMSConstants.JMS_CLIENT_RESPONSE_HEADERS);
             if (jmsConfig.isCreateSecurityContext()) {
-                SecurityContext securityContext = JMSMessageUtils.buildSecurityContext(jmsMessage, jmsConfig);
+                SecurityContext securityContext = SecurityContextFactory.buildSecurityContext(jmsMessage, jmsConfig);
                 inMessage.put(SecurityContext.class, securityContext);
             }
             exchange.setInMessage(inMessage);

http://git-wip-us.apache.org/repos/asf/cxf/blob/62fd9906/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
index 22a94de..3362c35 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
@@ -217,7 +217,7 @@ public class JMSDestination extends AbstractMultiplexDestination implements Mess
                                 + jmsConfig.getTargetDestination());
             Message inMessage = JMSMessageUtils.asCXFMessage(message, JMSConstants.JMS_SERVER_REQUEST_HEADERS);
             if (jmsConfig.isCreateSecurityContext()) {
-                SecurityContext securityContext = JMSMessageUtils.buildSecurityContext(message, jmsConfig);
+                SecurityContext securityContext = SecurityContextFactory.buildSecurityContext(message, jmsConfig);
                 inMessage.put(SecurityContext.class, securityContext);
             }
             inMessage.put(JMSConstants.JMS_SERVER_RESPONSE_HEADERS, new JMSMessageHeadersType());

http://git-wip-us.apache.org/repos/asf/cxf/blob/62fd9906/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
index 31ba9f8..6ea346a 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
@@ -25,7 +25,6 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.StandardCharsets;
-import java.security.Principal;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.List;
@@ -49,7 +48,6 @@ import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.helpers.HttpHeaderHelper;
 import org.apache.cxf.message.MessageImpl;
 import org.apache.cxf.message.MessageUtils;
-import org.apache.cxf.security.SecurityContext;
 import org.apache.cxf.transport.jms.spec.JMSSpecConstants;
 import org.apache.cxf.transport.jms.uri.JMSEndpoint;
 import org.apache.cxf.transport.jms.util.JMSMessageConverter;
@@ -222,48 +220,6 @@ final class JMSMessageUtils {
 
     }
 
-    /**
-     * Extract the property JMSXUserID or JMS_TIBCO_SENDER from the jms message and
-     * create a SecurityContext from it.
-     * For more info see Jira Issue CXF-2055
-     * {@link https://issues.apache.org/jira/browse/CXF-2055}
-     *
-     * @param message jms message to retrieve user information from
-     * @return SecurityContext that contains the user of the producer of the message as the Principal
-     * @throws JMSException if something goes wrong
-     */
-    public static SecurityContext buildSecurityContext(javax.jms.Message message,
-                                                        JMSConfiguration config) throws JMSException {
-        String tempUserName = message.getStringProperty("JMSXUserID");
-        if (tempUserName == null && config.isJmsProviderTibcoEms()) {
-            tempUserName = message.getStringProperty("JMS_TIBCO_SENDER");
-        }
-        if (tempUserName == null) {
-            return null;
-        }
-        final String jmsUserName = tempUserName;
-
-        final Principal principal = new Principal() {
-            public String getName() {
-                return jmsUserName;
-            }
-
-        };
-
-        SecurityContext securityContext = new SecurityContext() {
-
-            public Principal getUserPrincipal() {
-                return principal;
-            }
-
-            public boolean isUserInRole(String role) {
-                return false;
-            }
-
-        };
-        return securityContext;
-    }
-
     static String getEncoding(String ct) throws UnsupportedEncodingException {
         String contentType = ct.toLowerCase();
         String enc = null;

http://git-wip-us.apache.org/repos/asf/cxf/blob/62fd9906/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/SecurityContextFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/SecurityContextFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/SecurityContextFactory.java
new file mode 100644
index 0000000..d51ff3d
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/SecurityContextFactory.java
@@ -0,0 +1,75 @@
+/**
+ * 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.transport.jms;
+
+import java.security.Principal;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+
+import org.apache.cxf.security.SecurityContext;
+
+public final class SecurityContextFactory {
+    
+    private SecurityContextFactory() {
+    }
+
+    /**
+     * Extract the property JMSXUserID or JMS_TIBCO_SENDER from the jms message and
+     * create a SecurityContext from it.
+     * For more info see Jira Issue CXF-2055
+     * {@link https://issues.apache.org/jira/browse/CXF-2055}
+     *
+     * @param message jms message to retrieve user information from
+     * @return SecurityContext that contains the user of the producer of the message as the Principal
+     * @throws JMSException if something goes wrong
+     */
+    public static SecurityContext buildSecurityContext(Message message,
+                                                       JMSConfiguration config) throws JMSException {
+        String tempUserName = message.getStringProperty("JMSXUserID");
+        if (tempUserName == null && config.isJmsProviderTibcoEms()) {
+            tempUserName = message.getStringProperty("JMS_TIBCO_SENDER");
+        }
+        if (tempUserName == null) {
+            return null;
+        }
+        final String jmsUserName = tempUserName;
+    
+        final Principal principal = new Principal() {
+            public String getName() {
+                return jmsUserName;
+            }
+    
+        };
+    
+        SecurityContext securityContext = new SecurityContext() {
+    
+            public Principal getUserPrincipal() {
+                return principal;
+            }
+    
+            public boolean isUserInRole(String role) {
+                return false;
+            }
+    
+        };
+        return securityContext;
+    }
+
+}


[6/7] cxf git commit: Downgrade surefire to fix build issue

Posted by cs...@apache.org.
Downgrade surefire to fix build issue


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

Branch: refs/heads/master
Commit: b3c49a34cd86a1966f79aed10c2df54adbdf7c5b
Parents: 108dcd6
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Apr 25 16:08:17 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 16:11:04 2017 +0200

----------------------------------------------------------------------
 pom.xml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/b3c49a34/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3fd0c2c..e60c684 100644
--- a/pom.xml
+++ b/pom.xml
@@ -474,7 +474,9 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
-                    <version>2.19.1</version>
+                    <!-- The current 2.19 versions (Including 2.19.1) seem to be broken.
+                         See http://maven.40175.n5.nabble.com/surefire-forked-vm-failed-td5858900.html -->
+                    <version>2.18.1</version>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>


[5/7] cxf git commit: Move property handling to respective classes

Posted by cs...@apache.org.
Move property handling to respective classes


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

Branch: refs/heads/master
Commit: bc4cd1ed8ea06ca7e0a05c5d2ee898bb937b3663
Parents: 62fd990
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Apr 24 18:25:12 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 16:10:47 2017 +0200

----------------------------------------------------------------------
 .../transport/jms/JMSMessageHeadersType.java    | 36 ++++++++++++
 .../cxf/transport/jms/JMSMessageUtils.java      | 62 +-------------------
 .../cxf/transport/jms/JMSPropertyType.java      | 30 ++++++++++
 3 files changed, 67 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/bc4cd1ed/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
index 6224fe8..333f582 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
@@ -21,6 +21,11 @@ package org.apache.cxf.transport.jms;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.jms.JMSException;
+import javax.jms.Message;
+
+import org.apache.cxf.transport.jms.spec.JMSSpecConstants;
+
 //CHECKSTYLE:OFF
 public class JMSMessageHeadersType {
     protected List<JMSPropertyType> property;
@@ -289,5 +294,36 @@ public class JMSMessageHeadersType {
         return soapjmsIsFault;
     }
 
+    /**
+     * @param jmsMessage
+     * @param messageProperties
+     */
+    public void writeTo(Message jmsMessage)
+        throws JMSException {
+
+        setProp(jmsMessage, JMSSpecConstants.TARGETSERVICE_FIELD, soapjmsTargetService);
+        setProp(jmsMessage, JMSSpecConstants.BINDINGVERSION_FIELD, soapjmsBindingVersion);
+        setProp(jmsMessage, JMSSpecConstants.CONTENTTYPE_FIELD, soapjmsContentType);
+        setProp(jmsMessage, JMSSpecConstants.CONTENTENCODING_FIELD, soapjmsContentEncoding);
+        setProp(jmsMessage, JMSSpecConstants.SOAPACTION_FIELD, soapjmssoapAction);
+        setProp(jmsMessage, JMSSpecConstants.REQUESTURI_FIELD, soapjmsRequestURI);
+
+        if (isSetSOAPJMSIsFault()) {
+            jmsMessage.setBooleanProperty(JMSSpecConstants.ISFAULT_FIELD, isSOAPJMSIsFault());
+        }
+
+        if (isSetProperty()) {
+            for (JMSPropertyType prop : getProperty()) {
+                prop.writeTo(jmsMessage);
+            }
+        }
+    }
+    
+    private static void setProp(Message jmsMessage, String name, String value) throws JMSException {
+        if (value != null) {
+            jmsMessage.setStringProperty(name, value);
+        }
+    }
+
 }
 //CHECKSTYLE:ON
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cxf/blob/bc4cd1ed/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
index 6ea346a..04a8e6c 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
@@ -296,7 +296,7 @@ final class JMSMessageUtils {
         JMSMessageUtils.prepareJMSMessageHeaderProperties(messageProperties, outMessage, jmsConfig);
         JMSMessageUtils.prepareJMSMessageProperties(messageProperties, outMessage,
                                                     jmsConfig.getTargetService(), jmsConfig.getRequestURI());
-        JMSMessageUtils.setJMSMessageProperties(jmsMessage, messageProperties);
+        messageProperties.writeTo(jmsMessage);
         jmsMessage.setJMSCorrelationID(correlationId);
         return jmsMessage;
     }
@@ -313,66 +313,6 @@ final class JMSMessageUtils {
     }
 
     /**
-     * @param jmsMessage
-     * @param messageProperties
-     */
-    static void setJMSMessageProperties(Message jmsMessage, JMSMessageHeadersType messageProperties)
-        throws JMSException {
-
-        if (messageProperties == null) {
-            return;
-        }
-
-        setProp(jmsMessage, JMSSpecConstants.TARGETSERVICE_FIELD, messageProperties.getSOAPJMSTargetService());
-        setProp(jmsMessage, JMSSpecConstants.BINDINGVERSION_FIELD, messageProperties.getSOAPJMSBindingVersion());
-        setProp(jmsMessage, JMSSpecConstants.CONTENTTYPE_FIELD, messageProperties.getSOAPJMSContentType());
-        setProp(jmsMessage, JMSSpecConstants.CONTENTENCODING_FIELD, messageProperties.getSOAPJMSContentEncoding());
-        setProp(jmsMessage, JMSSpecConstants.SOAPACTION_FIELD, messageProperties.getSOAPJMSSOAPAction());
-        setProp(jmsMessage, JMSSpecConstants.REQUESTURI_FIELD, messageProperties.getSOAPJMSRequestURI());
-
-        if (messageProperties.isSetSOAPJMSIsFault()) {
-            jmsMessage.setBooleanProperty(JMSSpecConstants.ISFAULT_FIELD, messageProperties
-                .isSOAPJMSIsFault());
-        }
-
-        if (messageProperties.isSetProperty()) {
-            for (JMSPropertyType prop : messageProperties.getProperty()) {
-                Object o = prop.getValue();
-                if (o != null) {
-                    Class<?> cls = o.getClass();
-                    if (cls == String.class) {
-                        jmsMessage.setStringProperty(prop.getName(), (String)o);
-                    } else if (cls == Integer.TYPE || cls == Integer.class) {
-                        jmsMessage.setIntProperty(prop.getName(), (Integer)o);
-                    } else if (cls == Double.TYPE || cls == Double.class) {
-                        jmsMessage.setDoubleProperty(prop.getName(), (Double)o);
-                    } else if (cls == Float.TYPE || cls == Float.class) {
-                        jmsMessage.setFloatProperty(prop.getName(), (Float)o);
-                    } else if (cls == Long.TYPE || cls == Long.class) {
-                        jmsMessage.setLongProperty(prop.getName(), (Long)o);
-                    } else if (cls == Boolean.TYPE || cls == Boolean.class) {
-                        jmsMessage.setBooleanProperty(prop.getName(), (Boolean)o);
-                    } else if (cls == Short.TYPE || cls == Short.class) {
-                        jmsMessage.setShortProperty(prop.getName(), (Short)o);
-                    } else if (cls == Byte.TYPE || cls == Byte.class) {
-                        jmsMessage.setShortProperty(prop.getName(), (Byte)o);
-                    } else {
-                        jmsMessage.setObjectProperty(prop.getName(), o);
-                    }
-                } else {
-                    jmsMessage.setStringProperty(prop.getName(), null);
-                }
-            }
-        }
-    }
-
-    private static void setProp(Message jmsMessage, String name, String value) throws JMSException {
-        if (value != null) {
-            jmsMessage.setStringProperty(name, value);
-        }
-    }
-
-    /**
      * @param messageProperteis
      * @param outMessage
      * @param jmsConfig

http://git-wip-us.apache.org/repos/asf/cxf/blob/bc4cd1ed/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
index 36d25dc..cdaacfb 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
@@ -18,6 +18,9 @@
  */
 package org.apache.cxf.transport.jms;
 
+import javax.jms.JMSException;
+import javax.jms.Message;
+
 public class JMSPropertyType {
     private String name;
     private Object value;
@@ -34,5 +37,32 @@ public class JMSPropertyType {
     public Object getValue() {
         return value;
     }
+    
+    public void writeTo(Message jmsMessage) throws JMSException {
+        if (value == null) {
+            jmsMessage.setStringProperty(name, null);
+            return;
+        }
+        Class<?> cls = value.getClass();
+        if (cls == String.class) {
+            jmsMessage.setStringProperty(name, (String)value);
+        } else if (cls == Integer.TYPE || cls == Integer.class) {
+            jmsMessage.setIntProperty(name, (Integer)value);
+        } else if (cls == Double.TYPE || cls == Double.class) {
+            jmsMessage.setDoubleProperty(name, (Double)value);
+        } else if (cls == Float.TYPE || cls == Float.class) {
+            jmsMessage.setFloatProperty(name, (Float)value);
+        } else if (cls == Long.TYPE || cls == Long.class) {
+            jmsMessage.setLongProperty(name, (Long)value);
+        } else if (cls == Boolean.TYPE || cls == Boolean.class) {
+            jmsMessage.setBooleanProperty(name, (Boolean)value);
+        } else if (cls == Short.TYPE || cls == Short.class) {
+            jmsMessage.setShortProperty(name, (Short)value);
+        } else if (cls == Byte.TYPE || cls == Byte.class) {
+            jmsMessage.setShortProperty(name, (Byte)value);
+        } else {
+            jmsMessage.setObjectProperty(name, value);
+        }
+    }
 }
 


[7/7] cxf git commit: Cleanup OSGi tests

Posted by cs...@apache.org.
Cleanup OSGi tests


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

Branch: refs/heads/master
Commit: 9cc3f37d15778604463d03e609e09b46bd2b7b5c
Parents: b3c49a3
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Tue Apr 25 17:05:56 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 17:05:56 2017 +0200

----------------------------------------------------------------------
 osgi/itests/pom.xml                             |   2 -
 .../cxf/osgi/itests/CXFOSGiTestSupport.java     | 105 +------------------
 2 files changed, 5 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/9cc3f37d/osgi/itests/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/itests/pom.xml b/osgi/itests/pom.xml
index 2349136..800d50d 100644
--- a/osgi/itests/pom.xml
+++ b/osgi/itests/pom.xml
@@ -119,12 +119,10 @@
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <version>4.3.1</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
-            <version>4.3.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>

http://git-wip-us.apache.org/repos/asf/cxf/blob/9cc3f37d/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
----------------------------------------------------------------------
diff --git a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
index 94ae560..5ebd000 100644
--- a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
+++ b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
@@ -21,25 +21,18 @@ package org.apache.cxf.osgi.itests;
 
 
 
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.PrintStream;
 import java.net.DatagramSocket;
 import java.net.ServerSocket;
 import java.net.URL;
 import java.util.Properties;
-import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.TimeUnit;
 
 import javax.inject.Inject;
 
-import org.apache.felix.service.command.CommandProcessor;
-import org.apache.felix.service.command.CommandSession;
 import org.apache.karaf.features.FeaturesService;
 import org.junit.Assert;
 import org.ops4j.pax.exam.Option;
@@ -64,12 +57,8 @@ import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDist
  */
 public class CXFOSGiTestSupport {
     private static final String MAVEN_DEPENDENCIES_PROPERTIES = "/META-INF/maven/dependencies.properties";
-    private static final Long COMMAND_TIMEOUT = 10000L;
 
     @Inject
-    protected CommandProcessor commandProcessor;
-    
-    @Inject
     protected BundleContext bundleContext;
 
     @Inject
@@ -123,6 +112,7 @@ public class CXFOSGiTestSupport {
             throw new IllegalStateException(MAVEN_DEPENDENCIES_PROPERTIES + " can not be found", t);
         }
     }
+
     /**
      * Create an {@link org.ops4j.pax.exam.Option} for using a .
      *
@@ -144,104 +134,19 @@ public class CXFOSGiTestSupport {
                          //DO NOT COMMIT WITH THIS LINE ENABLED!!!
                          //KarafDistributionOption.keepRuntimeFolder(),
                          //debugConfiguration(), // nor this
-                systemProperty("java.awt.headless").value("true"),
+                         systemProperty("pax.exam.osgi.unresolved.fail").value("true"),
+                         systemProperty("java.awt.headless").value("true"),
                          when(localRepo != null)
                              .useOptions(editConfigurationFilePut("etc/org.ops4j.pax.url.mvn.cfg",
                                                                   "org.ops4j.pax.url.mvn.localRepository",
                                                                   localRepo)),
                          when(urp != null).useOptions(systemProperty("cxf.useRandomFirstPort").value("true")));
     }
+
     protected Option testUtils() {
         return mavenBundle().groupId("org.apache.cxf").artifactId("cxf-testutils").versionAsInProject();
     }
 
-    /**
-     * Executes a shell command and returns output as a String. Commands have a default timeout of 10 seconds.
-     *
-     * @param command
-     * @return
-     */
-    protected String executeCommand(final String command) {
-        return executeCommand(command, COMMAND_TIMEOUT, false);
-    }
-
-    /**
-     * Executes a shell command and returns output as a String. Commands have a default timeout of 10 seconds.
-     *
-     * @param command The command to execute.
-     * @param timeout The amount of time in millis to wait for the command to execute.
-     * @param silent Specifies if the command should be displayed in the screen.
-     * @return
-     */
-    protected String executeCommand(final String command, final Long timeout, final Boolean silent) {
-        String response;
-        final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-        final PrintStream printStream = new PrintStream(byteArrayOutputStream);
-        final CommandSession commandSession = commandProcessor.createSession(System.in, printStream,
-                                                                             System.err);
-        FutureTask<String> commandFuture = new FutureTask<String>(new Callable<String>() {
-            public String call() {
-                try {
-                    if (!silent) {
-                        System.err.println(command);
-                    }
-                    commandSession.execute(command);
-                } catch (Exception e) {
-                    e.printStackTrace(System.err);
-                }
-                printStream.flush();
-                return byteArrayOutputStream.toString();
-            }
-        });
-
-        try {
-            executor.submit(commandFuture);
-            response = commandFuture.get(timeout, TimeUnit.MILLISECONDS);
-        } catch (Exception e) {
-            e.printStackTrace(System.err);
-            response = "SHELL COMMAND TIMED OUT: ";
-        }
-
-        return response;
-    }
-
-    /**
-     * Executes multiple commands inside a Single Session. Commands have a default timeout of 10 seconds.
-     *
-     * @param commands
-     * @return
-     */
-    protected String executeCommands(final String... commands) {
-        String response;
-        final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-        final PrintStream printStream = new PrintStream(byteArrayOutputStream);
-        final CommandSession commandSession = commandProcessor.createSession(System.in, printStream,
-                                                                             System.err);
-        FutureTask<String> commandFuture = new FutureTask<String>(new Callable<String>() {
-            public String call() {
-                try {
-                    for (String command : commands) {
-                        System.err.println(command);
-                        commandSession.execute(command);
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace(System.err);
-                }
-                return byteArrayOutputStream.toString();
-            }
-        });
-
-        try {
-            executor.submit(commandFuture);
-            response = commandFuture.get(COMMAND_TIMEOUT, TimeUnit.MILLISECONDS);
-        } catch (Exception e) {
-            e.printStackTrace(System.err);
-            response = "SHELL COMMAND TIMED OUT: ";
-        }
-
-        return response;
-    }
-
     protected Bundle getInstalledBundle(String symbolicName) {
         for (Bundle b : bundleContext.getBundles()) {
             if (b.getSymbolicName().equals(symbolicName)) {
@@ -312,7 +217,7 @@ public class CXFOSGiTestSupport {
     public void assertServicePublished(String filter, int timeout) {
         try {
             Filter serviceFilter = bundleContext.createFilter(filter);
-            ServiceTracker<?, ?> tracker = new ServiceTracker<>(bundleContext, serviceFilter, null);
+            ServiceTracker tracker = new ServiceTracker(bundleContext, serviceFilter, null);
             tracker.open();
             Object service = tracker.waitForService(timeout);
             tracker.close();


[3/7] cxf git commit: Small refactoring of JMS property handling

Posted by cs...@apache.org.
Small refactoring of JMS property handling


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

Branch: refs/heads/master
Commit: 4a714ebe08842ad898343c55203f6cde4ccebf45
Parents: 7fb37af
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Apr 24 16:38:32 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Tue Apr 25 16:10:47 2017 +0200

----------------------------------------------------------------------
 .../cxf/transport/jms/JMSMessageUtils.java      | 36 ++++++++------------
 .../cxf/transport/jms/JMSPropertyType.java      | 26 ++++----------
 .../cxf/transport/jms/JMSDestinationTest.java   |  4 +--
 .../cxf/systest/jms/JMSClientServerTest.java    |  8 ++---
 .../cxf/systest/jms/TwoWayJMSImplBase.java      |  4 +--
 .../systest/jms/security/TwoWayJMSImplBase.java |  4 +--
 6 files changed, 26 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/4a714ebe/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
index 5e82e9c..31ba9f8 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
@@ -135,10 +135,7 @@ final class JMSMessageUtils {
         while (enm.hasMoreElements()) {
             String name = enm.nextElement();
             String val = message.getStringProperty(name);
-            JMSPropertyType prop = new JMSPropertyType();
-            prop.setName(name);
-            prop.setValue(val);
-            props.add(prop);
+            props.add(new JMSPropertyType(name, val));
 
             protHeaders.put(name, Collections.singletonList(val));
             if (name.equals(org.apache.cxf.message.Message.CONTENT_TYPE)
@@ -498,28 +495,25 @@ final class JMSMessageUtils {
         }
         if (headers != null) {
             for (Map.Entry<String, List<String>> ent : headers.entrySet()) {
-                JMSPropertyType prop = asJmsProperty(ent);
+                JMSPropertyType prop = asJmsProperty(ent.getKey(), ent.getValue());
                 messageProperties.getProperty().add(prop);
             }
         }
     }
 
-    private static JMSPropertyType asJmsProperty(Map.Entry<String, List<String>> ent) {
-        JMSPropertyType prop = new JMSPropertyType();
-        prop.setName(ent.getKey());
-        if (ent.getValue().size() > 1) {
-            StringBuilder b = new StringBuilder();
-            for (String s : ent.getValue()) {
-                if (b.length() > 0) {
-                    b.append(',');
-                }
-                b.append(s);
+    private static JMSPropertyType asJmsProperty(String key, List<String> value) {
+        return new JMSPropertyType(key, join(value, ','));
+    }
+    
+    private static String join(List<String> valueList, char seperator) {
+        StringBuilder b = new StringBuilder();
+        for (String s : valueList) {
+            if (b.length() > 0) {
+                b.append(seperator);
             }
-            prop.setValue(b.toString());
-        } else {
-            prop.setValue(ent.getValue().get(0));
+            b.append(s);
         }
-        return prop;
+        return b.toString();
     }
 
     private static String getSoapAction(JMSMessageHeadersType messageProperties,
@@ -558,9 +552,7 @@ final class JMSMessageUtils {
                                                   String key) {
         Object value = message.get(key);
         if (value != null) {
-            JMSPropertyType prop = new JMSPropertyType();
-            prop.setName(key);
-            prop.setValue(value.toString());
+            JMSPropertyType prop = new JMSPropertyType(key, value.toString());
             messageProperties.getProperty().add(prop);
         }
     }

http://git-wip-us.apache.org/repos/asf/cxf/blob/4a714ebe/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
index 3d9a8f5..36d25dc 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
@@ -19,32 +19,20 @@
 package org.apache.cxf.transport.jms;
 
 public class JMSPropertyType {
-    protected String name;
-    protected Object value;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
+    private String name;
+    private Object value;
+    
+    public JMSPropertyType(String name, Object value) {
         this.name = name;
+        this.value = value;
     }
 
-    public boolean isSetName() {
-        return this.name != null;
+    public String getName() {
+        return name;
     }
 
     public Object getValue() {
         return value;
     }
-
-    public void setValue(Object value) {
-        this.value = value;
-    }
-
-    public boolean isSetValue() {
-        return this.value != null;
-    }
-    
 }
 

http://git-wip-us.apache.org/repos/asf/cxf/blob/4a714ebe/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java b/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
index 8deb424..67369d4 100644
--- a/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
+++ b/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/JMSDestinationTest.java
@@ -259,9 +259,7 @@ public class JMSDestinationTest extends AbstractJMSTester {
         final Message outMessage = new MessageImpl();
         setupMessageHeader(outMessage, null);
 
-        JMSPropertyType excludeProp = new JMSPropertyType();
-        excludeProp.setName(customPropertyName);
-        excludeProp.setValue(customPropertyName);
+        JMSPropertyType excludeProp = new JMSPropertyType(customPropertyName, customPropertyName);
 
         JMSMessageHeadersType headers = (JMSMessageHeadersType)outMessage
             .get(JMSConstants.JMS_CLIENT_REQUEST_HEADERS);

http://git-wip-us.apache.org/repos/asf/cxf/blob/4a714ebe/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
----------------------------------------------------------------------
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
index 05b7c96..0f7dae6 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/JMSClientServerTest.java
@@ -558,13 +558,9 @@ public class JMSClientServerTest extends AbstractBusClientServerTestBase {
         JMSMessageHeadersType requestHeader = new JMSMessageHeadersType();
         requestHeader.setJMSCorrelationID("JMS_SAMPLE_CORRELATION_ID");
         requestHeader.setJMSExpiration(3600000L);
-        JMSPropertyType propType = new JMSPropertyType();
-        propType.setName(testReturnPropertyName);
-        propType.setValue("mustReturn");
+        JMSPropertyType propType = new JMSPropertyType(testReturnPropertyName, "mustReturn");
         requestHeader.getProperty().add(propType);
-        propType = new JMSPropertyType();
-        propType.setName(testIgnoredPropertyName);
-        propType.setValue("mustNotReturn");
+        propType = new JMSPropertyType(testIgnoredPropertyName, "mustNotReturn");
         requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader);
 
         String greeting = greeter.greetMe("Milestone-");

http://git-wip-us.apache.org/repos/asf/cxf/blob/4a714ebe/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
----------------------------------------------------------------------
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
index 64fdbd3..3787eee 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/TwoWayJMSImplBase.java
@@ -58,9 +58,7 @@ public class TwoWayJMSImplBase implements HelloWorldPortType {
         //System.out.println("Reached here :" + me);
 
         // set reply header custom property
-        JMSPropertyType testProperty = new JMSPropertyType();
-        testProperty.setName("Test_Prop");
-        testProperty.setValue("some return value "  + me);
+        JMSPropertyType testProperty = new JMSPropertyType("Test_Prop", "some return value "  + me);
 
         //System.out.println("found property in request headers at index: "
         //                   + headers.getProperty().indexOf(testProperty));

http://git-wip-us.apache.org/repos/asf/cxf/blob/4a714ebe/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
----------------------------------------------------------------------
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
index 7752b81..d6ca0da 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/security/TwoWayJMSImplBase.java
@@ -58,9 +58,7 @@ public class TwoWayJMSImplBase implements HelloWorldPortType {
         //System.out.println("Reached here :" + me);
 
         // set reply header custom property
-        JMSPropertyType testProperty = new JMSPropertyType();
-        testProperty.setName("Test_Prop");
-        testProperty.setValue("some return value "  + me);
+        JMSPropertyType testProperty = new JMSPropertyType("Test_Prop", "some return value "  + me);
 
         //System.out.println("found property in request headers at index: "
         //                   + headers.getProperty().indexOf(testProperty));