From 9d9ec44b90c352c653de2ad5e8bd9f82aeb203f3 Mon Sep 17 00:00:00 2001 From: "luca.frosini" Date: Fri, 22 Sep 2023 18:10:20 +0200 Subject: [PATCH] Added the possibility to get unbounded instances using -1 --- .../instances/model/entities/EntityManagement.java | 2 +- .../model/relations/RelationManagement.java | 2 +- .../instances/ERManagementTest.java | 13 ++++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) 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); + } } }