change over source attribute datamodel
authorjprocter <jprocter@compbio.dundee.ac.uk>
Mon, 5 Dec 2011 08:57:37 +0000 (08:57 +0000)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Mon, 13 Feb 2012 08:42:43 +0000 (08:42 +0000)
src/jalview/gui/DasSourceBrowser.java

index 6e77a6b..2f257af 100755 (executable)
@@ -142,9 +142,9 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     Object[][] data = new Object[dSize][2];\r
     for (int i = 0; i < dSize; i++)\r
     {\r
-      data[i][0] = dasSources[i]. // what's equivalent of nickname\r
+      data[i][0] = dasSources[i].getTitle(); // what's equivalent of nickname\r
       data[i][1] = new Boolean(selectedSources.contains(dasSources[i]\r
-              .getNickname()));\r
+              .getTitle()));\r
     }\r
 \r
     refreshTableData(data);\r
@@ -189,33 +189,34 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     int dSize = dasSources.length;\r
     for (int i = 0; i < dSize; i++)\r
     {\r
-      if (!dasSources[i].getNickname().equals(nickName))\r
+      if (!dasSources[i].getTitle().equals(nickName))\r
       {\r
         continue;\r
       }\r
 \r
-      DasSource ds = dasSources[i];\r
-\r
+      SOURCE ds = dasSources[i];\r
+      VERSION latest = getVersionFor(ds);\r
       text.append("<font color=\"#0000FF\">Id:</font> "\r
-              + dasSources[i].getId() + "<br>");\r
+              + dasSources[i].getUri() + "<br>");\r
       text.append("<font color=\"#0000FF\">Nickname:</font> "\r
-              + dasSources[i].getNickname() + "<br>");\r
+              + dasSources[i].getTitle() + "<br>");\r
       text.append("<font color=\"#0000FF\">URL:</font> "\r
-              + dasSources[i].getUrl() + "<br>");\r
+              + latest.getUri() + "<br>");\r
 \r
       text.append("<font color=\"#0000FF\">Admin Email:</font> <a href=\"mailto:"\r
-              + dasSources[i].getAdminemail()\r
+              + ds.getMAINTAINER().getEmail()\r
               + "\">"\r
-              + dasSources[i].getAdminemail() + "</a>" + "<br>");\r
+              + ds.getMAINTAINER().getEmail() + "</a>" + "<br>");\r
 \r
       text.append("<font color=\"#0000FF\">Registered at:</font> "\r
-              + dasSources[i].getRegisterDate() + "<br>");\r
+              + latest.getCreated() + "<br>");\r
 \r
-      text.append("<font color=\"#0000FF\">Last successful test:</font> "\r
-              + dasSources[i].getLeaseDate() + "<br>");\r
+      // TODO: Identify last successful test date\r
+//      text.append("<font color=\"#0000FF\">Last successful test:</font> "\r
+//              + latest.dasSources[i].getLeaseDate() + "<br>");\r
 \r
       text.append("<font color=\"#0000FF\">Labels:</font> ");\r
