Mercurial > hg > semantic-sia
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; + } }