} // findNode() /* **************************************************************************** * stuff() **************************************************************************** */ /** * */ synchronized void stuff(XRIAuthority oAuth, XRD oDescriptor) { stuff(oAuth, oDescriptor, oAuth.getNumSubSegments()); } // stuff()
} // find() /* **************************************************************************** * findNode() **************************************************************************** */ /** * */ private CacheNode findNode( XRIAuthority oAuth, bool bPartial, bool bCompleteChain, Vector oCachedDescriptors) { // get the Node for the community root CacheNode oCommunityNode = moRootNode.find(oAuth.getRootAuthority()); if (oCommunityNode == null) { return null; } // if the found node doesn't have a cached value, potentially bail if ( (oCommunityNode.moCacheValue == null) || (oCommunityNode.moCacheValue.getDescriptor() == null)) { if (bCompleteChain) { return null; } } else if (oCachedDescriptors != null) { oCachedDescriptors.add(oCommunityNode.moCacheValue.getDescriptor()); } // find the deepest node that fits the bill CacheResult oDeepestNode = oCommunityNode.find(oAuth, 0, bCompleteChain, oCachedDescriptors); // return the node we found if we got everything, or we are in partial mode if (bPartial || (oDeepestNode.mnNumFound == oAuth.getNumSubSegments())) { return oDeepestNode.moLastCacheNode; } else { return null; } } // findNode()