-      for (int s = 0; s < dasSources[i].getLabels().length; s++)\r
+      for (int s = 0; s < latest.getPROP().length; s++)\r
       {\r
         text.append(dasSources[i].getLabels()[s]);\r
         if (s < dasSources[i].getLabels().length - 1)\r
@@ -227,7 +228,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
       text.append("<br>");\r
 \r
       text.append("<font color=\"#0000FF\">Capabilities:</font> ");\r
-      String[] scap = dasSources[i].getCapabilities();\r
+      CAPABILITY[] scap = latest.getCAPABILITY().toArray(new CAPABILITY[0]);\r
       for (int j = 0; j < scap.length; j++)\r
       {\r
         text.append(scap[j]);\r
@@ -345,7 +346,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     {\r
       for (int i = 0; i < dasSources.length; i++)\r
       {\r
-        if (dasSources[i].getNickname()\r
+        if (dasSources[i].getTitle()\r
                 .equals(selectedSources.elementAt(r)))\r
         {\r
           selected.addElement(dasSources[i]);\r
@@ -362,7 +363,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
    * \r
    * @return\r
    */\r
-  public DasSource[] getDASSource()\r
+  public SOURCE[] getDASSource()\r
   {\r
     if (dasSources == null)\r
     {\r
@@ -413,6 +414,18 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     // assume first instance of source is newest in list. - TODO: check if natural ordering of source versions is newest first or oldest first\r
     return false;\r
   }\r
+  private VERSION getVersionFor(SOURCE ds)\r
+  {\r
+    VERSION latest=null;\r
+    for (VERSION v:ds.getVERSION()) {\r
+      if (latest==null || isLaterThan(latest.getCreated(),v.getCreated()))\r
+      {\r
+        // TODO: das 1.6 - should just get the first version - ignore other versions since not specified how to construct URL from version's URI + source URI\r
+        latest=v;\r
+      }\r
+    }\r
+    return latest;\r
+  }\r
   private void setCapabilities(SOURCE[] sources)\r
   {\r
     Vector<String> authority = new Vector<String>();\r
@@ -427,14 +440,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     for (int i = 0; i < sources.length; i++)\r
     {\r
       SOURCE ds = sources[i];\r
-      VERSION latest=null;\r
-      for (VERSION v:ds.getVERSION()) {\r
-        if (latest==null || isLaterThan(latest.getCreated(),v.getCreated()))\r
-        {\r
-          // TODO: das 1.6 - should just get the first version - ignore other versions since not specified how to construct URL from version's URI + source URI\r
-          latest=v;\r
-        }\r
-      }\r
+      VERSION latest=getVersionFor(ds);\r
       \r
       for (COORDINATES cs: latest.getCOORDINATES())\r
       {\r
@@ -555,7 +561,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
       localSources = new Hashtable();\r
     }\r
 \r
-    localSources.put(local.getNickname(), local);\r
+    localSources.put(local.getTitle(), local);\r
 \r
     if (!newSource && !nickname.equals(nametf.getText()))\r
     {\r
@@ -568,26 +574,26 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     Object[][] data = new Object[size + adjust][2];\r
     for (int i = 0; i < size; i++)\r
     {\r
-      if (!newSource && dasSources[i].getNickname().equals(nickname))\r
+      if (!newSource && dasSources[i].getTitle().equals(nickname))\r
       {\r
-        ((DasSource) dasSources[i]).setNickname(local.getNickname());\r
+        ((DasSource) dasSources[i]).setNickname(local.getTitle());\r
         ((DasSource) dasSources[i]).setUrl(local.getUrl());\r
-        data[i][0] = local.getNickname();\r
+        data[i][0] = local.getTitle();\r
         data[i][1] = new Boolean(true);\r
       }\r
       else\r
       {\r
-        data[i][0] = dasSources[i].getNickname();\r
+        data[i][0] = dasSources[i].getTitle();\r
         data[i][1] = new Boolean(selectedSources.contains(dasSources[i]\r
-                .getNickname()));\r
+                .getTitle()));\r
       }\r
     }\r
 \r
     if (newSource)\r
     {\r
-      data[size][0] = local.getNickname();\r
+      data[size][0] = local.getTitle();\r
       data[size][1] = new Boolean(true);\r
-      selectedSources.add(local.getNickname());\r
+      selectedSources.add(local.getTitle());\r
     }\r
 \r
     DasSource[] tmp = new DasSource[size + adjust];\r
@@ -612,7 +618,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
       }\r
     });\r
 \r
-    displayFullDetails(local.getNickname());\r
+    displayFullDetails(local.getTitle());\r
   }\r
 \r
   public void editRemoveLocalSource(MouseEvent evt)\r
@@ -655,16 +661,16 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
       int index = 0;\r
       for (int i = 0; i < dasSources.length; i++)\r
       {\r
-        if (dasSources[i].getNickname().equals(nickname))\r
+        if (dasSources[i].getTitle().equals(nickname))\r
         {\r
           continue;\r
         }\r
         else\r
         {\r
           tmp[index] = dasSources[i];\r
-          data[index][0] = dasSources[i].getNickname();\r
+          data[index][0] = dasSources[i].getTitle();\r
           data[index][1] = new Boolean(\r
-                  selectedSources.contains(dasSources[i].getNickname()));\r
+                  selectedSources.contains(dasSources[i].getTitle()));\r
           index++;\r
         }\r
       }\r
@@ -697,9 +703,9 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     Object[][] data = new Object[size + lsize][2];\r
     for (int i = 0; i < size; i++)\r
     {\r
-      data[i][0] = dasSources[i].getNickname();\r
+      data[i][0] = dasSources[i].getTitle();\r
       data[i][1] = new Boolean(selectedSources.contains(dasSources[i]\r
-              .getNickname()));\r
+              .getTitle()));\r
     }\r
 \r
     DasSource[] tmp = new DasSource[size + lsize];\r
@@ -763,8 +769,8 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
         // THIS IS A FIX FOR LOCAL SOURCES WHICH DO NOT\r
         // HAVE COORDINATE SYSTEMS, INFO WHICH AT PRESENT\r
         // IS ADDED FROM THE REGISTRY\r
-        names.add(ds.getNickname());\r
-        selected.add(new Boolean(selectedSources.contains(ds.getNickname())));\r
+        names.add(ds.getTitle());\r
+        selected.add(new Boolean(selectedSources.contains(ds.getTitle())));\r
         continue;\r
       }\r
 \r
@@ -782,9 +788,9 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
                 && selectedInList(filter2.getSelectedValues(), new String[]\r
                 { dcs[j].getCategory() }))\r
         {\r
-          names.add(ds.getNickname());\r
+          names.add(ds.getTitle());\r
           selected.add(new Boolean(selectedSources.contains(ds\r
-                  .getNickname())));\r
+                  .getTitle())));\r
           break;\r
         }\r
       }\r
@@ -844,7 +850,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
       while (sources.hasMoreElements())\r
       {\r
         Das1Source source = (Das1Source) sources.nextElement();\r
-        localSources.put(source.getNickname(), source);\r
+        localSources.put(source.getTitle(), source);\r
       }\r
     }\r
   }\r
@@ -1012,7 +1018,7 @@ public class DasSourceBrowser extends GDasSourceBrowser implements
     {\r
       for (int i = 0; i < dasSources.length; i++)\r
       {\r
-        if (sources.contains(dasSources[i].getNickname()))\r
+        if (sources.contains(dasSources[i].getTitle()))\r
         {\r
           if (!resolved.contains(dasSources[i]))\r
           {\r