javatidy
[jalview.git] / src / jalview / gui / Jalview2XML.java
index 39bd626..9f109ee 100644 (file)
@@ -1,18 +1,18 @@
 /*
  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
  * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
- * 
+ *
  * This file is part of Jalview.
- * 
+ *
  * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License 
+ * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
- * Jalview is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty 
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  * PURPOSE.  See the GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  */
 package jalview.gui;
@@ -29,7 +29,6 @@ import javax.swing.*;
 
 import org.exolab.castor.xml.*;
 
-import uk.ac.vamsas.objects.utils.MapList;
 import jalview.bin.Cache;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentAnnotation;
@@ -37,17 +36,16 @@ import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceI;
 import jalview.schemabinding.version2.*;
 import jalview.schemes.*;
-import jalview.structure.StructureSelectionManager;
 import jalview.util.Platform;
 import jalview.util.jarInputStreamProvider;
 
 /**
  * Write out the current jalview desktop state as a Jalview XML stream.
- * 
+ *
  * Note: the vamsas objects referred to here are primitive versions of the
  * VAMSAS project schema elements - they are not the same and most likely never
  * will be :)
- * 
+ *
  * @author $author$
  * @version $Revision: 1.134 $
  */
@@ -55,7 +53,7 @@ public class Jalview2XML
 {
   /**
    * create/return unique hash string for sq
-   * 
+   *
    * @param sq
    * @return new or existing unique string for sq
    */
@@ -261,7 +259,7 @@ public class Jalview2XML
 
   /**
    * Writes a jalview project archive to the given Jar output stream.
-   * 
+   *
    * @param jout
    */
   public void SaveState(JarOutputStream jout)
@@ -402,7 +400,7 @@ public class Jalview2XML
   /**
    * create a JalviewModel from an algnment view and marshall it to a
    * JarOutputStream
-   * 
+   *
    * @param ap
    *          panel to create jalview model for
    * @param fileName
@@ -811,13 +809,13 @@ public class Jalview2XML
         {
           annotationIds.put(aa[i].annotationId, aa[i]);
         }
-        
+
         an.setId(aa[i].annotationId);
 
         an.setVisible(aa[i].visible);
 
         an.setDescription(aa[i].description);
-        
+
         if (aa[i].sequenceRef != null)
         {
           // TODO later annotation sequenceRef should be the XML ID of the
@@ -1272,7 +1270,7 @@ public class Jalview2XML
   /**
    * Construct a unique ID for jvobj using either existing bindings or if none
    * exist, the result of the hashcode call for the object.
-   * 
+   *
    * @param jvobj
    *          jalview data object
    * @return unique ID for referring to jvobj
@@ -1303,7 +1301,7 @@ public class Jalview2XML
 
   /**
    * return local jalview object mapped to ID, if it exists
-   * 
+   *
    * @param idcode
    *          (may be null)
    * @return null or object bound to idcode
@@ -1539,7 +1537,7 @@ public class Jalview2XML
 
   /**
    * Load a jalview project archive from a jar file
-   * 
+   *
    * @param file
    *          - HTTP URL or filename
    */
@@ -1583,6 +1581,7 @@ public class Jalview2XML
     return new jarInputStreamProvider()
     {
 
+      @Override
       public JarInputStream getJarInputStream() throws IOException
       {
         if (_url != null)
@@ -1595,6 +1594,7 @@ public class Jalview2XML
         }
       }
 
+      @Override
       public String getFilename()
       {
         return file;
@@ -1607,7 +1607,7 @@ public class Jalview2XML
    * initialise uniqueSetSuffix, seqRefIds, viewportsAdded and frefedSequence
    * themselves. Any null fields will be initialised with default values,
    * non-null fields are left alone.
-   * 
+   *
    * @param jprovider
    * @return
    */
@@ -1759,6 +1759,7 @@ public class Jalview2XML
       {
         javax.swing.SwingUtilities.invokeLater(new Runnable()
         {
+          @Override
           public void run()
           {
             JOptionPane.showInternalMessageDialog(Desktop.desktop,
@@ -1783,7 +1784,7 @@ public class Jalview2XML
    * Currently (28th Sep 2008) things will go horribly wrong in vamsas document
    * sync if this is set to true.
    */
-  private boolean updateLocalViews = false;
+  private final boolean updateLocalViews = false;
 
   String loadPDBFile(jarInputStreamProvider jprovider, String pdbId)
   {
@@ -1864,7 +1865,7 @@ public class Jalview2XML
 
   /**
    * Load alignment frame from jalview XML DOM object
-   * 
+   *
    * @param object
    *          DOM
    * @param file
@@ -1902,7 +1903,7 @@ public class Jalview2XML
 
       if (seqRefIds.get(seqId) != null)
       {
-        tmpseqs.add((jalview.datamodel.Sequence) seqRefIds.get(seqId));
+        tmpseqs.add(seqRefIds.get(seqId));
         multipleView = true;
       }
       else
@@ -1925,7 +1926,7 @@ public class Jalview2XML
           hiddenSeqs = new Vector();
         }
 
-        hiddenSeqs.addElement((jalview.datamodel.Sequence) seqRefIds
+        hiddenSeqs.addElement(seqRefIds
                 .get(seqId));
       }
 
@@ -2273,7 +2274,7 @@ public class Jalview2XML
           jaa.belowAlignment=an[i].isBelowAlignment();
         }
         jaa.setCalcId(an[i].getCalcId());
-        
+
         if (jaa.autoCalculated)
         {
           autoAlan.add(new JvAnnotRow(i, jaa));
@@ -2614,7 +2615,7 @@ public class Jalview2XML
               // file }, orig_fileloc, SequenceI[][] {{ seqs_file 1 }, {
               // seqs_file 2}, boolean[] {
               // linkAlignPanel,superposeWithAlignpanel}} from hash
-              Object[] jmoldat = (Object[]) jmolViewIds.get(sviewid);
+              Object[] jmoldat = jmolViewIds.get(sviewid);
               ((boolean[]) jmoldat[3])[0] |= ids[p].getStructureState(s)
                       .hasAlignwithAlignPanel() ? ids[p].getStructureState(
                       s).getAlignwithAlignPanel() : false;
@@ -2753,7 +2754,7 @@ public class Jalview2XML
               newFileLoc.append(Platform.escapeString((String) filedat[0]));
               pdbfilenames.addElement((String) filedat[0]);
               pdbids.addElement((String) filedat[1]);
-              seqmaps.addElement((SequenceI[]) ((Vector<SequenceI>) filedat[2])
+              seqmaps.addElement(((Vector<SequenceI>) filedat[2])
                       .toArray(new SequenceI[0]));
               newFileLoc.append("\"");
               cp = ecp + 1; // advance beyond last \" and set cursor so we can
@@ -2780,7 +2781,7 @@ public class Jalview2XML
                 newFileLoc.append(((String) filedat[0]));
                 pdbfilenames.addElement((String) filedat[0]);
                 pdbids.addElement((String) filedat[1]);
-                seqmaps.addElement((SequenceI[]) ((Vector<SequenceI>) filedat[2])
+                seqmaps.addElement(((Vector<SequenceI>) filedat[2])
                         .toArray(new SequenceI[0]));
                 newFileLoc.append(" \"");
                 newFileLoc.append((String) filedat[0]);
@@ -2816,10 +2817,10 @@ public class Jalview2XML
               // TODO: assemble String[] { pdb files }, String[] { id for each
               // file }, orig_fileloc, SequenceI[][] {{ seqs_file 1 }, {
               // seqs_file 2}} from hash
-              final String[] pdbf = (String[]) pdbfilenames
-                      .toArray(new String[pdbfilenames.size()]), id = (String[]) pdbids
+              final String[] pdbf = pdbfilenames
+                      .toArray(new String[pdbfilenames.size()]), id = pdbids
                       .toArray(new String[pdbids.size()]);
-              final SequenceI[][] sq = (SequenceI[][]) seqmaps
+              final SequenceI[][] sq = seqmaps
                       .toArray(new SequenceI[seqmaps.size()][]);
               final String fileloc = newFileLoc.toString(), vid = sviewid;
               final AlignFrame alf = af;
@@ -2829,6 +2830,7 @@ public class Jalview2XML
               {
                 javax.swing.SwingUtilities.invokeAndWait(new Runnable()
                 {
+                  @Override
                   public void run()
                   {
                     AppJmol sview = null;
@@ -2875,30 +2877,30 @@ public class Jalview2XML
               // viewer
               Object[] filedat = oldFiles.get(id);
               String pdbFile = (String) filedat[0];
-              SequenceI[] seq = (SequenceI[]) ((Vector<SequenceI>) filedat[2])
+              SequenceI[] seq = ((Vector<SequenceI>) filedat[2])
                       .toArray(new SequenceI[0]);
-              ((AppJmol) comp).jmb.ssm.setMapping(seq, null, pdbFile,
+              comp.jmb.ssm.setMapping(seq, null, pdbFile,
                       jalview.io.AppletFormatAdapter.FILE);
-              ((AppJmol) comp).jmb.addSequenceForStructFile(pdbFile, seq);
+              comp.jmb.addSequenceForStructFile(pdbFile, seq);
             }
             // and add the AlignmentPanel's reference to the Jmol view
-            ((AppJmol) comp).addAlignmentPanel(ap);
+            comp.addAlignmentPanel(ap);
             if (useinJmolsuperpos)
             {
-              ((AppJmol) comp).useAlignmentPanelForSuperposition(ap);
+              comp.useAlignmentPanelForSuperposition(ap);
             }
             else
             {
-              ((AppJmol) comp).excludeAlignmentPanelForSuperposition(ap);
+              comp.excludeAlignmentPanelForSuperposition(ap);
             }
             if (usetoColourbyseq)
             {
-              ((AppJmol) comp).useAlignmentPanelForColourbyseq(ap,
+              comp.useAlignmentPanelForColourbyseq(ap,
                       !jmolColouring);
             }
             else
             {
-              ((AppJmol) comp).excludeAlignmentPanelForColourbyseq(ap);
+              comp.excludeAlignmentPanelForColourbyseq(ap);
             }
           }
         }
@@ -3358,7 +3360,7 @@ public class Jalview2XML
 
   /**
    * TODO remove this method
-   * 
+   *
    * @param view
    * @return AlignFrame bound to sequenceSetId from view, if one exists. private
    *         AlignFrame getSkippedFrame(Viewport view) { if (skipList==null) {
@@ -3369,7 +3371,7 @@ public class Jalview2XML
 
   /**
    * Check if the Jalview view contained in object should be skipped or not.
-   * 
+   *
    * @param object
    * @return true if view's sequenceSetId is a key in skipList
    */
@@ -3442,7 +3444,7 @@ public class Jalview2XML
   }
 
   /**
-   * 
+   *
    * @param vamsasSeq
    *          sequence definition to create/merge dataset sequence for
    * @param ds
@@ -3460,7 +3462,7 @@ public class Jalview2XML
     jalview.datamodel.SequenceI dsq = null;
     if (sq != null && sq.getDatasetSequence() != null)
     {
-      dsq = (jalview.datamodel.SequenceI) sq.getDatasetSequence();
+      dsq = sq.getDatasetSequence();
     }
 
     String sqid = vamsasSeq.getDsseqid();
@@ -3566,7 +3568,7 @@ public class Jalview2XML
 
   /**
    * make a new dataset ID for this jalview dataset alignment
-   * 
+   *
    * @param dataset
    * @return
    */
@@ -3747,15 +3749,16 @@ public class Jalview2XML
    * flag indicating if hashtables should be cleared on finalization TODO this
    * flag may not be necessary
    */
-  private boolean _cleartables = true;
+  private final boolean _cleartables = true;
 
   private Hashtable jvids2vobj;
 
   /*
    * (non-Javadoc)
-   * 
+   *
    * @see java.lang.Object#finalize()
    */
+  @Override
   protected void finalize() throws Throwable
   {
     // really make sure we have no buried refs left.
@@ -3830,13 +3833,13 @@ public class Jalview2XML
    * finalize and clearSeqRefs will not clear the tables when the Jalview2XML
    * object goes out of scope. - also populates the datasetIds hashtable with
    * alignment objects containing dataset sequences
-   * 
+   *
    * @param vobj2jv
    *          Map from ID strings to jalview datamodel
    * @param jv2vobj
    *          Map from jalview datamodel to ID strings
-   * 
-   * 
+   *
+   *
    */
   public void setObjectMappingTables(Hashtable vobj2jv,
           IdentityHashMap jv2vobj)
@@ -3908,7 +3911,7 @@ public class Jalview2XML
    * set the uniqueSetSuffix used to prefix/suffix object IDs for jalview
    * objects created from the project archive. If string is null (default for
    * construction) then suffix will be set automatically.
-   * 
+   *
    * @param string
    */
   public void setUniqueSetSuffix(String string)
@@ -3920,7 +3923,7 @@ public class Jalview2XML
   /**
    * uses skipList2 as the skipList for skipping views on sequence sets
    * associated with keys in the skipList
-   * 
+   *
    * @param skipList2
    */
   public void setSkipList(Hashtable skipList2)