/** Returns the dimension values, in order of tree level, to this node. */ public Map<Integer, Integer> getPathValues() { StarTreeIndexNode current = this; Map<Integer, Integer> values = new HashMap<Integer, Integer>(); while (current != null && current.getParent() != null) { values.put(current.getDimensionName(), current.getDimensionValue()); current = current.getParent(); } return values; }
/** Returns the dimension IDs, in order of tree level, to this node. */ public List<Integer> getPathDimensions() { StarTreeIndexNode current = this; List<Integer> dimensions = new LinkedList<Integer>(); while (current != null && current.getParent() != null) { dimensions.add(0, current.getDimensionName()); current = current.getParent(); } return dimensions; }