JAL-1645 Version-Rel Version 2.9 Year-Rel 2015 Licensing glob
[jalview.git] / src / jalview / ws / jws1 / Annotate3D.java
index a30a9a1..f3516b7 100644 (file)
@@ -1,27 +1,30 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 The Jalview Authors
  * 
  * 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 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * 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 
  * 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/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.ws.jws1;
 
-import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.io.FileParse;
 import jalview.io.FormatAdapter;
 import jalview.io.InputStreamParser;
+import jalview.util.MessageManager;
 
 import java.io.BufferedReader;
 import java.io.FileReader;
@@ -31,6 +34,7 @@ import java.io.Reader;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLEncoder;
+import java.util.Iterator;
 
 public class Annotate3D
 {
@@ -76,12 +80,23 @@ public class Annotate3D
           sb.append(cbuff[i]);
         }
       }
-
-      FileParse fp = new InputStreamParser(
-              jalview.ext.paradise.Annotate3D.getRNAMLForPDBFileAsString(sb
-                      .toString()), source.getDataName());
-      AlignmentI nal = new FormatAdapter().readFromFile(fp, "RNAML");
-      return nal;
+      Iterator<Reader> r = jalview.ext.paradise.Annotate3D
+              .getRNAMLForPDBFileAsString(sb.toString());
+      AlignmentI al = null;
+      while (r.hasNext())
+      {
+        FileParse fp = new InputStreamParser(r.next(), source.getDataName());
+        AlignmentI nal = new FormatAdapter().readFromFile(fp, "RNAML");
+        if (al == null)
+        {
+          al = nal;
+        }
+        else
+        {
+          al.append(nal);
+        }
+      }
+      return al;
     } catch (Throwable x)
     {
       if (x instanceof IOException)
@@ -91,7 +106,8 @@ public class Annotate3D
       else
       {
         throw new IOException(
-                "Unexpected exception when handling RNAML translation of PDB data",
+                MessageManager
+                        .getString("exception.unexpected_handling_rnaml_translation_for_pdb"),
                 x);
       }
     }