boolean deploy(AssetDeployment deployment) { // Clone the state AssetGraph graphClone = new AssetGraph(graph); HashMap<String, AssetNode> assetsClone = new HashMap<String, AssetNode>(assets); for (AssetNode asset : deployment.assets) { // Check it was not previously deployed if (!assetsClone.keySet().contains(asset.id)) { for (AssetNode deployed : assetsClone.values()) { if (deployed.iDependOn.contains(asset.id)) { if (!graphClone.register(asset.id, deployed.id)) { return false; } } if (asset.iDependOn.contains(deployed.id)) { if (!graphClone.register(deployed.id, asset.id)) { return false; } } } assetsClone.put(asset.id, asset); } else { // log it ? return false; } } // Everything went fine we updated the manager assets = assetsClone; graph = graphClone; return true; }
boolean deploy(AssetDeployment deployment) { // Clone the state AssetGraph graphClone = new AssetGraph(graph); HashMap<String, AssetNode> assetsClone = new HashMap<String, AssetNode>(assets); for (AssetNode asset : deployment.assets) { // Check it was not previously deployed if (!assetsClone.keySet().contains(asset.id)) { for (AssetNode deployed : assetsClone.values()) { if (deployed.iDependOn.contains(asset.id)) { if (!graphClone.register(asset.id, deployed.id)) { return false; } } if (asset.iDependOn.contains(deployed.id)) { if (!graphClone.register(deployed.id, asset.id)) { return false; } } } assetsClone.put(asset.id, asset); } else { // log it ? return false; } } // Everything went fine we updated the manager assets = assetsClone; graph = graphClone; return true; }