Generalised runQueryTempalte function

This commit is contained in:
luca.frosini 2023-11-29 16:17:01 +01:00
parent 7d4bb7d70f
commit c171876186
2 changed files with 24 additions and 11 deletions

View File

@ -139,19 +139,19 @@ public interface ResourceRegistryClient extends RequestInfo {
public String runQueryTemplateGetString(String name)
throws QueryTemplateNotFoundException, ResourceRegistryException;
public <E extends Entity> List<E> runQueryTemplate(String name)
public String runQueryTemplate(String name)
throws QueryTemplateNotFoundException, ResourceRegistryException;
public <E extends Entity> List<E> runQueryTemplate(QueryTemplate queryTemplate)
public String runQueryTemplate(QueryTemplate queryTemplate)
throws QueryTemplateNotFoundException, ResourceRegistryException;
public String runQueryTemplate(String name, String params)
throws QueryTemplateNotFoundException, ResourceRegistryException;
public <E extends Entity> List<E> runQueryTemplate(String name, JsonNode jsonNode)
public String runQueryTemplate(String name, JsonNode jsonNode)
throws QueryTemplateNotFoundException, ResourceRegistryException;
public <E extends Entity> List<E> runQueryTemplate(QueryTemplate queryTemplate, JsonNode jsonNode)
public String runQueryTemplate(QueryTemplate queryTemplate, JsonNode jsonNode)
throws QueryTemplateNotFoundException, ResourceRegistryException;
/* ---------------------------------------------------------------------- */

View File

@ -1106,22 +1106,35 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
return runQueryTemplate(name, "");
}
// @Override
// public <E extends Entity> List<E> runQueryTemplate(String name)
// throws QueryTemplateNotFoundException, ResourceRegistryException {
// try {
// String ret = runQueryTemplateGetString(name);
// JavaType type = ElementMapper.getObjectMapper().getTypeFactory().constructCollectionType(ArrayList.class, Entity.class);
// return ElementMapper.getObjectMapper().readValue(ret, type);
// } catch(ResourceRegistryException e) {
// throw e;
// } catch(Exception e) {
// throw new RuntimeException(e);
// }
// }
@Override
public <E extends Entity> List<E> runQueryTemplate(String name)
public String runQueryTemplate(String name)
throws QueryTemplateNotFoundException, ResourceRegistryException {
try {
String ret = runQueryTemplateGetString(name);
JavaType type = ElementMapper.getObjectMapper().getTypeFactory().constructCollectionType(ArrayList.class, Entity.class);
return ElementMapper.getObjectMapper().readValue(ret, type);
return ret;
} catch(ResourceRegistryException e) {
throw e;
} catch(Exception e) {
throw new RuntimeException(e);
}
}
@Override
public <E extends Entity> List<E> runQueryTemplate(QueryTemplate queryTemplate)
public String runQueryTemplate(QueryTemplate queryTemplate)
throws QueryTemplateNotFoundException, ResourceRegistryException {
return runQueryTemplate(queryTemplate.getName());
}
@ -1159,7 +1172,7 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
}
@Override
public <E extends Entity> List<E> runQueryTemplate(String name, JsonNode jsonNode)
public String runQueryTemplate(String name, JsonNode jsonNode)
throws QueryTemplateNotFoundException, ResourceRegistryException {
try {
ObjectMapper objectMapper = new ObjectMapper();
@ -1174,7 +1187,7 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
}
@Override
public <E extends Entity> List<E> runQueryTemplate(QueryTemplate queryTemplate, JsonNode jsonNode)
public String runQueryTemplate(QueryTemplate queryTemplate, JsonNode jsonNode)
throws QueryTemplateNotFoundException, ResourceRegistryException {
return runQueryTemplate(queryTemplate.getName(), jsonNode);
}