JAL-3603 load annotation file from RELATIVE_URL in JS, small code tidies
[jalview.git] / src / jalview / io / AnnotationFile.java
index f0f1ca3..2182b24 100755 (executable)
  */
 package jalview.io;
 
+import java.awt.Color;
+import java.io.BufferedReader;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
 import jalview.analysis.Conservation;
 import jalview.api.AlignViewportI;
 import jalview.datamodel.AlignmentAnnotation;
@@ -35,51 +46,32 @@ import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemeProperty;
 import jalview.util.ColorUtils;
 
-import java.awt.Color;
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
 public class AnnotationFile
 {
-  public AnnotationFile()
-  {
-    init();
-  }
+  private static final String GRAPHLINE = "GRAPHLINE";
+
+  private static final String COMBINE = "COMBINE";
 
-  /**
-   * character used to write newlines
-   */
   protected String newline = System.getProperty("line.separator");
 
+  private StringBuffer text;
+
+  private SequenceI refSeq = null;
+
+  private String refSeqId = null;
+
+  private long nlinesread = 0;
+
+  private String lastread = "";
+
   /**
-   * set new line string and reset the output buffer
-   * 
-   * @param nl
+   * Constructor
    */
-  public void setNewlineString(String nl)
+  public AnnotationFile()
   {
-    newline = nl;
     init();
   }
 
-  public String getNewlineString()
-  {
-    return newline;
-  }
-
-  StringBuffer text;
-
   private void init()
   {
     text = new StringBuffer("JALVIEW_ANNOTATION" + newline + "# Created: "
@@ -642,10 +634,6 @@ public class AnnotationFile
     }
   }
 
-  SequenceI refSeq = null;
-
-  String refSeqId = null;
-
   public boolean annotateAlignmentView(AlignViewportI viewport, Object file,
           DataSourceType protocol)
   {
@@ -682,32 +670,11 @@ public class AnnotationFile
     BufferedReader in = null;
     try
     {
-      if (sourceType == DataSourceType.FILE)
-      {
-        in = FileLoader.getBufferedReader(file);
-      }
-      else if (sourceType == DataSourceType.URL)
-      {
-        URL url = new URL(file.toString());
-        in = new BufferedReader(new InputStreamReader(url.openStream()));
-      }
-      else if (sourceType == DataSourceType.PASTE)
-      {
-        in = new BufferedReader(new StringReader(file.toString()));
-      }
-      else if (sourceType == DataSourceType.CLASSLOADER)
-      {
-        java.io.InputStream is = getClass().getResourceAsStream("/" + file);
-        if (is != null)
-        {
-          in = new BufferedReader(new java.io.InputStreamReader(is));
-        }
-      }
+      in = new FileParse().getBufferedReader(file, sourceType);
       if (in != null)
       {
         return parseAnnotationFrom(al, hidden, in);
       }
-
     } catch (Exception ex)
     {
       ex.printStackTrace();
@@ -722,12 +689,6 @@ public class AnnotationFile
     return false;
   }
 
-  long nlinesread = 0;
-
-  String lastread = "";
-
-  private static String GRAPHLINE = "GRAPHLINE", COMBINE = "COMBINE";
-
   public boolean parseAnnotationFrom(AlignmentI al, HiddenColumns hidden,
           BufferedReader in) throws Exception
   {