String name = graph.getPossibleRelatedValue(r, L0.HasName, Bindings.STRING);
if(name != null) {
VersionInfo versions = graph.syncRequest(new VersionInfoRequest(r));
- if(versions.versions.size() != 1) {
- int pos = name.lastIndexOf('@');
- if(pos == -1) return name + " [No version]";
- String base = name.substring(0, pos);
- String version = name.substring(pos+1);
+ int nVersions = versions.versions.size();
+ // No version display, if "A", "1" or "" is the only version present
+ if ("".equals(versions.version))
+ return nVersions == 1 ? name : name + " [No version]";
+ String base = versions.baseName;
+ String version = versions.version;
+ if (("A".equals(version) || "1".equals(version)) && nVersions == 1)
+ return base;
+ else
return base + " [Version " + version + "]";
- } else {
- return versions.baseName;
- }
}
// Fallback logic
return NameUtils.getSafeName(graph, r);