You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by jo...@apache.org on 2017/12/19 04:27:39 UTC
[cxf] branch mp-client updated (b80b96c -> 45cc16f)
This is an automated email from the ASF dual-hosted git repository.
johndament pushed a change to branch mp-client
in repository https://gitbox.apache.org/repos/asf/cxf.git.
from b80b96c [CXF-7579] Add the default Json provider to each client.
new f2cccb5 [CXF-7579] Fix sorting to take into account custom vs user.
new 45cc16f [CXF-7579] Enable custom method test.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/cxf/jaxrs/provider/ProviderFactory.java | 2 +-
.../cxf/microprofile/client/ContractComparator.java | 21 +++++++++++++++------
.../client/MicroProfileClientFactoryBean.java | 6 ++++--
.../client/MicroProfileClientProviderFactory.java | 12 +++++++++---
systests/microprofile/client/weld/pom.xml | 4 ++--
5 files changed, 31 insertions(+), 14 deletions(-)
--
To stop receiving notification emails like this one, please contact
['"commits@cxf.apache.org" <co...@cxf.apache.org>'].
[cxf] 01/02: [CXF-7579] Fix sorting to take into account custom vs
user.
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
johndament pushed a commit to branch mp-client
in repository https://gitbox.apache.org/repos/asf/cxf.git
commit f2cccb5634d0c4c7114b90b5e8de04702d7dd7dc
Author: John D. Ament <jo...@apache.org>
AuthorDate: Mon Dec 18 23:26:18 2017 -0500
[CXF-7579] Fix sorting to take into account custom vs user.
Remove verbose output from TCK
---
.../apache/cxf/jaxrs/provider/ProviderFactory.java | 2 +-
.../cxf/microprofile/client/ContractComparator.java | 21 +++++++++++++++------
.../client/MicroProfileClientFactoryBean.java | 6 ++++--
.../client/MicroProfileClientProviderFactory.java | 12 +++++++++---
systests/microprofile/client/weld/pom.xml | 3 ++-
5 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
index 4fd6657..ed4ce0a 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
@@ -846,7 +846,7 @@ public abstract class ProviderFactory {
}
}
- private static int compareCustomStatus(ProviderInfo<?> p1, ProviderInfo<?> p2) {
+ protected static int compareCustomStatus(ProviderInfo<?> p1, ProviderInfo<?> p2) {
Boolean custom1 = p1.isCustom();
Boolean custom2 = p2.isCustom();
int result = custom1.compareTo(custom2) * -1;
diff --git a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/ContractComparator.java b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/ContractComparator.java
index 5ef4fb5..02bab65 100644
--- a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/ContractComparator.java
+++ b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/ContractComparator.java
@@ -20,20 +20,29 @@ package org.apache.cxf.microprofile.client;
import java.util.Comparator;
import java.util.Map;
+
+import org.apache.cxf.jaxrs.model.ProviderInfo;
import org.apache.cxf.jaxrs.utils.AnnotationUtils;
import static org.apache.cxf.microprofile.client.MicroProfileClientConfigurableImpl.CONTRACTS;
-class ContractComparator implements Comparator<Object> {
- private MicroProfileClientFactoryBean microProfileClientFactoryBean;
+class ContractComparator implements Comparator<ProviderInfo<?>> {
+ private final MicroProfileClientFactoryBean microProfileClientFactoryBean;
+ private final Comparator<ProviderInfo<?>> parent;
- ContractComparator(MicroProfileClientFactoryBean microProfileClientFactoryBean) {
+ ContractComparator(MicroProfileClientFactoryBean microProfileClientFactoryBean,
+ Comparator<ProviderInfo<?>> parent) {
this.microProfileClientFactoryBean = microProfileClientFactoryBean;
+ this.parent = parent;
}
@Override
- public int compare(Object oLeft, Object oRight) {
- int left = getPriority(oLeft.getClass());
- int right = getPriority(oRight.getClass());
+ public int compare(ProviderInfo<?> oLeft, ProviderInfo<?> oRight) {
+ int parentResult = parent.compare(oLeft, oRight);
+ if (parentResult != 0) {
+ return parentResult;
+ }
+ int left = getPriority(oLeft.getResourceClass());
+ int right = getPriority(oRight.getResourceClass());
return left - right;
}
diff --git a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientFactoryBean.java b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientFactoryBean.java
index 6855740..e9a1767 100644
--- a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientFactoryBean.java
+++ b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientFactoryBean.java
@@ -20,6 +20,7 @@ package org.apache.cxf.microprofile.client;
import java.net.URI;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -35,11 +36,12 @@ import org.apache.cxf.jaxrs.client.ClientState;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
import org.apache.cxf.jaxrs.model.ClassResourceInfo;
import org.apache.cxf.jaxrs.model.FilterProviderInfo;
+import org.apache.cxf.jaxrs.model.ProviderInfo;
import org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl;
import org.eclipse.microprofile.rest.client.RestClientBuilder;
public class MicroProfileClientFactoryBean extends JAXRSClientFactoryBean {
- private final ContractComparator comparator;
+ private final Comparator<ProviderInfo<?>> comparator;
private final List<Object> registeredProviders;
private Configuration configuration;
private ClassLoader proxyLoader;
@@ -49,7 +51,7 @@ public class MicroProfileClientFactoryBean extends JAXRSClientFactoryBean {
String baseUri, Class<?> aClass) {
super();
this.configuration = configuration.getConfiguration();
- this.comparator = new ContractComparator(this);
+ this.comparator = MicroProfileClientProviderFactory.createComparator(this);
super.setAddress(baseUri);
super.setServiceClass(aClass);
super.setProviderComparator(comparator);
diff --git a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientProviderFactory.java b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientProviderFactory.java
index ec24efc..05a0457 100644
--- a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientProviderFactory.java
+++ b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/MicroProfileClientProviderFactory.java
@@ -37,14 +37,15 @@ public final class MicroProfileClientProviderFactory extends ProviderFactory {
static final String CLIENT_FACTORY_NAME = MicroProfileClientProviderFactory.class.getName();
private List<ProviderInfo<ResponseExceptionMapper<?>>> responseExceptionMappers =
new ArrayList<ProviderInfo<ResponseExceptionMapper<?>>>(1);
- private final ContractComparator comparator;
+ private final Comparator<ProviderInfo<?>> comparator;
- private MicroProfileClientProviderFactory(Bus bus, ContractComparator comparator) {
+ private MicroProfileClientProviderFactory(Bus bus, Comparator<ProviderInfo<?>> comparator) {
super(bus);
this.comparator = comparator;
}
- public static MicroProfileClientProviderFactory createInstance(Bus bus, ContractComparator comparator) {
+ public static MicroProfileClientProviderFactory createInstance(Bus bus,
+ Comparator<ProviderInfo<?>> comparator) {
if (bus == null) {
bus = BusFactory.getThreadDefaultBus();
}
@@ -63,6 +64,11 @@ public final class MicroProfileClientProviderFactory extends ProviderFactory {
return (MicroProfileClientProviderFactory)e.get(CLIENT_FACTORY_NAME);
}
+ static Comparator<ProviderInfo<?>> createComparator(MicroProfileClientFactoryBean bean) {
+ Comparator<ProviderInfo<?>> parent = ProviderFactory::compareCustomStatus;
+ return new ContractComparator(bean, parent);
+ }
+
@Override
protected void setProviders(boolean custom, boolean busGlobal, Object... providers) {
List<ProviderInfo<?>> theProviders =
diff --git a/systests/microprofile/client/weld/pom.xml b/systests/microprofile/client/weld/pom.xml
index 990d344..77628bd 100644
--- a/systests/microprofile/client/weld/pom.xml
+++ b/systests/microprofile/client/weld/pom.xml
@@ -31,6 +31,7 @@
<properties>
<microprofile.rest.client.version>1.0-SNAPSHOT</microprofile.rest.client.version>
<geronimo.config.version>1.0</geronimo.config.version>
+ <wiremock.params>--port=8765</wiremock.params>
</properties>
<dependencies>
<dependency>
@@ -119,7 +120,7 @@
</goals>
<configuration>
<dir>target/classes</dir>
- <params>--port=8765 --verbose</params>
+ <params>${wiremock.params}</params>
</configuration>
</execution>
</executions>
--
To stop receiving notification emails like this one, please contact
"commits@cxf.apache.org" <co...@cxf.apache.org>.
[cxf] 02/02: [CXF-7579] Enable custom method test.
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
johndament pushed a commit to branch mp-client
in repository https://gitbox.apache.org/repos/asf/cxf.git
commit 45cc16ffddfa7946f378ebfeafaa237d88c45d92
Author: John D. Ament <jo...@apache.org>
AuthorDate: Mon Dec 18 23:27:30 2017 -0500
[CXF-7579] Enable custom method test.
---
systests/microprofile/client/weld/pom.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/systests/microprofile/client/weld/pom.xml b/systests/microprofile/client/weld/pom.xml
index 77628bd..5e22ae4 100644
--- a/systests/microprofile/client/weld/pom.xml
+++ b/systests/microprofile/client/weld/pom.xml
@@ -133,7 +133,6 @@
<dependency>org.eclipse.microprofile.rest.client:microprofile-rest-client-tck</dependency>
</dependenciesToScan>
<excludes>
- <exclude>org.eclipse.microprofile.rest.client.tck.CustomHttpMethodTest</exclude>
<exclude>org.eclipse.microprofile.rest.client.tck.InvalidInterfaceTest</exclude>
</excludes>
</configuration>
--
To stop receiving notification emails like this one, please contact
"commits@cxf.apache.org" <co...@cxf.apache.org>.