/** * Creates a list of empty {@link TaskGroup} instances for a range of container id's * from the start(inclusive) to end(exclusive) container id. * * @param startContainerId the first container id for which a TaskGroup is needed. * @param endContainerId the first container id AFTER the last TaskGroup that is needed. * @return a set of empty TaskGroup instances corresponding to the range * [startContainerId, endContainerId) */ private List<TaskGroup> createContainers(int startContainerId, int endContainerId) { List<TaskGroup> containers = new ArrayList<>(endContainerId - startContainerId); for (int i = startContainerId; i < endContainerId; i++) { TaskGroup taskGroup = new TaskGroup(String.valueOf(i), new ArrayList<String>()); containers.add(taskGroup); } return containers; }
/** * Creates a list of empty {@link TaskGroup} instances for a range of container id's * from the start(inclusive) to end(exclusive) container id. * * @param startContainerId the first container id for which a TaskGroup is needed. * @param endContainerId the first container id AFTER the last TaskGroup that is needed. * @return a set of empty TaskGroup instances corresponding to the range * [startContainerId, endContainerId) */ private List<TaskGroup> createContainers(int startContainerId, int endContainerId) { List<TaskGroup> containers = new ArrayList<>(endContainerId - startContainerId); for (int i = startContainerId; i < endContainerId; i++) { TaskGroup taskGroup = new TaskGroup(String.valueOf(i), new ArrayList<String>()); containers.add(taskGroup); } return containers; }
/** * Creates a list of empty {@link TaskGroup} instances for a range of container id's * from the start(inclusive) to end(exclusive) container id. * * @param startContainerId the first container id for which a TaskGroup is needed. * @param endContainerId the first container id AFTER the last TaskGroup that is needed. * @return a set of empty TaskGroup instances corresponding to the range * [startContainerId, endContainerId) */ private List<TaskGroup> createContainers(int startContainerId, int endContainerId) { List<TaskGroup> containers = new ArrayList<>(endContainerId - startContainerId); for (int i = startContainerId; i < endContainerId; i++) { TaskGroup taskGroup = new TaskGroup(String.valueOf(i), new ArrayList<String>()); containers.add(taskGroup); } return containers; }
/** * Converts the task->containerId map to an ordered list of {@link TaskGroup} instances. * * @param taskToContainerId a map from each task name to the containerId to which it is assigned. * @return a list of TaskGroups ordered ascending by containerId. */ private List<TaskGroup> getOrderedContainers(Map<String, String> taskToContainerId) { log.debug("Got task to container map: {}", taskToContainerId); // Group tasks by container Id HashMap<String, List<String>> containerIdToTaskNames = new HashMap<>(); for (Map.Entry<String, String> entry : taskToContainerId.entrySet()) { String taskName = entry.getKey(); String containerId = entry.getValue(); List<String> taskNames = containerIdToTaskNames.get(containerId); if (taskNames == null) { taskNames = new ArrayList<>(); containerIdToTaskNames.put(containerId, taskNames); } taskNames.add(taskName); } // Build container tasks List<TaskGroup> containerTasks = new ArrayList<>(containerIdToTaskNames.size()); for (int i = 0; i < containerIdToTaskNames.size(); i++) { if (containerIdToTaskNames.get(String.valueOf(i)) == null) throw new IllegalStateException("Task mapping is missing container: " + i); containerTasks.add(new TaskGroup(String.valueOf(i), containerIdToTaskNames.get(String.valueOf(i)))); } return containerTasks; }
/** * Converts the task->containerId map to an ordered list of {@link TaskGroup} instances. * * @param taskToContainerId a map from each task name to the containerId to which it is assigned. * @return a list of TaskGroups ordered ascending by containerId. */ private List<TaskGroup> getOrderedContainers(Map<String, String> taskToContainerId) { log.debug("Got task to container map: {}", taskToContainerId); // Group tasks by container Id HashMap<String, List<String>> containerIdToTaskNames = new HashMap<>(); for (Map.Entry<String, String> entry : taskToContainerId.entrySet()) { String taskName = entry.getKey(); String containerId = entry.getValue(); List<String> taskNames = containerIdToTaskNames.get(containerId); if (taskNames == null) { taskNames = new ArrayList<>(); containerIdToTaskNames.put(containerId, taskNames); } taskNames.add(taskName); } // Build container tasks List<TaskGroup> containerTasks = new ArrayList<>(containerIdToTaskNames.size()); for (int i = 0; i < containerIdToTaskNames.size(); i++) { if (containerIdToTaskNames.get(String.valueOf(i)) == null) throw new IllegalStateException("Task mapping is missing container: " + i); containerTasks.add(new TaskGroup(String.valueOf(i), containerIdToTaskNames.get(String.valueOf(i)))); } return containerTasks; }
/** * Converts the task->containerId map to an ordered list of {@link TaskGroup} instances. * * @param taskToContainerId a map from each task name to the containerId to which it is assigned. * @return a list of TaskGroups ordered ascending by containerId. */ private List<TaskGroup> getOrderedContainers(Map<String, String> taskToContainerId) { log.debug("Got task to container map: {}", taskToContainerId); // Group tasks by container Id HashMap<String, List<String>> containerIdToTaskNames = new HashMap<>(); for (Map.Entry<String, String> entry : taskToContainerId.entrySet()) { String taskName = entry.getKey(); String containerId = entry.getValue(); List<String> taskNames = containerIdToTaskNames.get(containerId); if (taskNames == null) { taskNames = new ArrayList<>(); containerIdToTaskNames.put(containerId, taskNames); } taskNames.add(taskName); } // Build container tasks List<TaskGroup> containerTasks = new ArrayList<>(containerIdToTaskNames.size()); for (int i = 0; i < containerIdToTaskNames.size(); i++) { if (containerIdToTaskNames.get(String.valueOf(i)) == null) throw new IllegalStateException("Task mapping is missing container: " + i); containerTasks.add(new TaskGroup(String.valueOf(i), containerIdToTaskNames.get(String.valueOf(i)))); } return containerTasks; }
/** * Converts the task->containerId map to an ordered list of {@link TaskGroup} instances. * * @param taskToContainerId a map from each task name to the containerId to which it is assigned. * @return a list of TaskGroups ordered ascending by containerId. */ private List<TaskGroup> getOrderedContainers(Map<String, String> taskToContainerId) { log.debug("Got task to container map: {}", taskToContainerId); // Group tasks by container Id HashMap<String, List<String>> containerIdToTaskNames = new HashMap<>(); for (Map.Entry<String, String> entry : taskToContainerId.entrySet()) { String taskName = entry.getKey(); String containerId = entry.getValue(); List<String> taskNames = containerIdToTaskNames.get(containerId); if (taskNames == null) { taskNames = new ArrayList<>(); containerIdToTaskNames.put(containerId, taskNames); } taskNames.add(taskName); } // Build container tasks List<TaskGroup> containerTasks = new ArrayList<>(containerIdToTaskNames.size()); for (int i = 0; i < containerIdToTaskNames.size(); i++) { if (containerIdToTaskNames.get(String.valueOf(i)) == null) throw new IllegalStateException("Task mapping is missing container: " + i); containerTasks.add(new TaskGroup(String.valueOf(i), containerIdToTaskNames.get(String.valueOf(i)))); } return containerTasks; }
/** * Creates a list of empty {@link TaskGroup} instances for a range of container id's * from the start(inclusive) to end(exclusive) container id. * * @param startContainerId the first container id for which a TaskGroup is needed. * @param endContainerId the first container id AFTER the last TaskGroup that is needed. * @return a set of empty TaskGroup instances corresponding to the range * [startContainerId, endContainerId) */ private List<TaskGroup> createContainers(int startContainerId, int endContainerId) { List<TaskGroup> containers = new ArrayList<>(endContainerId - startContainerId); for (int i = startContainerId; i < endContainerId; i++) { TaskGroup taskGroup = new TaskGroup(String.valueOf(i), new ArrayList<String>()); containers.add(taskGroup); } return containers; }