/** * Get the location ids out of the location groups settings. * * @return map of location group to location id */ public Map<String, String> getLocationIds() { Map<String, String> locationIds = Maps.newHashMap(); for (NodeGroup group : safe(locationGroups).values()) { for (AbstractPolicy policy : safe(group.getPolicies())) { if (policy instanceof LocationPlacementPolicy) { locationIds.put(group.getName(), ((LocationPlacementPolicy) policy).getLocationId()); } } } return locationIds; }
/** * Get the location on which a Deployment Topology should be deployed. * * @param deploymentTopology the deployment topology. * @return map of location group to location id */ public static Map<String, String> getLocationIds(DeploymentTopology deploymentTopology) { Map<String, String> locationIds = Maps.newHashMap(); if (MapUtils.isNotEmpty(deploymentTopology.getLocationGroups())) { for (NodeGroup group : deploymentTopology.getLocationGroups().values()) { for (AbstractPolicy policy : group.getPolicies()) { if (policy instanceof LocationPlacementPolicy) { locationIds.put(group.getName(), ((LocationPlacementPolicy) policy).getLocationId()); } } } } return locationIds; } }