Merge branch 'patch/JAL-3700_JAL-3748_JAL-3763_for_2_11_1_3' into releases/Release_2_...
[jalview.git] / src / MCview / Atom.java
index 7847ccd..a2ce2ae 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
- * Copyright (C) 2015 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -81,16 +81,16 @@ public class Atom
     chain = str.substring(21, 22);
 
     resNumber = Integer.parseInt(str.substring(22, 26).trim());
-    resNumIns = str.substring(22, 27);
+    resNumIns = str.substring(22, 27).trim();
     insCode = str.substring(26, 27).charAt(0);
-    this.x = (new Float(str.substring(30, 38).trim()).floatValue());
-    this.y = (new Float(str.substring(38, 46).trim()).floatValue());
-    this.z = (new Float(str.substring(47, 55).trim()).floatValue());
+    this.x = (Float.valueOf(str.substring(30, 38).trim()).floatValue());
+    this.y = (Float.valueOf(str.substring(38, 46).trim()).floatValue());
+    this.z = (Float.valueOf(str.substring(47, 55).trim()).floatValue());
     // optional entries - see JAL-730
     String tm = str.substring(54, 60).trim();
     if (tm.length() > 0)
     {
-      occupancy = (new Float(tm)).floatValue();
+      occupancy = (Float.valueOf(tm)).floatValue();
     }
     else
     {
@@ -100,7 +100,7 @@ public class Atom
     tm = str.substring(60, 66).trim();
     if (tm.length() > 0)
     {
-      tfactor = (new Float(tm).floatValue());
+      tfactor = (Float.valueOf(tm).floatValue());
     }
     else
     {
@@ -109,6 +109,24 @@ public class Atom
     }
   }
 
+  @Override
+  public boolean equals(Object that)
+  {
+    if (this == that || that == null)
+    {
+      return true;
+    }
+    if (that instanceof Atom)
+    {
+      Atom other = (Atom) that;
+      return other.resName.equals(this.resName)
+              && other.resNumber == this.resNumber
+              && other.resNumIns.equals(this.resNumIns)
+              && other.chain.equals(this.chain);
+    }
+    return false;
+  }
+
   public Atom(float x, float y, float z)
   {
     this.x = x;