Added support to request contexts uuids in instances header #20012
This commit is contained in:
parent
3aff1841fb
commit
d822121adf
|
@ -24,14 +24,33 @@ public class ResourceRegistryClientFactory {
|
|||
|
||||
protected static boolean HIERARCHICAL_MODE;
|
||||
|
||||
public static boolean isHierarchicalMode() {
|
||||
protected static boolean isHierarchicalMode() {
|
||||
return ResourceRegistryClientFactory.HIERARCHICAL_MODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* The affected methods are {@link ResourceRegistryClient} instances safe methods i.e. read* and exists*
|
||||
* @param hierarchicalMode
|
||||
*/
|
||||
public static void setHierarchicalMode(boolean hierarchicalMode) {
|
||||
ResourceRegistryClientFactory.HIERARCHICAL_MODE = hierarchicalMode;
|
||||
}
|
||||
|
||||
protected static boolean INCLUDE_CONTEXTS_IN_INSTANCES_HEADER;
|
||||
|
||||
protected static boolean includeContextsInInstanceHeader() {
|
||||
return ResourceRegistryClientFactory.INCLUDE_CONTEXTS_IN_INSTANCES_HEADER;
|
||||
}
|
||||
|
||||
/**
|
||||
* The affected methods are {@link ResourceRegistryClient} instances safe methods i.e. read* and exists*
|
||||
* @param hierarchicalMode
|
||||
*/
|
||||
public static void includeContextsInInstanceHeader(boolean includeContextsInInstancesHeader) {
|
||||
ResourceRegistryClientFactory.INCLUDE_CONTEXTS_IN_INSTANCES_HEADER = includeContextsInInstancesHeader;
|
||||
}
|
||||
|
||||
|
||||
protected static List<String> addresses;
|
||||
|
||||
static {
|
||||
|
|
|
@ -44,20 +44,36 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
|
||||
protected final String address;
|
||||
|
||||
private void checkHierarchicalMode(GXHTTPStringRequest gxHTTPStringRequest) throws UnsupportedEncodingException{
|
||||
checkHierarchicalMode(gxHTTPStringRequest, null);
|
||||
private GXHTTPStringRequest includeAdditionalQueryParameters(GXHTTPStringRequest gxHTTPStringRequest) throws UnsupportedEncodingException{
|
||||
return includeAdditionalQueryParameters(gxHTTPStringRequest, null);
|
||||
}
|
||||
|
||||
private void checkHierarchicalMode(GXHTTPStringRequest gxHTTPStringRequest, Map<String,String> queryParams) throws UnsupportedEncodingException{
|
||||
private GXHTTPStringRequest includeAdditionalQueryParameters(GXHTTPStringRequest gxHTTPStringRequest, Map<String,String> queryParams) throws UnsupportedEncodingException{
|
||||
gxHTTPStringRequest = checkHierarchicalMode(gxHTTPStringRequest, queryParams);
|
||||
return checkIncludeContextsInInstanceHeader(gxHTTPStringRequest, queryParams);
|
||||
}
|
||||
|
||||
private GXHTTPStringRequest checkHierarchicalMode(GXHTTPStringRequest gxHTTPStringRequest, Map<String,String> queryParams) throws UnsupportedEncodingException{
|
||||
if(ResourceRegistryClientFactory.isHierarchicalMode()) {
|
||||
if(queryParams==null) {
|
||||
queryParams = new HashMap<>();
|
||||
}
|
||||
queryParams.put(AccessPath.HIERARCHICAL_MODE_PARAM, Boolean.toString(true));
|
||||
}
|
||||
gxHTTPStringRequest.queryParams(queryParams);
|
||||
return gxHTTPStringRequest.queryParams(queryParams);
|
||||
}
|
||||
|
||||
private GXHTTPStringRequest checkIncludeContextsInInstanceHeader(GXHTTPStringRequest gxHTTPStringRequest, Map<String,String> queryParams) throws UnsupportedEncodingException{
|
||||
if(ResourceRegistryClientFactory.includeContextsInInstanceHeader()) {
|
||||
if(queryParams==null) {
|
||||
queryParams = new HashMap<>();
|
||||
}
|
||||
queryParams.put(AccessPath.INCLUDE_CONTEXTS_IN_HEADER_PARAM, Boolean.toString(true));
|
||||
}
|
||||
return gxHTTPStringRequest.queryParams(queryParams);
|
||||
}
|
||||
|
||||
|
||||
protected ContextCacheRenewal contextCacheRenewal = new ContextCacheRenewal() {
|
||||
|
||||
@Override
|
||||
|
@ -218,7 +234,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
gxHTTPStringRequest.path(type);
|
||||
gxHTTPStringRequest.path(uuid.toString());
|
||||
|
||||
checkHierarchicalMode(gxHTTPStringRequest);
|
||||
includeAdditionalQueryParameters(gxHTTPStringRequest);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.head();
|
||||
HTTPUtility.getResponse(String.class, httpURLConnection);
|
||||
|
@ -260,7 +276,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
gxHTTPStringRequest.path(type);
|
||||
gxHTTPStringRequest.path(uuid.toString());
|
||||
|
||||
checkHierarchicalMode(gxHTTPStringRequest);
|
||||
includeAdditionalQueryParameters(gxHTTPStringRequest);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
String ret = HTTPUtility.getResponse(String.class, httpURLConnection);
|
||||
|
@ -302,7 +318,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
|
||||
Map<String,String> parameters = new HashMap<>();
|
||||
parameters.put(AccessPath.POLYMORPHIC_PARAM, polymorphic.toString());
|
||||
checkHierarchicalMode(gxHTTPStringRequest, parameters);
|
||||
includeAdditionalQueryParameters(gxHTTPStringRequest, parameters);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
||||
|
@ -349,7 +365,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
parameters.put(AccessPath.FETCH_PLAN_PARAM, fetchPlan);
|
||||
}
|
||||
|
||||
checkHierarchicalMode(gxHTTPStringRequest, parameters);
|
||||
includeAdditionalQueryParameters(gxHTTPStringRequest, parameters);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
||||
|
@ -399,7 +415,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
parameters.put(AccessPath.REFERENCE_PARAM, referenceEntity.toString());
|
||||
}
|
||||
|
||||
checkHierarchicalMode(gxHTTPStringRequest, parameters);
|
||||
includeAdditionalQueryParameters(gxHTTPStringRequest, parameters);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
||||
|
|
Loading…
Reference in New Issue