diff src/org/qmul/eecs/c4dm/sia/model/Datapoint.java @ 17:f21eb0fddba2

organized imports added the "subtract" method use the new "Namespaces" class when creating String RESOURCE_URI
author stevenh
date Tue, 08 Jan 2013 18:33:10 +0000
parents 7c2d7e0946b3
children 59ebd2ecbcb0
line wrap: on
line diff
--- a/src/org/qmul/eecs/c4dm/sia/model/Datapoint.java	Tue Jan 08 18:30:14 2013 +0000
+++ b/src/org/qmul/eecs/c4dm/sia/model/Datapoint.java	Tue Jan 08 18:33:10 2013 +0000
@@ -1,15 +1,22 @@
 package org.qmul.eecs.c4dm.sia.model;
 
-import org.qmul.eecs.c4dm.sia.SiaMain;
+import java.util.Vector;
+
+import org.qmul.eecs.c4dm.sia.exceptions.DimensionException;
+import org.qmul.eecs.c4dm.sia.rdf.Namespaces;
 
 import com.hp.hpl.jena.rdf.model.Resource;
 
+/**
+ * @author steven hargreaves
+ *
+ */
 public class Datapoint extends NDimensionalObject {
 	
 	private Resource resource;
 	private int orderedIndex;
 	
-	public static final String RESOURCE_URI    = SiaMain.SIA_NS_URI + "Datapoint";
+	public static final String RESOURCE_URI    = Namespaces.SIA_NS_URI + "Datapoint";
 
 	/**
 	 * @return the resource
@@ -38,5 +45,35 @@
 	public void setOrderedIndex(int orderedIndex) {
 		this.orderedIndex = orderedIndex;
 	}
+	
+	/**
+	 * @param d
+	 * @return
+	 */
+	public NDimensionalObject subtract(Datapoint d)
+	{
+		NDimensionalObject nDimObj = new NDimensionalObject();
+		Vector<DimensionValue> dimVals = new Vector<DimensionValue>();
+		int dimensions = d.getDimensionValues().size();
+		DimensionValue dimVal;
+		
+		for (int dimension = 1; dimension <= dimensions; dimension++)
+		{
+			dimVal = new DimensionValue();
+			dimVal.setDimension(dimension);
+			
+			try {
+				dimVal.setValue(this.getDimensionValue(dimension) - d.getDimensionValue(dimension));
+			} catch (DimensionException e) {
+				e.printStackTrace();
+				System.exit(1);
+			}
+			
+			dimVals.add(dimVal);
+		}
+		
+		nDimObj.setDimensionValues(dimVals);
+		return nDimObj;
+	}
 
 }