/** * @see org.geotools.index.quadtree.Node#getSubNode(int) */ public Node getSubNode(int pos) throws StoreException { if (this.subNodes.size() > pos) { return super.getSubNode(pos); } try { FileSystemNode subNode = null; // Getting prec subNode... int offset = this.subNodeStartByte; if (pos > 0) { subNode = (FileSystemNode) getSubNode(pos - 1); offset = subNode.getSubNodeStartByte() + subNode.getSubNodesLength(); } buffer.goTo(offset); for (int i = 0, ii = subNodes.size(); i < ((pos + 1) - ii); i++) { subNode = readNode(pos, this, buffer); this.addSubNode(subNode); } } catch (IOException e) { throw new StoreException(e); } return super.getSubNode(pos); }
/** * @see org.geotools.index.quadtree.Node#getSubNode(int) */ public Node getSubNode(int pos) throws StoreException { if (this.subNodes.size() > pos) { return super.getSubNode(pos); } try { FileSystemNode subNode = null; // Getting prec subNode... int offset = this.subNodeStartByte; if (pos > 0) { subNode = (FileSystemNode) getSubNode(pos - 1); offset = subNode.getSubNodeStartByte() + subNode.getSubNodesLength(); } buffer.goTo(offset); for (int i = 0, ii = subNodes.size(); i < ((pos + 1) - ii); i++) { subNode = readNode(pos, this, buffer); this.addSubNode(subNode); } } catch (IOException e) { throw new StoreException(e); } return super.getSubNode(pos); }
/** * @see org.geotools.index.quadtree.Node#getSubNode(int) */ public Node getSubNode(int pos) throws StoreException { if (this.subNodes.size() > pos) { return super.getSubNode(pos); } try { FileSystemNode subNode = null; // Getting prec subNode... int offset = this.subNodeStartByte; if (pos > 0) { subNode = (FileSystemNode) getSubNode(pos - 1); offset = subNode.getSubNodeStartByte() + subNode.getSubNodesLength(); } buffer.goTo(offset); for (int i = 0, ii = subNodes.size(); i < ((pos + 1) - ii); i++) { subNode = readNode(pos, this, buffer); this.addSubNode(subNode); } } catch (IOException e) { throw new StoreException(e); } return super.getSubNode(pos); }