Fixing exception management
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/information-system/resource-registry-client@144251 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
d4f5dc2db5
commit
2bbeb736ea
|
@ -8,10 +8,8 @@ import org.gcube.informationsystem.model.ISManageable;
|
||||||
import org.gcube.informationsystem.model.entity.Entity;
|
import org.gcube.informationsystem.model.entity.Entity;
|
||||||
import org.gcube.informationsystem.model.entity.Resource;
|
import org.gcube.informationsystem.model.entity.Resource;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERException;
|
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERNotFoundException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERNotFoundException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaException;
|
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
||||||
import org.gcube.informationsystem.types.TypeBinder.TypeDefinition;
|
import org.gcube.informationsystem.types.TypeBinder.TypeDefinition;
|
||||||
|
|
||||||
|
@ -26,16 +24,16 @@ public interface ResourceRegistryClient {
|
||||||
|
|
||||||
public List<? extends Entity> getInstances(
|
public List<? extends Entity> getInstances(
|
||||||
String type, Boolean polymorphic) throws
|
String type, Boolean polymorphic) throws
|
||||||
ERException, SchemaException, ResourceRegistryException;
|
ResourceRegistryException;
|
||||||
|
|
||||||
public List<Resource> getInstancesFromEntity(
|
public List<Resource> getInstancesFromEntity(
|
||||||
String relationType, Boolean polymorphic,
|
String relationType, Boolean polymorphic,
|
||||||
UUID reference, Direction direction) throws
|
UUID reference, Direction direction) throws
|
||||||
ERException, SchemaException, ResourceRegistryException;
|
ResourceRegistryException;
|
||||||
|
|
||||||
public <ISM extends ISManageable> List<TypeDefinition> getSchema(
|
public <ISM extends ISManageable> List<TypeDefinition> getSchema(
|
||||||
Class<ISM> clazz, Boolean polymorphic)
|
Class<ISM> clazz, Boolean polymorphic)
|
||||||
throws SchemaNotFoundException;
|
throws SchemaNotFoundException, ResourceRegistryException;
|
||||||
|
|
||||||
public String query(final String query, final int limit,
|
public String query(final String query, final int limit,
|
||||||
final String fetchPlan) throws InvalidQueryException;
|
final String fetchPlan) throws InvalidQueryException;
|
||||||
|
|
|
@ -20,10 +20,8 @@ import org.gcube.informationsystem.model.ISManageable;
|
||||||
import org.gcube.informationsystem.model.entity.Entity;
|
import org.gcube.informationsystem.model.entity.Entity;
|
||||||
import org.gcube.informationsystem.model.entity.Resource;
|
import org.gcube.informationsystem.model.entity.Resource;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERException;
|
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERNotFoundException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.er.ERNotFoundException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaException;
|
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath;
|
import org.gcube.informationsystem.resourceregistry.api.rest.AccessPath;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.rest.httputils.HTTPCall;
|
import org.gcube.informationsystem.resourceregistry.api.rest.httputils.HTTPCall;
|
||||||
|
@ -85,8 +83,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<? extends Entity> getInstances(String type,
|
public List<? extends Entity> getInstances(String type,
|
||||||
Boolean polymorphic) throws ERNotFoundException,
|
Boolean polymorphic) throws ResourceRegistryException {
|
||||||
ResourceRegistryException {
|
|
||||||
try {
|
try {
|
||||||
logger.info("Going to get all instances of {} ", type);
|
logger.info("Going to get all instances of {} ", type);
|
||||||
StringWriter stringWriter = new StringWriter();
|
StringWriter stringWriter = new StringWriter();
|
||||||
|
@ -123,8 +120,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
||||||
@Override
|
@Override
|
||||||
public List<Resource> getInstancesFromEntity(
|
public List<Resource> getInstancesFromEntity(
|
||||||
String relationType, Boolean polymorphic, UUID reference,
|
String relationType, Boolean polymorphic, UUID reference,
|
||||||
Direction direction) throws ERException, SchemaException,
|
Direction direction) throws ResourceRegistryException {
|
||||||
ResourceRegistryException {
|
|
||||||
try {
|
try {
|
||||||
logger.info("Going to get all instances of {} from/to {}", relationType,
|
logger.info("Going to get all instances of {} from/to {}", relationType,
|
||||||
reference.toString());
|
reference.toString());
|
||||||
|
@ -165,7 +161,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
||||||
@Override
|
@Override
|
||||||
public <ISM extends ISManageable> List<TypeDefinition> getSchema(
|
public <ISM extends ISManageable> List<TypeDefinition> getSchema(
|
||||||
Class<ISM> clazz, Boolean polymorphic)
|
Class<ISM> clazz, Boolean polymorphic)
|
||||||
throws SchemaNotFoundException {
|
throws SchemaNotFoundException, ResourceRegistryException {
|
||||||
|
|
||||||
String type = clazz.getSimpleName();
|
String type = clazz.getSimpleName();
|
||||||
try {
|
try {
|
||||||
|
@ -191,7 +187,7 @@ public class ResourceRegistryClientImpl implements ResourceRegistryClient {
|
||||||
|
|
||||||
return TypeBinder.deserializeTypeDefinitions(schema);
|
return TypeBinder.deserializeTypeDefinitions(schema);
|
||||||
|
|
||||||
} catch (SchemaNotFoundException e) {
|
} catch (ResourceRegistryException e) {
|
||||||
logger.error("Error while getting {}schema for {}",
|
logger.error("Error while getting {}schema for {}",
|
||||||
polymorphic ? AccessPath.POLYMORPHIC_PARAM + " " : "",
|
polymorphic ? AccessPath.POLYMORPHIC_PARAM + " " : "",
|
||||||
type, e);
|
type, e);
|
||||||
|
|
|
@ -8,6 +8,7 @@ import java.util.List;
|
||||||
import org.gcube.informationsystem.model.entity.facet.ContactFacet;
|
import org.gcube.informationsystem.model.entity.facet.ContactFacet;
|
||||||
import org.gcube.informationsystem.model.entity.resource.HostingNode;
|
import org.gcube.informationsystem.model.entity.resource.HostingNode;
|
||||||
import org.gcube.informationsystem.model.entity.resource.Service;
|
import org.gcube.informationsystem.model.entity.resource.Service;
|
||||||
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.query.InvalidQueryException;
|
||||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaNotFoundException;
|
||||||
import org.gcube.informationsystem.types.TypeBinder.TypeDefinition;
|
import org.gcube.informationsystem.types.TypeBinder.TypeDefinition;
|
||||||
|
@ -36,13 +37,13 @@ public class ResourceRegistryClientTest extends ScopedTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetFacetSchema() throws SchemaNotFoundException {
|
public void testGetFacetSchema() throws SchemaNotFoundException, ResourceRegistryException {
|
||||||
List<TypeDefinition> typeDefinitions = resourceRegistryClient.getSchema(ContactFacet.class, true);
|
List<TypeDefinition> typeDefinitions = resourceRegistryClient.getSchema(ContactFacet.class, true);
|
||||||
logger.trace("{}", typeDefinitions);
|
logger.trace("{}", typeDefinitions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetResourceSchema() throws SchemaNotFoundException {
|
public void testGetResourceSchema() throws SchemaNotFoundException, ResourceRegistryException {
|
||||||
List<TypeDefinition> typeDefinitions = resourceRegistryClient.getSchema(HostingNode.class, true);
|
List<TypeDefinition> typeDefinitions = resourceRegistryClient.getSchema(HostingNode.class, true);
|
||||||
logger.trace("{}", typeDefinitions);
|
logger.trace("{}", typeDefinitions);
|
||||||
}
|
}
|
||||||
|
@ -53,7 +54,7 @@ public class ResourceRegistryClientTest extends ScopedTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected=SchemaNotFoundException.class)
|
@Test(expected=SchemaNotFoundException.class)
|
||||||
public void testException() throws SchemaNotFoundException {
|
public void testException() throws SchemaNotFoundException, ResourceRegistryException {
|
||||||
resourceRegistryClient.getSchema(Aux.class, true);
|
resourceRegistryClient.getSchema(Aux.class, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue