diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java index adf3617..a087250 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java @@ -517,7 +517,7 @@ public abstract class EntityManagement entityManagement.setAsEntryPoint(); JsonNode jsonNode = entityManagement.serializeAsJsonNode(); arrayNode.add(jsonNode); - if(++count >= limit) { + if(limit > 0 && ++count >= limit) { break; } } catch(ResourceRegistryException e) { diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/relations/RelationManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/relations/RelationManagement.java index 0ce6f9c..5be4e56 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/relations/RelationManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/relations/RelationManagement.java @@ -806,7 +806,7 @@ public abstract class RelationManagement= limit) { + if(limit > 0 && ++count >= limit) { break; } } diff --git a/src/test/java/org/gcube/informationsystem/resourceregistry/instances/ERManagementTest.java b/src/test/java/org/gcube/informationsystem/resourceregistry/instances/ERManagementTest.java index d1ff057..03d7097 100644 --- a/src/test/java/org/gcube/informationsystem/resourceregistry/instances/ERManagementTest.java +++ b/src/test/java/org/gcube/informationsystem/resourceregistry/instances/ERManagementTest.java @@ -739,7 +739,9 @@ public class ERManagementTest extends ContextTest { @Test - public void testLimitOffsetWithHostingNode() throws ResourceRegistryException, JsonParseException, JsonMappingException, IOException { + public void testLimitOffsetWithHostingNode() throws Exception { + setContextByName(GCUBE); + ServerRequestInfo requestInfo = RequestUtility.getRequestInfo().get(); int limit = 2; requestInfo.setLimit(limit); @@ -803,6 +805,15 @@ public class ERManagementTest extends ContextTest { } } + requestInfo.setOffset(0); + requestInfo.setLimit(-1); + ret = resourceManagement.all(true); + logger.debug("{}", ret); + list = ElementMapper.unmarshalList(HostingNode.class, ret); + for(HostingNode hn : list) { + UUID uuid = hn.getID(); + logger.debug("No limit listing: Got {} with UUID {}", HostingNode.NAME, uuid); + } } }