JAL-3949 - refactor logging from jalview.bin.Cache to jalview.bin.Console
[jalview.git] / src / jalview / io / vamsas / DatastoreItem.java
index 365f8a8..a65e775 100644 (file)
@@ -1,38 +1,37 @@
 /*
- * 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
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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.io.vamsas;
 
-import jalview.bin.Cache;
-import jalview.datamodel.DBRefEntry;
-import jalview.gui.TreePanel;
-import jalview.io.VamsasAppDatastore;
-
 import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.IdentityHashMap;
 import java.util.Vector;
 
-import org.apache.commons.logging.Log;
-
+import jalview.bin.Console;
+import jalview.io.VamsasAppDatastore;
+import jalview.log.JLoggerLog4j;
+import jalview.util.MessageManager;
 import uk.ac.vamsas.client.IClientDocument;
 import uk.ac.vamsas.client.Vobject;
 import uk.ac.vamsas.client.VorbaId;
-import uk.ac.vamsas.objects.core.DbRef;
 import uk.ac.vamsas.objects.core.Entry;
 import uk.ac.vamsas.objects.core.Provenance;
 import uk.ac.vamsas.objects.core.Seg;
@@ -61,8 +60,8 @@ public abstract class DatastoreItem
   /**
    * shared log instance
    */
-  protected static org.apache.log4j.Logger log = org.apache.log4j.Logger
-          .getLogger(DatastoreItem.class);
+  protected static JLoggerLog4j log = JLoggerLog4j
+          .getLogger(DatastoreItem.class.getCanonicalName());
 
   /**
    * note: this is taken verbatim from jalview.io.VamsasAppDatastore
@@ -75,10 +74,10 @@ public abstract class DatastoreItem
     {
       return cdoc.getObject((VorbaId) jv2vobj.get(jvobj));
     }
-    if (Cache.log.isDebugEnabled())
+    if (Console.isDebugEnabled())
     {
-      Cache.log.debug("Returning null VorbaID binding for jalview object "
-              + jvobj);
+      Console.debug(
+              "Returning null VorbaID binding for jalview object " + jvobj);
     }
     return null;
   }
@@ -96,8 +95,8 @@ public abstract class DatastoreItem
     if (id == null)
     {
       id = cdoc.registerObject(vobj);
-      Cache.log
-              .debug("Registering new object and returning null for getvObj2jv");
+      Console.debug(
+              "Registering new object and returning null for getvObj2jv");
       return null;
     }
     if (vobj2jv.containsKey(vobj.getVorbaId()))
@@ -123,35 +122,38 @@ public abstract class DatastoreItem
       if (id == null || vobj.getVorbaId() == null
               || cdoc.getObject(id) != vobj)
       {
-        Cache.log.error("Failed to get id for "
+        Console.error("Failed to get id for "
                 + (vobj.isRegisterable() ? "registerable"
-                        : "unregisterable") + " object " + vobj);
+                        : "unregisterable")
+                + " object " + vobj);
       }
     }
     if (vobj2jv.containsKey(vobj.getVorbaId())
             && !(vobj2jv.get(vobj.getVorbaId())).equals(jvobj))
     {
-      Cache.log.debug(
+      Console.debug(
               "Warning? Overwriting existing vamsas id binding for "
-                      + vobj.getVorbaId(), new Exception(
-                      "Overwriting vamsas id binding."));
+                      + vobj.getVorbaId(),
+              new Exception(MessageManager.getString(
+                      "exception.overwriting_vamsas_id_binding")));
     }
     else if (jv2vobj.containsKey(jvobj)
             && !((VorbaId) jv2vobj.get(jvobj)).equals(vobj.getVorbaId()))
     {
-      Cache.log.debug(
+      Console.debug(
               "Warning? Overwriting existing jalview object binding for "
-                      + jvobj, new Exception(
-                      "Overwriting jalview object binding."));
+                      + jvobj,
+              new Exception(MessageManager.getString(
+                      "exception.overwriting_jalview_id_binding")));
     }
     /*
-     * Cache.log.error("Attempt to make conflicting object binding! "+vobj+" id "
+     * Cache.error("Attempt to make conflicting object binding! "+vobj+" id "
      * +vobj.getVorbaId()+" already bound to "+getvObj2jv(vobj)+" and "+jvobj+"
      * already bound to "+getjv2vObj(jvobj),new Exception("Excessive call to
      * bindjvvobj")); }
      */
     // we just update the hash's regardless!
