changeset 8:842ce6ca6e29

modified the 'compareTo' method so that it is now an extension of the base version given in the superclass
author stevenh
date Tue, 01 Jan 2013 21:18:18 +0000
parents ffd47645ca13
children 3dc7ce380afe
files src/org/qmul/eecs/c4dm/sia/model/VectorTableElement.java
diffstat 1 files changed, 17 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/src/org/qmul/eecs/c4dm/sia/model/VectorTableElement.java	Tue Jan 01 21:16:49 2013 +0000
+++ b/src/org/qmul/eecs/c4dm/sia/model/VectorTableElement.java	Tue Jan 01 21:18:18 2013 +0000
@@ -1,10 +1,6 @@
 package org.qmul.eecs.c4dm.sia.model;
 
-import java.util.Iterator;
-import java.util.Vector;
-
 import org.qmul.eecs.c4dm.sia.SiaMain;
-import org.qmul.eecs.c4dm.sia.exceptions.DimensionException;
 
 import com.hp.hpl.jena.rdf.model.Resource;
 
@@ -12,7 +8,7 @@
  * @author stevenhargreaves
  *
  */
-public class VectorTableElement extends NDimensionalObject implements Comparable {
+public class VectorTableElement extends NDimensionalObject {
 	
 	private Datapoint fromDatapoint;
 	private Datapoint toDatapoint;
@@ -67,59 +63,32 @@
 	 */
 	@Override
 	public int compareTo(Object o2) {
-		VectorTableElement vte2 = (VectorTableElement)o2;
 		
-		Vector<DimensionValue> vte2DimVals = vte2.getDimensionValues();
+		int compareResult = super.compareTo(o2);
 		
-		int vte2DimSize = vte2DimVals.size();
+		if (compareResult == 0)
+		{
+			VectorTableElement vte2 = (VectorTableElement)o2;
 		
-		if (vte2DimSize != this.getDimensionValues().size())
-			throw new ClassCastException("VectorTableElements have an unequal number of dimensions");
-		
-		Iterator<DimensionValue> vte1DimValsIter = this.getDimensionValues().iterator();
-		Iterator<DimensionValue> vte2DimValsIter = vte2DimVals.iterator();
-		
-		DimensionValue vte1DimVal;
-		DimensionValue vte2DimVal;
-		
-		for (int dimension = 1; dimension <= vte2DimSize; dimension++)
-		{
-			double dimension1 = 0;
-			try {
-				dimension1 = this.getDimensionValue(dimension);
-			} catch (DimensionException e) {
-				System.out.println(e.getMessage());
-				e.printStackTrace();
-				System.exit(-1);
-			}
-			double dimension2 = 0;
-			try {
-				dimension2 = vte2.getDimensionValue(dimension);
-			} catch (DimensionException e) {
-				System.out.println(e.getMessage());
-				e.printStackTrace();
-				System.exit(-1);
-			}
-			
-			if (dimension1 < dimension2)
+			if (this.getFromDatapoint().getOrderedIndex() < vte2.getFromDatapoint().getOrderedIndex())
 			{
 				return -1;
 			}
-			else if (dimension1 > dimension2)
+			else if (this.getFromDatapoint().getOrderedIndex() > vte2.getFromDatapoint().getOrderedIndex())
 			{
 				return 1;
 			}
+			else
+			{
+				return 0;
+			}
 		}
-		
-		if (this.getFromDatapoint().getOrderedIndex() < vte2.getFromDatapoint().getOrderedIndex())
-		{
-			return -1;
-		}
-		else if (this.getFromDatapoint().getOrderedIndex() > vte2.getFromDatapoint().getOrderedIndex())
-		{
-			return 1;
-		}
-		return 0;
+		return compareResult;
 	}
 
+	public int compareToIgnoreDatapoints(Object o2) {
+		
+		int compareResult = super.compareTo(o2);
+		return compareResult;
+	}
 }