JAL-1894 update year/version in copyright
[jalview.git] / src / jalview / datamodel / CigarBase.java
index 15c600d..420a95e 100644 (file)
@@ -1,24 +1,28 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
+ * 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.datamodel;
 
-import java.util.*;
+import jalview.util.MessageManager;
+
+import java.util.Vector;
 
 public abstract class CigarBase
 {
@@ -97,8 +101,7 @@ public abstract class CigarBase
       case D:
         if (!consecutive_del)
         {
-          deletions[++delcount] = new int[]
-          { cursor, 0, alcursor };
+          deletions[++delcount] = new int[] { cursor, 0, alcursor };
         }
         cursor += range[i];
         deletions[delcount][1] = cursor - 1;
@@ -142,7 +145,9 @@ public abstract class CigarBase
         endpos = alcursor;
         break;
       default:
-        throw new Error("Unknown SeqCigar operation '" + operation[i] + "'");
+        throw new Error(MessageManager.formatMessage(
+                "error.unknown_seq_cigar_operation",
+                new String[] { new StringBuffer(operation[i]).toString() }));
       }
     }
     if (++delcount > 0)
@@ -151,9 +156,8 @@ public abstract class CigarBase
       System.arraycopy(deletions, 0, trunc_deletions, 0, delcount);
     }
     deletions = null;
-    return new Object[]
-    { ((reference != null) ? sq.toString() : null), new int[]
-    { start, startpos, end, endpos }, trunc_deletions };
+    return new Object[] { ((reference != null) ? sq.toString() : null),
+        new int[] { start, startpos, end, endpos }, trunc_deletions };
   }
 
   protected void compact_operations()
@@ -221,7 +225,9 @@ public abstract class CigarBase
       } while (c >= '0' && c <= '9' && j < l);
       if (j >= l && c >= '0' && c <= '9')
       {
-        throw new Exception("Unterminated cigar string.");
+        throw new Exception(
+                MessageManager
+                        .getString("exception.unterminated_cigar_string"));
       }
       try
       {
@@ -230,7 +236,9 @@ public abstract class CigarBase
         i = j;
       } catch (Exception e)
       {
-        throw new Error("Implementation bug in parseCigarString");
+        throw new Error(
+                MessageManager
+                        .getString("error.implementation_bug_parse_cigar_string"));
       }
       if (c >= 'a' && c <= 'z')
       {
@@ -242,13 +250,13 @@ public abstract class CigarBase
       }
       else
       {
-        throw new Exception("Unexpected operation '" + c
-                + "' in cigar string (position " + i + " in '"
-                + cigarString + "'");
+        throw new Exception(MessageManager.formatMessage(
+                "exception.unexpected_operation_cigar_string_pos",
+                new String[] { new StringBuffer(c).toString(),
+                    Integer.valueOf(i).toString(), cigarString }));
       }
     }
-    return new Object[]
-    { operation, range };
+    return new Object[] { operation, range };
   }
 
   /**
@@ -267,7 +275,9 @@ public abstract class CigarBase
     }
     if (op != M && op != D && op != I)
     {
-      throw new Error("Implementation error. Invalid operation string.");
+      throw new Error(
+              MessageManager
+                      .getString("error.implementation_error_invalid_operation_string"));
     }
     if (range == 0)
     {
@@ -276,7 +286,7 @@ public abstract class CigarBase
     if (range < 0)
     {
       throw new Error(
-              "Invalid range string (must be zero or positive number)");
+              MessageManager.getString("error.invalid_range_string"));
     }
     int lngth = 0;
     if (operation == null)
@@ -389,7 +399,8 @@ public abstract class CigarBase
     if (start < 0 || start > end)
     {
       throw new Error(
-              "Implementation Error: deleteRange out of bounds: start must be non-negative and less than end.");
+              MessageManager
+                      .getString("error.implementation_error_delete_range_out_of_bounds"));
     }
     // find beginning
     int cursor = 0; // mark the position for the current operation being edited.
@@ -461,10 +472,13 @@ public abstract class CigarBase
           }
           break;
         case D:
-          throw new Error("Implementation error."); // do nothing;
+          throw new Error(
+                  MessageManager.getString("error.implementation_error")); // do
+                                                                           // nothing;
         default:
-          throw new Error("Implementation Error! Unknown operation '"
-                  + oldops[o] + "'");
+          throw new Error(MessageManager.formatMessage(
+                  "error.implementation_error_unknown_operation",
+                  new String[] { new StringBuffer(oldops[o]).toString() }));
         }
         rlength -= remain;
         remain = oldrange[++o]; // number of op characters left to edit
@@ -523,8 +537,7 @@ public abstract class CigarBase
         vcursor += range[i];
         break;
       case D:
-        dr.addElement(new int[]
-        { vcursor, cursor, range[i] });
+        dr.addElement(new int[] { vcursor, cursor, range[i] });
         cursor += range[i];
       }
     }