in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/ContentsDescriptorBuilder.java [169:194]
private ListValue constructListValue(Directory dir, UriBuilder ub)
throws FilesystemAccessException {
ListValue v = new ListValue();
v.length = 0;
Set<DirectoryEntry> contents = new HashSet<>(dir.getContents());
Iterator<DirectoryEntry> it = contents.iterator();
while (it.hasNext())
if (!it.next().getName().matches("^[0-9]+([.].*)?$"))
it.remove();
for (int i = 1; !contents.isEmpty(); i++) {
String exact = Integer.toString(i);
AbstractValue subval = constructValue(contents, ub, exact);
v.contents.add(subval);
if (!(subval instanceof AbsentValue)) {
v.length = i;
String pfx = i + ".";
for (DirectoryEntry de : contents)
if (de.getName().equals(exact)
|| de.getName().startsWith(pfx)) {
contents.remove(de);
break;
}
}
}
return v;
}