Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Wegmüller2019-06-21 09:46:05 +0000
committerAndré Wegmüller2019-06-21 09:46:05 +0000
commit9d3b51e34d7ead985b83bb421330054ddd08fb5d (patch)
treedd808043a7ae0377df1a885b74168e3f12b27b7b /org.eclipse.scout.rt.rest
parentf653054385d332dc7bff48f5753a2e53f5e1b86e (diff)
downloadorg.eclipse.scout.rt-9d3b51e34d7ead985b83bb421330054ddd08fb5d.tar.gz
org.eclipse.scout.rt-9d3b51e34d7ead985b83bb421330054ddd08fb5d.tar.xz
org.eclipse.scout.rt-9d3b51e34d7ead985b83bb421330054ddd08fb5d.zip
Refactored getRequestFiltersToRegister() method
Changed return type from IGlobalRestRequestFilter to ClientRequestFilter. Otherwise it is not possible to use the method to register filters that should not be global. Refactored existing code to use getRequestFiltersToRegister() instead of overriding registerRequestFilters (which was the workaround for the issue above). Also renamed getClientConfiguratorsToRegister because it does not register anything, but calls the configure method immediately.
Diffstat (limited to 'org.eclipse.scout.rt.rest')
-rw-r--r--org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/AbstractRestClientHelper.java10
-rw-r--r--org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/IGlobalRestRequestFilter.java5
2 files changed, 9 insertions, 6 deletions
diff --git a/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/AbstractRestClientHelper.java b/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/AbstractRestClientHelper.java
index cafda0e5fc..bb302ea0ba 100644
--- a/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/AbstractRestClientHelper.java
+++ b/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/AbstractRestClientHelper.java
@@ -20,6 +20,7 @@ import java.util.function.Supplier;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.ClientRequestFilter;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Configuration;
@@ -90,7 +91,6 @@ public abstract class AbstractRestClientHelper implements IRestClientHelper {
protected void initClientBuilder(ClientBuilder clientBuilder) {
registerContextResolvers(clientBuilder);
registerRequestFilters(clientBuilder);
-
configureClientBuilder(clientBuilder);
}
@@ -102,13 +102,13 @@ public abstract class AbstractRestClientHelper implements IRestClientHelper {
}
protected void registerRequestFilters(ClientBuilder clientBuilder) {
- for (IGlobalRestRequestFilter filter : getRequestFiltersToRegister()) {
+ for (ClientRequestFilter filter : getRequestFiltersToRegister()) {
clientBuilder.register(filter);
}
}
protected void configureClientBuilder(ClientBuilder clientBuilder) {
- for (IGlobalRestClientConfigurator configurator : getClientConfiguratorsToRegister()) {
+ for (IGlobalRestClientConfigurator configurator : getClientConfigurators()) {
configurator.configure(clientBuilder);
}
}
@@ -125,7 +125,7 @@ public abstract class AbstractRestClientHelper implements IRestClientHelper {
* @return list of request filters for this REST client helper. Result is modifiable and never <code>null</code>. Can
* be overridden by subclasses. The default returns all {@link IGlobalRestRequestFilter} beans.
*/
- protected List<IGlobalRestRequestFilter> getRequestFiltersToRegister() {
+ protected List<ClientRequestFilter> getRequestFiltersToRegister() {
return new ArrayList<>(BEANS.all(IGlobalRestRequestFilter.class));
}
@@ -133,7 +133,7 @@ public abstract class AbstractRestClientHelper implements IRestClientHelper {
* @return list of client configurators for this REST client helper. Result is modifiable and never <code>null</code>.
* Can be overridden by subclasses. The default returns all {@link IGlobalRestClientConfigurator} beans.
*/
- protected List<IGlobalRestClientConfigurator> getClientConfiguratorsToRegister() {
+ protected List<IGlobalRestClientConfigurator> getClientConfigurators() {
return new ArrayList<>(BEANS.all(IGlobalRestClientConfigurator.class));
}
diff --git a/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/IGlobalRestRequestFilter.java b/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/IGlobalRestRequestFilter.java
index f9bcd1b60b..ac4938e314 100644
--- a/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/IGlobalRestRequestFilter.java
+++ b/org.eclipse.scout.rt.rest/src/main/java/org/eclipse/scout/rt/rest/client/IGlobalRestRequestFilter.java
@@ -15,7 +15,10 @@ import javax.ws.rs.client.ClientRequestFilter;
import org.eclipse.scout.rt.platform.Bean;
/**
- * Global REST client request filter added to all APIs and invoked for every REST call.
+ * Global REST client request filter added to all APIs and invoked for <strong>every</strong> REST call.
+ * <p>
+ * When you implement a REST client helper for a specific purpose you should not implement this interface but use
+ * <code>ClientRequestFilter</code> instead.
*/
@Bean
public interface IGlobalRestRequestFilter extends ClientRequestFilter {

Back to the top