You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by am...@apache.org on 2018/08/01 22:06:13 UTC

[cxf] 02/08: Code Review Changes

This is an automated email from the ASF dual-hosted git repository.

amccright pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 0bebe29758ebca6e7d6032d2e13de5848b3a0518
Author: Andy McCright <j....@gmail.com>
AuthorDate: Sat Mar 24 08:31:10 2018 -0500

    Code Review Changes
    
    * Isolate changes around handling InvocationCallback parameter
    * Combine MP Rest Client systests under one directory
    * Minor changes in class/method names, etc.
---
 .../apache/cxf/jaxrs/client/ClientProxyImpl.java   | 11 +++----
 .../client/proxy/MicroProfileClientProxyImpl.java  | 25 ++++++++++-----
 .../client/CxfTypeSafeClientBuilderTest.java       |  9 ++----
 .../client/async}/pom.xml                          | 36 +++++++++++-----------
 .../microprofile/rest/client/AsyncMethodTest.java  |  0
 .../rest/client/mock/AsyncClientWithFuture.java    |  0
 .../mock/AsyncClientWithInvocationCallback.java    |  0
 .../AsyncInvocationInterceptorFactoryTestImpl.java |  0
 ...AsyncInvocationInterceptorFactoryTestImpl2.java |  0
 .../rest/client/mock/ThreadLocalClientFilter.java  |  1 -
 .../client/weld/pom.xml                            |  0
 systests/microprofile/pom.xml                      | 29 +++++------------
 12 files changed, 51 insertions(+), 60 deletions(-)

diff --git a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
index 35bdbc2..ac0cace 100644
--- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
+++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
@@ -245,7 +245,7 @@ public class ClientProxyImpl extends AbstractClient implements
         }
     }
 
