formatting
[jalview.git] / src / jalview / io / SequenceAnnotationReport.java
index 8642446..ee8ac17 100644 (file)
@@ -164,9 +164,15 @@ public class SequenceAnnotationReport
               {
                 for (String[] urllink : createLinksFrom(null, urlstring))
                 {
-                  tooltipText2.append("<br/> <a href=\"" + urllink[3]
-                          + "\" target=\"" + urllink[0] + "\">"
-                          + (urllink[0].toLowerCase().equals(urllink[1].toLowerCase()) ? urllink[0] : (urllink[0]+ ":" + urllink[1])) + "</a></br>");
+                  tooltipText2.append("<br/> <a href=\""
+                          + urllink[3]
+                          + "\" target=\""
+                          + urllink[0]
+                          + "\">"
+                          + (urllink[0].toLowerCase().equals(
+                                  urllink[1].toLowerCase()) ? urllink[0]
+                                  : (urllink[0] + ":" + urllink[1]))
+                          + "</a></br>");
                 }
               } catch (Exception x)
               {
@@ -192,7 +198,7 @@ public class SequenceAnnotationReport
   public String[][] createLinksFrom(SequenceI seq, String link)
   {
     ArrayList<String[]> urlSets = new ArrayList<String[]>();
-    ArrayList<String> uniques=new ArrayList<String>();
+    ArrayList<String> uniques = new ArrayList<String>();
     UrlLink urlLink = new UrlLink(link);
     if (!urlLink.isValid())
     {
@@ -232,11 +238,11 @@ public class SequenceAnnotationReport
           {
             for (int u = 0; u < urls.length; u += 2)
             {
-              String unq=urls[u]+"|"+urls[u+1];
+              String unq = urls[u] + "|" + urls[u + 1];
               if (!uniques.contains(unq))
               {
                 urlSets.add(new String[]
-                        { target, label, urls[u], urls[u + 1] });
+                { target, label, urls[u], urls[u + 1] });
                 uniques.add(unq);
               }
             }
@@ -251,11 +257,11 @@ public class SequenceAnnotationReport
         {
           for (int u = 0; u < urls.length; u += 2)
           {
-            String unq=urls[u]+"|"+urls[u+1];
+            String unq = urls[u] + "|" + urls[u + 1];
             if (!uniques.contains(unq))
             {
               urlSets.add(new String[]
-            { target, label, urls[u], urls[u + 1] });
+              { target, label, urls[u], urls[u + 1] });
               uniques.add(unq);
             }
           }
@@ -269,23 +275,27 @@ public class SequenceAnnotationReport
         {
           for (int u = 0; u < urls.length; u += 2)
           {
-            String unq=urls[u]+"|"+urls[u+1];
+            String unq = urls[u] + "|" + urls[u + 1];
             if (!uniques.contains(unq))
             {
               urlSets.add(new String[]
-            { target, label, urls[u], urls[u + 1] });
+              { target, label, urls[u], urls[u + 1] });
               uniques.add(unq);
             }
           }
         }
       }
 
-    } else {
-      String unq=label + "|" + urlLink.getUrl_prefix();
-      if (!uniques.contains(unq)){
+    }
+    else
+    {
+      String unq = label + "|" + urlLink.getUrl_prefix();
+      if (!uniques.contains(unq))
+      {
         uniques.add(unq);
         // Add a non-dynamic link
-        urlSets.add(new String[] {target, label, null, urlLink.getUrl_prefix()});
+        urlSets.add(new String[]
+        { target, label, null, urlLink.getUrl_prefix() });
       }
     }
 
@@ -293,17 +303,17 @@ public class SequenceAnnotationReport
     {});
   }
 
-
   public void createSequenceAnnotationReport(final StringBuffer tip,
           SequenceI sequence, boolean showDbRefs, boolean showNpFeats,
           Hashtable minmax)
   {
-    createSequenceAnnotationReport(tip, sequence, showDbRefs, showNpFeats, true, minmax);
+    createSequenceAnnotationReport(tip, sequence, showDbRefs, showNpFeats,
+            true, minmax);
   }
 
   public void createSequenceAnnotationReport(final StringBuffer tip,
-          SequenceI sequence, boolean showDbRefs, boolean showNpFeats, boolean tableWrap,
-          Hashtable minmax)
+          SequenceI sequence, boolean showDbRefs, boolean showNpFeats,
+          boolean tableWrap, Hashtable minmax)
   {
     String tmp;
     tip.append("<i>");
@@ -315,8 +325,12 @@ public class SequenceAnnotationReport
       tip.append("<br>" + tmp);
       maxWidth = Math.max(maxWidth, tmp.length());
     }
-
-    DBRefEntry[] dbrefs = sequence.getDatasetSequence().getDBRef();
+    SequenceI ds = sequence;
+    while (ds.getDatasetSequence() != null)
+    {
+      ds = ds.getDatasetSequence();
+    }
+    DBRefEntry[] dbrefs = ds.getDBRef();
     if (showDbRefs && dbrefs != null)
     {
       for (int i = 0; i < dbrefs.length; i++)
@@ -329,8 +343,7 @@ public class SequenceAnnotationReport
     }
 
     // ADD NON POSITIONAL SEQUENCE INFO
-    SequenceFeature[] features = sequence.getDatasetSequence()
-            .getSequenceFeatures();
+    SequenceFeature[] features = ds.getSequenceFeatures();
     SequenceFeature[] tfeat = new SequenceFeature[1];
     if (showNpFeats && features != null)
     {