Always show version label for non-initial versions. 86/2786/1
authorReino Ruusu <reino.ruusu@semantum.fi>
Mon, 18 Mar 2019 16:24:27 +0000 (18:24 +0200)
committerReino Ruusu <reino.ruusu@semantum.fi>
Mon, 18 Mar 2019 16:24:27 +0000 (18:24 +0200)
gitlab #276

Change-Id: I5c1c2ad67c1bf010ceb372d06203395c52e6ed71

bundles/org.simantics.db.common/src/org/simantics/db/common/utils/Versions.java

index d022a251e7b2a7df25b986fd4cc27fd482fe918a..58894674506013b2b9835dd4450b9a63e7001737 100644 (file)
@@ -114,15 +114,16 @@ public class Versions {
        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);