-    private static MultivaluedMap<ParameterType, Parameter> getParametersInfo(Method m,
+    private MultivaluedMap<ParameterType, Parameter> getParametersInfo(Method m,
         Object[] params, OperationResourceInfo ori) {
         MultivaluedMap<ParameterType, Parameter> map =
             new MetadataMap<ParameterType, Parameter>();
@@ -280,13 +280,12 @@ public class ClientProxyImpl extends AbstractClient implements
         return map;
     }
 
-    private static boolean isIgnorableParameter(Method m, Parameter p) {
+    protected boolean isIgnorableParameter(Method m, Parameter p) {
         if (p.getType() == ParameterType.CONTEXT) {
             return true;
         }
         return p.getType() == ParameterType.REQUEST_BODY
-            && (m.getParameterTypes()[p.getIndex()] == AsyncResponse.class
-                || m.getParameterTypes()[p.getIndex()] == InvocationCallback.class);
+            && m.getParameterTypes()[p.getIndex()] == AsyncResponse.class;
     }
 
     private static int getBodyIndex(MultivaluedMap<ParameterType, Parameter> map,
@@ -593,7 +592,7 @@ public class ClientProxyImpl extends AbstractClient implements
         }
         return jaxrsParamAnnAvailable;
     }
-    
+
     private void handleMatrixes(Method m,
                                 Object[] params,
                                 MultivaluedMap<ParameterType, Parameter> map,
@@ -878,7 +877,7 @@ public class ClientProxyImpl extends AbstractClient implements
 
             Method method = outMessage.getExchange().get(Method.class);
             checkResponse(method, r, outMessage);
-            if (outMessage.getExchange().isSynchronous() && (method.getReturnType() == Void.class 
+            if (outMessage.getExchange().isSynchronous() && (method.getReturnType() == Void.class
                                                             || method.getReturnType() == Void.TYPE)) {
                 return null;
             }
diff --git a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
index 5c5d103..89dd84c 100644
--- a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
+++ b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
@@ -35,6 +35,8 @@ import org.apache.cxf.jaxrs.client.JaxrsClientCallback;
 import org.apache.cxf.jaxrs.client.LocalClientState;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.jaxrs.model.OperationResourceInfo;
+import org.apache.cxf.jaxrs.model.Parameter;
+import org.apache.cxf.jaxrs.model.ParameterType;
 import org.apache.cxf.jaxrs.utils.InjectionUtils;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.microprofile.client.MicroProfileClientProviderFactory;
@@ -53,9 +55,9 @@ public class MicroProfileClientProxyImpl extends ClientProxyImpl {
             // no-op
         }
     };
-    
+
     private final MPAsyncInvocationInterceptorImpl aiiImpl = new MPAsyncInvocationInterceptorImpl();
-    
+
     public MicroProfileClientProxyImpl(URI baseURI, ClassLoader loader, ClassResourceInfo cri,
                                        boolean isRoot, boolean inheritHeaders, ExecutorService executorService,
                                        Object... varValues) {
@@ -70,7 +72,7 @@ public class MicroProfileClientProxyImpl extends ClientProxyImpl {
         cfg.getRequestContext().put(EXECUTOR_SERVICE_PROPERTY, executorService);
     }
 
-    
+
 
     @SuppressWarnings("unchecked")
     @Override
@@ -83,15 +85,15 @@ public class MicroProfileClientProxyImpl extends ClientProxyImpl {
         return outMessage.getContent(InvocationCallback.class);
     }
 
-    
+
     @Override
     protected Object doInvokeAsync(OperationResourceInfo ori, Message outMessage,
                                    InvocationCallback<Object> asyncCallback) {
         outMessage.getInterceptorChain().add(aiiImpl);
         cfg.getInInterceptors().add(new MPAsyncInvocationInterceptorPostAsyncImpl(aiiImpl.getInterceptors()));
-        
+
         super.doInvokeAsync(ori, outMessage, asyncCallback);
-        
+
         Future<?> future = null;
         if (asyncCallback == MARKER_CALLBACK) {
             JaxrsClientCallback<?> cb = outMessage.getExchange().get(JaxrsClientCallback.class);
@@ -138,9 +140,16 @@ public class MicroProfileClientProxyImpl extends ClientProxyImpl {
         if (Future.class.isAssignableFrom(returnType)) {
             Type t = method.getGenericReturnType();
             returnType = InjectionUtils.getActualType(t);
-            System.out.println("returnType (from future) = " + returnType);
         }
-        System.out.println("returnType = " + returnType);
         return returnType;
     }
+
+    @Override
+    protected boolean isIgnorableParameter(Method m, Parameter p) {
+        if (p.getType() == ParameterType.CONTEXT) {
+            return true;
+        }
+        return p.getType() == ParameterType.REQUEST_BODY
+            && m.getParameterTypes()[p.getIndex()] == InvocationCallback.class;
+    }
 }
diff --git a/rt/rs/microprofile-client/src/test/java/org/apache/cxf/microprofile/client/CxfTypeSafeClientBuilderTest.java b/rt/rs/microprofile-client/src/test/java/org/apache/cxf/microprofile/client/CxfTypeSafeClientBuilderTest.java
index bc38d62..5aa7c61 100644
--- a/rt/rs/microprofile-client/src/test/java/org/apache/cxf/microprofile/client/CxfTypeSafeClientBuilderTest.java
+++ b/rt/rs/microprofile-client/src/test/java/org/apache/cxf/microprofile/client/CxfTypeSafeClientBuilderTest.java
@@ -19,11 +19,8 @@
 package org.apache.cxf.microprofile.client;
 
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
+
 import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.client.InvocationCallback;
 import javax.ws.rs.core.Response;
 
 import org.apache.cxf.microprofile.client.mock.EchoClientReqFilter;
@@ -122,7 +119,7 @@ public class CxfTypeSafeClientBuilderTest extends Assert {
         Response r = client.getEntity();
         fail(r, "Did not throw expected mapped exception: NoSuchEntityException");
     }
-    
+
     @Test(expected = WebApplicationException.class)
     public void testDefaultResponseExceptionMapper() throws Exception {
         ExceptionMappingClient client = new CxfTypeSafeClientBuilder()
@@ -133,7 +130,7 @@ public class CxfTypeSafeClientBuilderTest extends Assert {
         Response r = client.getEntity();
         fail(r, "Did not throw expected mapped exception: WebApplicationException");
     }
-    
+
     private void fail(Response r, String failureMessage) {
         System.out.println(r.getStatus());
         fail(failureMessage);
diff --git a/systests/microprofile-tck/pom.xml b/systests/microprofile/client/async/pom.xml
similarity index 85%
rename from systests/microprofile-tck/pom.xml
rename to systests/microprofile/client/async/pom.xml
index 3c29018..b4e9167 100644
--- a/systests/microprofile-tck/pom.xml
+++ b/systests/microprofile/client/async/pom.xml
@@ -19,17 +19,16 @@
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <parent>
-        <artifactId>cxf-parent</artifactId>
-        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-microprofile-tck</artifactId>
+        <groupId>org.apache.cxf.systests</groupId>
         <version>3.2.5-SNAPSHOT</version>
-        <relativePath>../../parent/pom.xml</relativePath>
+        <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.cxf.systests</groupId>
-    <artifactId>cxf-microprofile-tck</artifactId>
-    <packaging>pom</packaging>
-    <name>Apache CXF MicroProfile TCKs</name>
-    <description>Apache CXF System Tests - MicroProfile TCKs</description>
+    <artifactId>cxf-microprofile-async</artifactId>
+    <name>Apache CXF MicroProfile Async Sys Tests</name>
+    <description>Apache CXF System Tests - MicroProfile Rest Client Async Tests</description>
     <url>http://cxf.apache.org</url>
     <properties>
         <cxf.geronimo.config.version>1.0</cxf.geronimo.config.version>
@@ -43,19 +42,18 @@
         <cxf.slf4j.version>1.7.25</cxf.slf4j.version>
         <cxf.commons.logging.version>1.2</cxf.commons.logging.version>
         <cxf.javax.ws.rs.version>2.1</cxf.javax.ws.rs.version>
+        <cxf.wiremock.version>2.10.1</cxf.wiremock.version>
     </properties>
-    <dependencyManagement>
         <dependencies>
             <dependency>
-                <groupId>org.testng</groupId>
-                <artifactId>testng</artifactId>
-                <version>6.14.2</version>
+                <groupId>org.hamcrest</groupId>
+                <artifactId>hamcrest-all</artifactId>
+                <version>1.3</version>
                 <scope>test</scope>
             </dependency>
             <dependency>
-                <groupId>org.jboss.arquillian.testng</groupId>
-                <artifactId>arquillian-testng-container</artifactId>
-                <version>${cxf.arquillian.version}</version>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-rs-mp-client</artifactId>
                 <scope>test</scope>
             </dependency>
             <dependency>
@@ -129,9 +127,11 @@
                 <version>${cxf.microprofile.rest.client.version}</version>
                 <scope>test</scope>
             </dependency>
+            <dependency>
+                <groupId>com.github.tomakehurst</groupId>
+                <artifactId>wiremock</artifactId>
+                <version>${cxf.wiremock.version}</version>
+                <scope>test</scope>
+            </dependency>
         </dependencies>
-    </dependencyManagement>
-    <modules>
-        <module>client/weld</module>
-    </modules>
 </project>
diff --git a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java
similarity index 100%
rename from systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java
rename to systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/AsyncMethodTest.java
diff --git a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithFuture.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithFuture.java
similarity index 100%
rename from systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithFuture.java
rename to systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithFuture.java
diff --git a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithInvocationCallback.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithInvocationCallback.java
similarity index 100%
rename from systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithInvocationCallback.java
rename to systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncClientWithInvocationCallback.java
diff --git a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl.java
similarity index 100%
rename from systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl.java
rename to systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl.java
diff --git a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl2.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl2.java
similarity index 100%
rename from systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl2.java
rename to systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/AsyncInvocationInterceptorFactoryTestImpl2.java
diff --git a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/ThreadLocalClientFilter.java b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/ThreadLocalClientFilter.java
similarity index 99%
rename from systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/ThreadLocalClientFilter.java
rename to systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/ThreadLocalClientFilter.java
index a93e4f0..bd83d64 100644
--- a/systests/microprofile/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/ThreadLocalClientFilter.java
+++ b/systests/microprofile/client/async/src/test/java/org/apache/cxf/systest/microprofile/rest/client/mock/ThreadLocalClientFilter.java
@@ -43,7 +43,6 @@ public class ThreadLocalClientFilter implements ClientRequestFilter, ClientRespo
         List<String> list = AsyncInvocationInterceptorFactoryTestImpl.INBOUND.get();
         list.add(ThreadLocalClientFilter.class.getSimpleName());
         responseContext.getHeaders().put("CXFTestResponse", list);
-
     }
 
 }
diff --git a/systests/microprofile-tck/client/weld/pom.xml b/systests/microprofile/client/weld/pom.xml
similarity index 100%
rename from systests/microprofile-tck/client/weld/pom.xml
rename to systests/microprofile/client/weld/pom.xml
diff --git a/systests/microprofile/pom.xml b/systests/microprofile/pom.xml
index c70bdcf..90cc036 100644
--- a/systests/microprofile/pom.xml
+++ b/systests/microprofile/pom.xml
@@ -27,7 +27,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.cxf.systests</groupId>
     <artifactId>cxf-microprofile-tck</artifactId>
-    <!--packaging>jar</packaging -->
+    <packaging>pom</packaging>
     <name>Apache CXF MicroProfile TCKs</name>
     <description>Apache CXF System Tests - MicroProfile TCKs</description>
     <url>http://cxf.apache.org</url>
@@ -43,10 +43,10 @@
         <cxf.slf4j.version>1.7.25</cxf.slf4j.version>
         <cxf.commons.logging.version>1.2</cxf.commons.logging.version>
         <cxf.javax.ws.rs.version>2.1</cxf.javax.ws.rs.version>
-        <cxf.wiremock.version>2.10.1</cxf.wiremock.version>
     </properties>
+    <dependencyManagement>
         <dependencies>
-            <!--<dependency>
+            <dependency>
                 <groupId>org.testng</groupId>
                 <artifactId>testng</artifactId>
                 <version>6.14.2</version>
@@ -57,18 +57,6 @@
                 <artifactId>arquillian-testng-container</artifactId>
                 <version>${cxf.arquillian.version}</version>
                 <scope>test</scope>
-            </dependency> -->
-            <dependency>
-                <groupId>org.hamcrest</groupId>
-                <artifactId>hamcrest-all</artifactId>
-                <version>1.3</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-rs-mp-client</artifactId>
-                <!--version>${cxf.commons.logging.version}</version-->
-                <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>commons-logging</groupId>
@@ -141,11 +129,10 @@
                 <version>${cxf.microprofile.rest.client.version}</version>
                 <scope>test</scope>
             </dependency>
-            <dependency>
-                <groupId>com.github.tomakehurst</groupId>
-                <artifactId>wiremock</artifactId>
-                <version>${cxf.wiremock.version}</version>
-                <scope>test</scope>
-            </dependency>
         </dependencies>
+    </dependencyManagement>
+    <modules>
+        <module>client/async</module>
+        <module>client/weld</module>
+    </modules>
 </project>