diff options
author | André Wegmüller | 2019-06-21 09:46:05 +0000 |
---|---|---|
committer | André Wegmüller | 2019-06-21 09:46:05 +0000 |
commit | 9d3b51e34d7ead985b83bb421330054ddd08fb5d (patch) | |
tree | dd808043a7ae0377df1a885b74168e3f12b27b7b /org.eclipse.scout.rt.rest | |
parent | f653054385d332dc7bff48f5753a2e53f5e1b86e (diff) | |
download | org.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')
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 { |