Loading src/main/java/it/inaf/oats/vospace/datamodel/NodeUtils.java +16 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,22 @@ public class NodeUtils { return sb.toString(); } public static String getLastPathElement(String path) { if(path == null || path.isBlank() || !path.startsWith("/")) { throw new IllegalArgumentException(); } String[] pathComponents = path.split("[/]+"); if(pathComponents.length == 0) { return "/"; } else { return pathComponents[pathComponents.length-1]; } } public static List<String> subPathComponents(String path) { List resultList = new ArrayList<String>(); Loading src/test/java/it/inaf/oats/vospace/datamodel/NodeUtilsTest.java +19 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ package it.inaf.oats.vospace.datamodel; import java.util.ArrayList; import java.util.List; import net.ivoa.xml.vospace.v2.ContainerNode; import net.ivoa.xml.vospace.v2.DataNode; import net.ivoa.xml.vospace.v2.LinkNode; import net.ivoa.xml.vospace.v2.Node; Loading @@ -10,6 +9,7 @@ import net.ivoa.xml.vospace.v2.Property; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; Loading Loading @@ -164,6 +164,24 @@ public class NodeUtilsTest { assertTrue(NodeUtils.checkIfReadable(node, "user2", List.of("group2", "group3"))); } @Test public void testGetLastPathElement() { assertThrows(IllegalArgumentException.class,() -> { NodeUtils.getLastPathElement(null);} ); assertThrows(IllegalArgumentException.class,() -> { NodeUtils.getLastPathElement(" ");} ); assertThrows(IllegalArgumentException.class,() -> { NodeUtils.getLastPathElement("http://asdasd");} ); assertEquals("/", NodeUtils.getLastPathElement("/")); assertEquals("f1", NodeUtils.getLastPathElement("/pippo/test/f1")); } @Test public void testCheckReadableGroupsFalse() { Loading Loading
src/main/java/it/inaf/oats/vospace/datamodel/NodeUtils.java +16 −0 Original line number Diff line number Diff line Loading @@ -85,6 +85,22 @@ public class NodeUtils { return sb.toString(); } public static String getLastPathElement(String path) { if(path == null || path.isBlank() || !path.startsWith("/")) { throw new IllegalArgumentException(); } String[] pathComponents = path.split("[/]+"); if(pathComponents.length == 0) { return "/"; } else { return pathComponents[pathComponents.length-1]; } } public static List<String> subPathComponents(String path) { List resultList = new ArrayList<String>(); Loading
src/test/java/it/inaf/oats/vospace/datamodel/NodeUtilsTest.java +19 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ package it.inaf.oats.vospace.datamodel; import java.util.ArrayList; import java.util.List; import net.ivoa.xml.vospace.v2.ContainerNode; import net.ivoa.xml.vospace.v2.DataNode; import net.ivoa.xml.vospace.v2.LinkNode; import net.ivoa.xml.vospace.v2.Node; Loading @@ -10,6 +9,7 @@ import net.ivoa.xml.vospace.v2.Property; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; Loading Loading @@ -164,6 +164,24 @@ public class NodeUtilsTest { assertTrue(NodeUtils.checkIfReadable(node, "user2", List.of("group2", "group3"))); } @Test public void testGetLastPathElement() { assertThrows(IllegalArgumentException.class,() -> { NodeUtils.getLastPathElement(null);} ); assertThrows(IllegalArgumentException.class,() -> { NodeUtils.getLastPathElement(" ");} ); assertThrows(IllegalArgumentException.class,() -> { NodeUtils.getLastPathElement("http://asdasd");} ); assertEquals("/", NodeUtils.getLastPathElement("/")); assertEquals("f1", NodeUtils.getLastPathElement("/pippo/test/f1")); } @Test public void testCheckReadableGroupsFalse() { Loading