JAL-1784 refactor parse method to directly parse FileParser input reader stream.
[jalview.git] / src / jalview / io / JSONFile.java
index f977b04..bbbc122 100644 (file)
 
 package jalview.io;
 
-import java.awt.Color;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-
 import jalview.api.AlignViewportI;
 import jalview.api.ComplexAlignFile;
 import jalview.api.FeatureRenderer;
@@ -55,6 +43,19 @@ import jalview.json.binding.v1.SequencePojo;
 import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemeProperty;
 
+import java.awt.Color;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+
 public class JSONFile extends AlignFile implements ComplexAlignFile
 {
   private ColourSchemeI colourScheme;
@@ -105,13 +106,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
   @Override
   public void parse() throws IOException
   {
-    StringBuilder jsonStringBuilder = new StringBuilder();
-    String currentLine;
-    while ((currentLine = nextLine()) != null)
-    {
-      jsonStringBuilder.append(currentLine);
-    }
-    parse(jsonStringBuilder.toString());
+    parse(getReader());
 
   }
 
@@ -354,7 +349,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
   }
 
   @SuppressWarnings("unchecked")
-  public JSONFile parse(String jsonAlignmentString)
+  public JSONFile parse(Reader jsonAlignmentString)
   {
     try
     {