Added the possibility to specify Hierarchical Mode
This commit is contained in:
parent
c8109aba4c
commit
7dc12a9d3c
|
@ -25,6 +25,16 @@ public class ResourceRegistryClientFactory {
|
|||
|
||||
protected static Map<String, ResourceRegistryClient> clients;
|
||||
|
||||
protected static boolean hierarchicalMode;
|
||||
|
||||
public static boolean isHierarchicalMode() {
|
||||
return ResourceRegistryClientFactory.hierarchicalMode;
|
||||
}
|
||||
|
||||
public static void setHierarchicalMode(boolean hierarchicalMode) {
|
||||
ResourceRegistryClientFactory.hierarchicalMode = hierarchicalMode;
|
||||
}
|
||||
|
||||
static {
|
||||
clients = new HashMap<>();
|
||||
}
|
||||
|
@ -33,8 +43,11 @@ public class ResourceRegistryClientFactory {
|
|||
|
||||
protected static void forceToURL(String url){
|
||||
FORCED_URL = url;
|
||||
hierarchicalMode = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static String classFormat = "$resource/Profile/ServiceClass/text() eq '%1s'";
|
||||
private static String nameFormat = "$resource/Profile/ServiceName/text() eq '%1s'";
|
||||
private static String statusFormat = "$resource/Profile/DeploymentData/Status/text() eq 'ready'";
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.gcube.informationsystem.resourceregistry.client;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
@ -45,6 +46,20 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
this.address = address;
|
||||
}
|
||||
|
||||
private void checkHierarchicalMode(GXHTTPStringRequest gxHTTPStringRequest) throws UnsupportedEncodingException{
|
||||
checkHierarchicalMode(gxHTTPStringRequest, null);
|
||||
}
|
||||
|
||||
private void 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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Context getCurrentContext() throws ContextNotFoundException, ResourceRegistryException {
|
||||
try {
|
||||
|
@ -187,6 +202,8 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
gxHTTPStringRequest.path(type);
|
||||
gxHTTPStringRequest.path(uuid.toString());
|
||||
|
||||
checkHierarchicalMode(gxHTTPStringRequest);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.head();
|
||||
HTTPUtility.getResponse(String.class, httpURLConnection);
|
||||
|
||||
|
@ -227,6 +244,8 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
gxHTTPStringRequest.path(type);
|
||||
gxHTTPStringRequest.path(uuid.toString());
|
||||
|
||||
checkHierarchicalMode(gxHTTPStringRequest);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
String ret = HTTPUtility.getResponse(String.class, httpURLConnection);
|
||||
|
||||
|
@ -267,7 +286,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
|
||||
Map<String,String> parameters = new HashMap<>();
|
||||
parameters.put(AccessPath.POLYMORPHIC_PARAM, polymorphic.toString());
|
||||
gxHTTPStringRequest.queryParams(parameters);
|
||||
checkHierarchicalMode(gxHTTPStringRequest, parameters);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
||||
|
@ -314,7 +333,8 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
parameters.put(AccessPath.FETCH_PLAN_PARAM, fetchPlan);
|
||||
}
|
||||
|
||||
gxHTTPStringRequest.queryParams(parameters);
|
||||
checkHierarchicalMode(gxHTTPStringRequest, parameters);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
||||
String ret = HTTPUtility.getResponse(String.class, httpURLConnection);
|
||||
|
@ -363,7 +383,8 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
|||
parameters.put(AccessPath.REFERENCE_PARAM, referenceEntity.toString());
|
||||
}
|
||||
|
||||
gxHTTPStringRequest.queryParams(parameters);
|
||||
checkHierarchicalMode(gxHTTPStringRequest, parameters);
|
||||
|
||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||
|
||||
String json = HTTPUtility.getResponse(String.class, httpURLConnection);
|
||||
|
|
Loading…
Reference in New Issue