JAL-2418 source formatting
[jalview.git] / src / jalview / analysis / SeqsetUtils.java
index 5c6b99b..2b21e5e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  */
 package jalview.analysis;
 
-import java.util.*;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
 
-import jalview.datamodel.*;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Vector;
 
 public class SeqsetUtils
 {
@@ -54,12 +59,19 @@ public class SeqsetUtils
         sfeat.addElement(sfarray[i]);
       }
     }
-    sqinfo.put("SeqFeatures", sfeat);
-    sqinfo.put("PdbId", (seq.getPDBId() != null) ? seq.getPDBId()
-            : new Vector());
-    sqinfo.put("datasetSequence",
-            (seq.getDatasetSequence() != null) ? seq.getDatasetSequence()
-                    : new Sequence("THISISAPLACEHOLDER", ""));
+    if (seq.getDatasetSequence() == null)
+    {
+      sqinfo.put("SeqFeatures", sfeat);
+      sqinfo.put("PdbId",
+              (seq.getAllPDBEntries() != null) ? seq.getAllPDBEntries()
+                      : new Vector<PDBEntry>());
+    }
+    else
+    {
+      sqinfo.put("datasetSequence",
+              (seq.getDatasetSequence() != null) ? seq.getDatasetSequence()
+                      : new Sequence("THISISAPLACEHOLDER", ""));
+    }
     return sqinfo;
   }
 
@@ -84,7 +96,7 @@ public class SeqsetUtils
     Integer start = (Integer) sqinfo.get("Start");
     Integer end = (Integer) sqinfo.get("End");
     Vector sfeatures = (Vector) sqinfo.get("SeqFeatures");
-    Vector pdbid = (Vector) sqinfo.get("PdbId");
+    Vector<PDBEntry> pdbid = (Vector<PDBEntry>) sqinfo.get("PdbId");
     String description = (String) sqinfo.get("Description");
     Sequence seqds = (Sequence) sqinfo.get("datasetSequence");
     if (oldname == null)
@@ -119,10 +131,14 @@ public class SeqsetUtils
     {
       sq.setDescription(description);
     }
-    if ((seqds != null)
-            && !(seqds.getName().equals("THISISAPLACEHOLDER") && seqds
-                    .getLength() == 0))
+    if ((seqds != null) && !(seqds.getName().equals("THISISAPLACEHOLDER")
+            && seqds.getLength() == 0))
     {
+      if (sfeatures != null)
+      {
+        System.err.println(
+                "Implementation error: setting dataset sequence for a sequence which has sequence features.\n\tDataset sequence features will not be visible.");
+      }
       sq.setDatasetSequence(seqds);
     }
 
@@ -244,8 +260,9 @@ public class SeqsetUtils
     if (unmatched.size() > 0 && !quiet)
     {
       System.err.println("Did not find matches for :");
-      for (Enumeration i = unmatched.elements(); i.hasMoreElements(); System.out
-              .println(((SequenceI) i.nextElement()).getName()))
+      for (Enumeration i = unmatched.elements(); i
+              .hasMoreElements(); System.out
+                      .println(((SequenceI) i.nextElement()).getName()))
       {
         ;
       }