diff --git a/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java b/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java index 10ada3f78d9a59bfded19309c8b7fb289e5737af..467a0eee12c51877db3d1db08e87427a419386e6 100644 --- a/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java +++ b/src/main/java/it/inaf/oats/vospace/persistence/NodeDAO.java @@ -187,8 +187,9 @@ public class NodeDAO { List<Property> properties = new ArrayList<>(); - addProperty(NodeProperties.LENGTH_URI, rs.getString("content_length"), - properties); + // Content length is required for CADC client compatibility + String contentLength = rs.getString("content_length"); + addProperty(NodeProperties.LENGTH_URI, contentLength == null ? "0" : contentLength, properties); String creationTime = rs.getString("created_on").replace(" ", "T"); diff --git a/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java b/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java index c2eb8567722b587732cdeabc919d0cb6698ff492..718b79befc6dfb09ecc66c4da5cfcfc3388e76e3 100644 --- a/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java +++ b/src/test/java/it/inaf/oats/vospace/persistence/NodeDAOTest.java @@ -59,7 +59,8 @@ public class NodeDAOTest { ContainerNode root = (ContainerNode) dao.listNode("/").get(); assertEquals(2, root.getNodes().size()); - assertEquals("true", NodeProperties.getNodePropertyAsListByURI(root, NodeProperties.PUBLIC_READ_URI).get(0)); + assertEquals("true", NodeProperties.getNodePropertyByURI(root, NodeProperties.PUBLIC_READ_URI)); + assertEquals("0", NodeProperties.getNodePropertyByURI(root, NodeProperties.LENGTH_URI)); assertEquals("group1 group2", NodeProperties.getNodePropertyByURI(root.getNodes().get(0), NodeProperties.GROUP_READ_URI));