diff --git a/ext/mp-rest-client/pom.xml b/ext/mp-rest-client/pom.xml
index dc35e9ebd6..d48d1a3022 100644
--- a/ext/mp-rest-client/pom.xml
+++ b/ext/mp-rest-client/pom.xml
@@ -40,21 +40,19 @@
1.3
- io.helidon.microprofile.config
- helidon-microprofile-config-cdi
- 1.0.1
+ org.glassfish.jersey.core
+ jersey-client
+ ${project.version}
org.glassfish.jersey.core
- jersey-client
+ jersey-server
${project.version}
- compile
jakarta.json
jakarta.json-api
1.1.5
- compile
org.glassfish.jersey.inject
@@ -71,6 +69,15 @@
weld-se-core
3.0.3.Final
+
+ org.glassfish
+ jsonp-jaxrs
+
+
+ org.glassfish.jersey.media
+ jersey-media-json-binding
+ ${project.version}
+
org.glassfish.jersey.test-framework
jersey-test-framework-core
@@ -85,15 +92,9 @@
test
- io.helidon.microprofile.server
- helidon-microprofile-server
- 1.0.1
- test
-
-
- io.helidon.microprofile.tests
- helidon-arquillian
- 1.0.1-SNAPSHOT
+ io.smallrye
+ smallrye-config
+ 1.3.5
test
@@ -105,7 +106,6 @@
org.testng
testng
- 6.13.1
test
@@ -117,13 +117,19 @@
org.jboss.arquillian.testng
arquillian-testng-container
- 1.4.0.Final
+ 1.4.1.Final
test
org.jboss.arquillian.container
arquillian-container-test-spi
- 1.4.0.Final
+ 1.4.1.Final
+ test
+
+
+ org.jboss.arquillian.container
+ arquillian-weld-embedded
+ 2.0.1.Final
test
@@ -132,15 +138,6 @@
0.30.0
test
-
- org.glassfish
- jsonp-jaxrs
-
-
- org.glassfish.jersey.media
- jersey-media-json-binding
- ${project.version}
-
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/BeanClassModel.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/BeanClassModel.java
index d2a5296265..a7ec975b9a 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/BeanClassModel.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/BeanClassModel.java
@@ -215,7 +215,7 @@ private Object resolveValueFromField(Field field, Object instance) {
}
}
- private static class Builder implements io.helidon.common.Builder {
+ private static class Builder {
private final InterfaceModel interfaceModel;
private final Class> beanClass;
@@ -286,8 +286,12 @@ Builder processMatrixFields() {
return this;
}
- @Override
- public BeanClassModel build() {
+ /**
+ * Creates new BeanClassModel instance.
+ *
+ * @return new instance
+ */
+ BeanClassModel build() {
return new BeanClassModel(this);
}
}
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/InterfaceModel.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/InterfaceModel.java
index 225d010255..5a0c615e91 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/InterfaceModel.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/InterfaceModel.java
@@ -220,7 +220,7 @@ Object resolveParamValue(Object arg, Type type, Annotation[] annotations) {
return arg;
}
- private static class Builder implements io.helidon.common.Builder {
+ private static class Builder {
private final Class> restClientClass;
@@ -321,8 +321,12 @@ Builder clientHeadersFactory(RegisterClientHeaders registerClientHeaders) {
return this;
}
- @Override
- public InterfaceModel build() {
+ /**
+ * Creates new InterfaceModel instance.
+ *
+ * @return new instance
+ */
+ InterfaceModel build() {
validateHeaderDuplicityNames();
return new InterfaceModel(this);
}
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/MethodModel.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/MethodModel.java
index 0a8da5feb7..cb9793496e 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/MethodModel.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/MethodModel.java
@@ -27,6 +27,7 @@
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -66,8 +67,6 @@
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
-import io.helidon.common.CollectionsHelper;
-
import org.eclipse.microprofile.rest.client.RestClientDefinitionException;
import org.eclipse.microprofile.rest.client.annotation.ClientHeaderParam;
import org.eclipse.microprofile.rest.client.ext.ResponseExceptionMapper;
@@ -407,7 +406,7 @@ private static List createList(Object value) {
return Arrays.asList(array);
}
String s = (String) value;
- return CollectionsHelper.listOf(s);
+ return Collections.singletonList(s);
}
/**
@@ -468,7 +467,7 @@ private static List parameterModels(InterfaceModel classModel, Metho
return parameterModels;
}
- private static class Builder implements io.helidon.common.Builder {
+ private static class Builder {
private final InterfaceModel interfaceModel;
private final Method method;
@@ -609,11 +608,14 @@ Builder clientHeaders(ClientHeaderParam[] clientHeaderParams) {
return this;
}
- @Override
- public MethodModel build() {
+ /**
+ * Creates new MethodModel instance.
+ *
+ * @return new instance
+ */
+ MethodModel build() {
validateParameters();
validateHeaderDuplicityNames();
- //TODO uklidit
Optional entity = parameterModels.stream()
.filter(ParamModel::isEntity)
.findFirst();
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/ParamModel.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/ParamModel.java
index cb0b589d6a..23b34a095f 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/ParamModel.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/ParamModel.java
@@ -120,7 +120,7 @@ boolean isEntity() {
*/
abstract boolean handles(Class annotation);
- protected static class Builder implements io.helidon.common.Builder {
+ protected static class Builder {
private InterfaceModel interfaceModel;
private Type type;
@@ -263,8 +263,12 @@ String formParamName() {
return matrixParamName;
}
- @Override
- public ParamModel build() {
+ /**
+ * Creates new ParamModel instance.
+ *
+ * @return new instance
+ */
+ ParamModel build() {
if (pathParamName != null) {
return new PathParamModel(this);
} else if (headerParamName != null) {
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientBuilderImpl.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientBuilderImpl.java
index d1017aff20..877a20cf23 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientBuilderImpl.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientBuilderImpl.java
@@ -50,6 +50,7 @@
import org.eclipse.microprofile.rest.client.ext.ResponseExceptionMapper;
import org.eclipse.microprofile.rest.client.spi.RestClientListener;
import org.glassfish.jersey.client.JerseyClientBuilder;
+import org.glassfish.jersey.server.model.Resource;
/**
* Rest client builder implementation. Creates proxy instance of requested interface.
@@ -158,6 +159,9 @@ public T build(Class interfaceClass) throws IllegalStateException, RestCl
responseExceptionMappers,
paramConverterProviders,
asyncInterceptorFactories);
+
+ Resource resource = Resource.from(interfaceClass);
+
//AsyncInterceptors initialization
List asyncInterceptors = asyncInterceptorFactories.stream()
.map(AsyncInvocationInterceptorFactory::newInterceptor)
@@ -249,7 +253,7 @@ public RestClientBuilder register(Class> aClass, Map, Integer> map) {
if (isSupportedCustomProvider(aClass)) {
register(ReflectionUtil.createInstance(aClass), map);
} else {
- jerseyClientBuilder.register(aClass, new HashMap<>(map));
+ jerseyClientBuilder.register(aClass, map);
}
return this;
}
@@ -294,7 +298,7 @@ public RestClientBuilder register(Object o, Map, Integer> map) {
registerCustomProvider(o, map.get(ParamConverterProvider.class));
}
}
- jerseyClientBuilder.register(o, new HashMap<>(map));
+ jerseyClientBuilder.register(o, map);
return this;
}
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientModel.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientModel.java
index a5a44236c2..ff24d5e76b 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientModel.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientModel.java
@@ -57,7 +57,7 @@ static RestClientModel from(Class> restClientClass,
paramConverterProviders,
interceptorFactories);
return new Builder()
- .classModel(interfaceModel)
+ .interfaceModel(interfaceModel)
.methodModels(parseMethodModels(interfaceModel))
.build();
}
@@ -94,7 +94,7 @@ private static Map parseMethodModels(InterfaceModel classMo
return methodMap;
}
- private static class Builder implements io.helidon.common.Builder {
+ private static class Builder {
private InterfaceModel classModel;
private Map methodModels;
@@ -108,7 +108,7 @@ private Builder() {
* @param classModel {@link InterfaceModel} instance
* @return Updated Builder instance
*/
- Builder classModel(InterfaceModel classModel) {
+ Builder interfaceModel(InterfaceModel classModel) {
this.classModel = classModel;
return this;
}
@@ -124,7 +124,11 @@ Builder methodModels(Map methodModels) {
return this;
}
- @Override
+ /**
+ * Creates new RestClientModel instance.
+ *
+ * @return new instance
+ */
public RestClientModel build() {
return new RestClientModel(this);
}
diff --git a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientProducer.java b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientProducer.java
index 0fc70ae545..54e1ddc9ff 100644
--- a/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientProducer.java
+++ b/ext/mp-rest-client/src/main/java/org/glassfish/jersey/restclient/RestClientProducer.java
@@ -21,7 +21,10 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -35,9 +38,6 @@
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.PassivationCapable;
-import io.helidon.common.CollectionsHelper;
-import io.helidon.common.OptionalHelper;
-
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
import org.eclipse.microprofile.rest.client.RestClientBuilder;
@@ -70,9 +70,9 @@ class RestClientProducer implements Bean