Revert "JAL-2245 Castor mapping and code changes for change to ENA XML format"
[jalview.git] / src / jalview / datamodel / xdb / embl / EmblFile.java
index 534b38c..69870b6 100644 (file)
@@ -20,7 +20,6 @@
  */
 package jalview.datamodel.xdb.embl;
 
-import jalview.bin.Cache;
 import jalview.datamodel.DBRefEntry;
 import jalview.ws.dbsources.Uniprot;
 
@@ -28,7 +27,6 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.PrintWriter;
 import java.io.Reader;
-import java.net.URL;
 import java.util.Vector;
 
 import org.exolab.castor.mapping.Mapping;
@@ -83,12 +81,12 @@ public class EmblFile
   }
 
   /**
-   * Parse an Embl XML file into an EmblEntry object
+   * Parse an EmblXML file into an EmblFile object
    * 
    * @param file
    * @return parsed EmblXML or null if exceptions were raised
    */
-  public static EmblEntry getEmblEntry(File file)
+  public static EmblFile getEmblFile(File file)
   {
     if (file == null)
     {
@@ -96,7 +94,7 @@ public class EmblFile
     }
     try
     {
-      return EmblFile.getEntry(new FileReader(file));
+      return EmblFile.getEmblFile(new FileReader(file));
     } catch (Exception e)
     {
       System.err.println("Exception whilst reading EMBLfile from " + file);
@@ -105,32 +103,26 @@ public class EmblFile
     return null;
   }
 
-  /**
-   * Reads the XML response from file and unmarshals into a Java object
-   * 
-   * @param fileReader
-   * @return
-   */
-  public static EmblEntry getEntry(Reader fileReader)
+  public static EmblFile getEmblFile(Reader file)
   {
-    EmblEntry record = new EmblEntry();
+    EmblFile record = new EmblFile();
     try
     {
       // 1. Load the mapping information from the file
       Mapping map = new Mapping(record.getClass().getClassLoader());
 
-      URL url = record.getClass().getResource("/embl_mapping.xml");
+      java.net.URL url = record.getClass().getResource("/embl_mapping.xml");
       map.loadMapping(url);
 
       // 2. Unmarshal the data
       Unmarshaller unmar = new Unmarshaller(record);
       try
       {
-        if (Cache.getDefault(Cache.CASTORLOGLEVEL,
+        // uncomment to DEBUG EMBLFile reading
+        if (jalview.bin.Cache.getDefault(jalview.bin.Cache.CASTORLOGLEVEL,
                 "debug").equalsIgnoreCase("DEBUG"))
         {
-          unmar.setDebug(Cache.log.isDebugEnabled());
-          // unmar.setDebug(true);// uncomment to debug unmarshalling
+          unmar.setDebug(jalview.bin.Cache.log.isDebugEnabled());
         }
       } catch (Exception e)
       {
@@ -139,7 +131,7 @@ public class EmblFile
       unmar.setIgnoreExtraAttributes(true);
       unmar.setMapping(map);
       unmar.setLogWriter(new PrintWriter(System.out));
-      record = (EmblEntry) unmar.unmarshal(fileReader);
+      record = (EmblFile) unmar.unmarshal(file);
 
       canonicaliseDbRefs(record);
     } catch (Exception e)
@@ -155,17 +147,13 @@ public class EmblFile
    * Change blank version to "0" in any DBRefEntry, to ensure consistent
    * comparison with other DBRefEntry in Jalview
    * 
-   * @param entry
+   * @param record
    * @see Uniprot#getDbVersion
    */
-  static void canonicaliseDbRefs(EmblEntry entry)
+  static void canonicaliseDbRefs(EmblFile record)
   {
-    if (entry == null)
+    for (EmblEntry entry : record.getEntries())
     {
-      return;
-    }
-//    for (EmblEntry entry : record.getEntries())
-//    {
       if (entry.getDbRefs() != null)
       {
         for (DBRefEntry dbref : entry.getDbRefs())
@@ -177,7 +165,7 @@ public class EmblFile
         }
       }
 
-    if (entry.getFeatures() != null)
+      if (entry.getFeatures() != null)
       {
         for (EmblFeature feature : entry.getFeatures())
         {
@@ -193,6 +181,6 @@ public class EmblFile
           }
         }
       }
-    // }
+    }
   }
 }