Fixed API interface

This commit is contained in:
Luca Frosini 2024-01-24 16:10:42 +01:00
parent c171876186
commit 8bccea574f
3 changed files with 39 additions and 25 deletions

View File

@ -9,6 +9,7 @@ import org.gcube.informationsystem.base.reference.Direction;
import org.gcube.informationsystem.contexts.reference.entities.Context;
import org.gcube.informationsystem.model.knowledge.ModelKnowledge;
import org.gcube.informationsystem.model.reference.ERElement;
import org.gcube.informationsystem.model.reference.ModelElement;
import org.gcube.informationsystem.model.reference.entities.Entity;
import org.gcube.informationsystem.model.reference.entities.Facet;
import org.gcube.informationsystem.model.reference.entities.Resource;
@ -72,24 +73,24 @@ public interface ResourceRegistryClient extends RequestInfo {
public boolean existType(String typeName) throws ResourceRegistryException;
public <ERElem extends ERElement> boolean existType(Class<ERElem> clazz) throws ResourceRegistryException;
public <ME extends ModelElement> boolean existType(Class<ME> clazz) throws ResourceRegistryException;
public String getType(String typeName, Boolean polymorphic)
throws SchemaNotFoundException, ResourceRegistryException;
public <ERElem extends ERElement> List<Type> getType(Class<ERElem> clazz, Boolean polymorphic)
throws SchemaNotFoundException, ResourceRegistryException;
public String getType(String typeName, int level)
throws SchemaNotFoundException, ResourceRegistryException;
public <ERElem extends ERElement> List<Type> getType(Class<ERElem> clazz, int level)
public <ME extends ModelElement> List<Type> getType(Class<ME> clazz, Boolean polymorphic)
throws SchemaNotFoundException, ResourceRegistryException;
public <ERElem extends ERElement> Node<Type> getTypeTreeNode(String typeName)
public <ME extends ModelElement> List<Type> getType(Class<ME> clazz, int level)
throws SchemaNotFoundException, ResourceRegistryException;
public <ERElem extends ERElement> Node<Type> getTypeTreeNode(Class<ERElem> clazz)
public <ME extends ModelElement> Node<Type> getTypeTreeNode(Class<ME> clazz)
throws SchemaNotFoundException, ResourceRegistryException;
public Node<Type> getTypeTreeNode(String typeName)
throws SchemaNotFoundException, ResourceRegistryException;
/* ---------------------------------------------------------------------- */

View File

@ -19,6 +19,7 @@ import org.gcube.informationsystem.base.reference.Direction;
import org.gcube.informationsystem.contexts.reference.entities.Context;
import org.gcube.informationsystem.model.knowledge.ModelKnowledge;
import org.gcube.informationsystem.model.reference.ERElement;
import org.gcube.informationsystem.model.reference.ModelElement;
import org.gcube.informationsystem.model.reference.entities.Entity;
import org.gcube.informationsystem.model.reference.entities.Facet;
import org.gcube.informationsystem.model.reference.entities.Resource;
@ -362,7 +363,7 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
}
@Override
public <ERElem extends ERElement> boolean existType(Class<ERElem> clazz) throws ResourceRegistryException {
public <ME extends ModelElement> boolean existType(Class<ME> clazz) throws ResourceRegistryException {
return existType(TypeUtility.getTypeName(clazz));
}
@ -460,18 +461,6 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
}
}
@Override
public <ERElem extends ERElement> List<Type> getType(Class<ERElem> clazz, Boolean polymorphic)
throws SchemaNotFoundException, ResourceRegistryException {
try {
String typeName = TypeUtility.getTypeName(clazz);
return getTypeFromTypesKnowledge(typeName, polymorphic);
} catch (Exception e) {
throw new ResourceRegistryException(e);
}
}
@Override
public String getType(String typeName, int level) throws SchemaNotFoundException, ResourceRegistryException {
try {
@ -483,9 +472,20 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
throw new ResourceRegistryException(e);
}
}
@Override
public <ME extends ModelElement> List<Type> getType(Class<ME> clazz, Boolean polymorphic)
throws SchemaNotFoundException, ResourceRegistryException {
try {
String typeName = TypeUtility.getTypeName(clazz);
return getTypeFromTypesKnowledge(typeName, polymorphic);
} catch (Exception e) {
throw new ResourceRegistryException(e);
}
}
@Override
public <ERElem extends ERElement> List<Type> getType(Class<ERElem> clazz, int level)
public <ME extends ModelElement> List<Type> getType(Class<ME> clazz, int level)
throws SchemaNotFoundException, ResourceRegistryException {
try {
String typeName = TypeUtility.getTypeName(clazz);
@ -513,7 +513,7 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
}
@Override
public <ERElem extends ERElement> Node<Type> getTypeTreeNode(Class<ERElem> clazz)
public <ME extends ModelElement> Node<Type> getTypeTreeNode(Class<ME> clazz)
throws SchemaNotFoundException, ResourceRegistryException {
try {
String typeName = TypeUtility.getTypeName(clazz);
@ -523,7 +523,7 @@ public class ResourceRegistryClientImpl extends BaseRequestInfo implements Resou
}
}
public <ERElem extends ERElement> List<Type> getTypeFromServer(Class<ERElem> clazz, Boolean polymorphic)
public <ME extends ModelElement> List<Type> getTypeFromServer(Class<ME> clazz, Boolean polymorphic)
throws SchemaNotFoundException, ResourceRegistryException {
try {
String json = getTypeFromServer(TypeUtility.getTypeName(clazz), polymorphic);

View File

@ -16,7 +16,7 @@ import org.gcube.informationsystem.contexts.reference.entities.Context;
import org.gcube.informationsystem.contexts.reference.relations.IsParentOf;
import org.gcube.informationsystem.model.impl.properties.MetadataImpl;
import org.gcube.informationsystem.model.knowledge.ModelKnowledge;
import org.gcube.informationsystem.model.reference.ERElement;
import org.gcube.informationsystem.model.reference.ModelElement;
import org.gcube.informationsystem.model.reference.entities.Resource;
import org.gcube.informationsystem.model.reference.properties.Metadata;
import org.gcube.informationsystem.model.reference.relations.IsRelatedTo;
@ -76,7 +76,7 @@ public class ResourceRegistryClientTest extends ContextTest {
return list;
}
protected <ERElem extends ERElement> void getTypesFromKnowledge(Class<ERElem> clazz) throws SchemaNotFoundException, ResourceRegistryException {
protected <ME extends ModelElement> void getTypesFromKnowledge(Class<ME> clazz) throws SchemaNotFoundException, ResourceRegistryException {
List<Type> types = resourceRegistryClient.getType(clazz, true);
logger.trace("List size {}\n{}", types.size(), getTypeNames(types));
}
@ -299,4 +299,17 @@ public class ResourceRegistryClientTest extends ContextTest {
Assert.assertTrue(contexts.get(0).getMetadata()==null);
}
@Test
public void testRunQueryTemplates() throws Exception {
String ret = resourceRegistryClient.runQueryTemplate("IS-Monitoring-All-HostingNode");
logger.trace(ret);
ret = resourceRegistryClient.runQueryTemplate("IS-Monitoring-All-EService");
logger.trace(ret);
ret = resourceRegistryClient.runQueryTemplate("IS-Monitoring-All-HostingNode", "{}");
logger.trace(ret);
ret = resourceRegistryClient.runQueryTemplate("IS-Monitoring-All-EService", "{}");
logger.trace(ret);
}
}