# HG changeset patch # User stevenh # Date 1357669990 0 # Node ID f21eb0fddba2eed8a89a9116a1ab45d725604171 # Parent 6863887e1b70b77f0238e7cea4bdb0f6a460bdc6 organized imports added the "subtract" method use the new "Namespaces" class when creating String RESOURCE_URI diff -r 6863887e1b70 -r f21eb0fddba2 src/org/qmul/eecs/c4dm/sia/model/Datapoint.java --- 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 dimVals = new Vector(); + 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; + } }