-    Cache.log.debug("Binding " + vobj.getVorbaId() + " to " + jvobj);
+    Console.debug("Binding " + vobj.getVorbaId() + " to " + jvobj);
     vobj2jv.put(vobj.getVorbaId(), jvobj);
     // JBPNote - better implementing a hybrid invertible hash.
     jv2vobj.put(jvobj, vobj.getVorbaId());
@@ -169,8 +171,8 @@ public abstract class DatastoreItem
   {
     if (this.jvobj != null && this.vobj != null)
     {
-      Cache.log.debug("updating dsobj registry. ("
-              + this.getClass().getName() + ")");
+      Console.debug("updating dsobj registry. (" + this.getClass().getName()
+              + ")");
     }
     this.jvobj = jvobj;
     this.vobj = vobj;
@@ -192,9 +194,10 @@ public abstract class DatastoreItem
     Object vobject = jv2vobj.remove(oldjvobject);
     if (vobject == null)
     {
-      throw new Error(
-              "IMPLEMENTATION ERROR: old jalview object is not bound ! ("
-                      + oldjvobject + ")");
+      throw new Error(MessageManager.formatMessage(
+              "error.implementation_error_old_jalview_object_not_bound",
+              new String[]
+              { oldjvobject.toString() }));
     }
     if (newjvobject != null)
     {
@@ -233,9 +236,11 @@ public abstract class DatastoreItem
     tojalview = true;
     if (jvobj != null && !(boundType.isAssignableFrom(jvobj.getClass())))
     {
-      throw new Error("Implementation Error: Vamsas Document Class "
-              + vobj.getClass() + " should bind to a " + boundType
-              + " (found a " + jvobj.getClass() + ")");
+      throw new Error(MessageManager.formatMessage(
+              "error.implementation_error_vamsas_doc_class_should_bind_to_type",
+              new String[]
+              { vobj.getClass().toString(), boundType.toString(),
+                  jvobj.getClass().toString() }));
     }
     dsReg.registerDsObj(this);
   }
@@ -261,9 +266,11 @@ public abstract class DatastoreItem
     vobj = getjv2vObj(jvobj);
     if (vobj != null && !(boundToType.isAssignableFrom(vobj.getClass())))
     {
-      throw new Error("Implementation Error: Jalview Class "
-              + jvobj2.getClass() + " should bind to a " + boundToType
-              + " (found a " + vobj.getClass() + ")");
+      throw new Error(MessageManager.formatMessage(
+              "error.implementation_error_vamsas_doc_class_should_bind_to_type",
+              new String[]
+              { jvobj2.getClass().toString(), boundToType.toString(),
+                  vobj.getClass().toString() }));
     }
     dsReg.registerDsObj(this);
   }
@@ -436,8 +443,7 @@ public abstract class DatastoreItem
       end = start;
       start = t;
     }
-    return new int[]
-    { start, end, pol < 0 ? 1 : 0 };
+    return new int[] { start, end, pol < 0 ? 1 : 0 };
   }
 
   /**
@@ -450,9 +456,9 @@ public abstract class DatastoreItem
     jalview.datamodel.Provenance jprov = new jalview.datamodel.Provenance();
     for (int i = 0; i < prov.getEntryCount(); i++)
     {
-      jprov.addEntry(prov.getEntry(i).getUser(), prov.getEntry(i)
-              .getAction(), prov.getEntry(i).getDate(), prov.getEntry(i)
-              .getId());
+      jprov.addEntry(prov.getEntry(i).getUser(),
+              prov.getEntry(i).getAction(), prov.getEntry(i).getDate(),
+              prov.getEntry(i).getId());
     }
 
     return jprov;