if (key1.getHashing().compareTo(key2.getHashing()) == -1) { if (hashing.compareTo(key1.getHashing()) == 1 && (hashing.compareTo(key2.getHashing()) == -1 || hashing .compareTo(key2.getHashing()) == 0)) { return true; if (key1.getHashing().compareTo(key2.getHashing()) == 1) { if ((hashing.compareTo(key1.getHashing()) == 1 && hashing .compareTo(key2.getHashing()) == 1) || hashing.compareTo(key2.getHashing()) == 0) { return true; } else { if (hashing.compareTo(key1.getHashing()) == -1 && hashing.compareTo(key2.getHashing()) == -1) { return true; if (hashing.compareTo(key2.getHashing()) == 0) { return true;
if (key1.getHashing().compareTo(key2.getHashing()) == -1) { if (hashing.compareTo(key1.getHashing()) == 1 && (hashing.compareTo(key2.getHashing()) == -1)) { return true; if (key1.getHashing().compareTo(key2.getHashing()) == 1) { if (hashing.compareTo(key1.getHashing()) == 1 && hashing.compareTo(key2.getHashing()) == 1) { return true; } else { if (hashing.compareTo(key1.getHashing()) == -1 && hashing.compareTo(key2.getHashing()) == -1) { return true; if (hashing.compareTo(key2.getHashing()) == 0) { return true;
/** * Replicates the specified file in its successors. * * @param resourceId The specified {@link Resource} to replicate. * @throws OverlayException */ public void replicateData(String resourceId, ProgressStatus progressStatus) throws OverlayException, StorageException { Key[] succesorList = overlayNode.getNeighborsList(); for (int i = 0; i < Math.min(replicationFactor, succesorList.length); i++) { Resource resource = resourceManager.find(resourceId); log .debug("Replicate File: [" + resource.getId() + "] Hashing: [" + succesorList[i].getHashing() + "]"); log.debug("Replicate to " + succesorList[i].getHashing()); put(resource, succesorList[i], false, progressStatus); } }
boolean putSync(Resource resource, ProgressStatus progressStatus) throws StorageException { progressStatus.status("put", 0L, 1L); progressStatus.status("overlay-node-lookup", 0L, 1L); Key key = keyFactory.newKey(resource.getId()); log.debug("Resource to put: [" + resource.getId() + "] Hashing: [" + key.getHashing() + "]"); Key lookupKey = overlayNode.lookUp(key); progressStatus.status("overlay-node-lookup", 1L, 1L); if (lookupKey == null) { log.error("Impossible to do put the resource: " + resource.getId() + " in this moment"); throw new StorageException("Impossible to do put the resource: " + resource.getId() + " in this moment"); } log.debug("Lookup key for " + key.getHashing() + ": [" + lookupKey.getValue() + "]"); boolean success = put(resource, lookupKey, true, progressStatus); progressStatus.status("put", 1L, 1L); return success; }