Added the possibility for a client to add additional HTTP headers
This commit is contained in:
parent
e7fa9ab604
commit
b0c8db59ee
|
@ -2,7 +2,9 @@ package org.gcube.informationsystem.resourceregistry.queries.templates;
|
||||||
|
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.com.fasterxml.jackson.databind.JavaType;
|
import org.gcube.com.fasterxml.jackson.databind.JavaType;
|
||||||
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
@ -29,19 +31,37 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ResourceRegistryQueryTemplateClientImpl.class);
|
private static final Logger logger = LoggerFactory.getLogger(ResourceRegistryQueryTemplateClientImpl.class);
|
||||||
|
|
||||||
|
private static final String ACCEPT_HTTP_HEADER_KEY = "Accept";
|
||||||
|
private static final String CONTENT_TYPE_HTTP_HEADER_KEY = "Content-Type";
|
||||||
|
|
||||||
protected final String address;
|
protected final String address;
|
||||||
|
|
||||||
|
protected Map<String, String> headers;
|
||||||
|
|
||||||
|
public void addHeader(String name, String value) {
|
||||||
|
headers.put(name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected GXHTTPStringRequest getGXHTTPStringRequest() {
|
||||||
|
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
||||||
|
gxHTTPStringRequest.from(this.getClass().getSimpleName());
|
||||||
|
for(String name : headers.keySet()) {
|
||||||
|
gxHTTPStringRequest.header(name, headers.get(name));
|
||||||
|
}
|
||||||
|
return gxHTTPStringRequest;
|
||||||
|
}
|
||||||
|
|
||||||
public ResourceRegistryQueryTemplateClientImpl(String address) {
|
public ResourceRegistryQueryTemplateClientImpl(String address) {
|
||||||
this.address = address;
|
this.address = address;
|
||||||
|
this.headers = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QueryTemplate> all() throws ResourceRegistryException {
|
public List<QueryTemplate> all() throws ResourceRegistryException {
|
||||||
try {
|
try {
|
||||||
logger.trace("Going to list {}s", QueryTemplate.NAME);
|
logger.trace("Going to list {}s", QueryTemplate.NAME);
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
|
|
||||||
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
|
||||||
|
@ -80,10 +100,9 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
logger.trace("Going to create: {}", queryTemplate);
|
logger.trace("Going to create: {}", queryTemplate);
|
||||||
QueryTemplate qt = ElementMapper.unmarshal(QueryTemplate.class, queryTemplate);
|
QueryTemplate qt = ElementMapper.unmarshal(QueryTemplate.class, queryTemplate);
|
||||||
|
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
gxHTTPStringRequest.header(CONTENT_TYPE_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Content-type", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
gxHTTPStringRequest.path(qt.getName());
|
gxHTTPStringRequest.path(qt.getName());
|
||||||
|
|
||||||
|
@ -104,9 +123,8 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
public boolean exist(String queryTemplateName) throws ResourceRegistryException {
|
public boolean exist(String queryTemplateName) throws ResourceRegistryException {
|
||||||
try {
|
try {
|
||||||
logger.trace("Going to read {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
logger.trace("Going to read {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
gxHTTPStringRequest.path(queryTemplateName);
|
gxHTTPStringRequest.path(queryTemplateName);
|
||||||
|
|
||||||
|
@ -148,9 +166,8 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
public String readAsString(String queryTemplateName) throws QueryTemplateNotFoundException, ResourceRegistryException {
|
public String readAsString(String queryTemplateName) throws QueryTemplateNotFoundException, ResourceRegistryException {
|
||||||
try {
|
try {
|
||||||
logger.trace("Going to read {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
logger.trace("Going to read {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
gxHTTPStringRequest.path(queryTemplateName);
|
gxHTTPStringRequest.path(queryTemplateName);
|
||||||
|
|
||||||
|
@ -185,10 +202,9 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
logger.trace("Going to update: {}", queryTemplate);
|
logger.trace("Going to update: {}", queryTemplate);
|
||||||
QueryTemplate qt = ElementMapper.unmarshal(QueryTemplate.class, queryTemplate);
|
QueryTemplate qt = ElementMapper.unmarshal(QueryTemplate.class, queryTemplate);
|
||||||
|
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
gxHTTPStringRequest.header(CONTENT_TYPE_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Content-type", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
gxHTTPStringRequest.path(qt.getName());
|
gxHTTPStringRequest.path(qt.getName());
|
||||||
|
|
||||||
|
@ -238,10 +254,9 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
logger.trace("Going to run {} with the following parameters {}", QueryTemplate.NAME, params);
|
logger.trace("Going to run {} with the following parameters {}", QueryTemplate.NAME, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
gxHTTPStringRequest.header(CONTENT_TYPE_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Content-type", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
gxHTTPStringRequest.path(name);
|
gxHTTPStringRequest.path(name);
|
||||||
|
|
||||||
|
@ -285,9 +300,8 @@ public class ResourceRegistryQueryTemplateClientImpl implements ResourceRegistry
|
||||||
public boolean delete(String queryTemplateName) throws QueryTemplateNotFoundException, ResourceRegistryException {
|
public boolean delete(String queryTemplateName) throws QueryTemplateNotFoundException, ResourceRegistryException {
|
||||||
try {
|
try {
|
||||||
logger.trace("Going to delete {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
logger.trace("Going to delete {} with name {}", QueryTemplate.NAME, queryTemplateName);
|
||||||
GXHTTPStringRequest gxHTTPStringRequest = GXHTTPUtility.getGXHTTPStringRequest(address);
|
GXHTTPStringRequest gxHTTPStringRequest = getGXHTTPStringRequest();
|
||||||
gxHTTPStringRequest.from(ResourceRegistryQueryTemplateClient.class.getSimpleName());
|
gxHTTPStringRequest.header(ACCEPT_HTTP_HEADER_KEY, GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
||||||
gxHTTPStringRequest.header("Accept", GXConnection.APPLICATION_JSON_CHARSET_UTF_8);
|
|
||||||
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
gxHTTPStringRequest.path(QueryTemplatePath.QUERY_TEMPLATES_PATH_PART);
|
||||||
gxHTTPStringRequest.path(queryTemplateName);
|
gxHTTPStringRequest.path(queryTemplateName);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue