@Override public Iterator<AssemblyTask> getAvailableTasks(User user) { IteratorConverter<WorkPost> converter = new IteratorConverter<>(); HashMap<AssemblyTask, String> tasks = new HashMap<AssemblyTask, String>(); for (AssemblyLine line : this.getOrderManager().getMainScheduler().getAssemblyLines()) for (WorkPost post : converter.convert(line.getWorkPostsIterator())) for (AssemblyTask task : post.getResponsibleTasksClone()) if (task.canBeOrdered()) if (!tasks.containsValue(task.toString())) tasks.put(task, task.toString()); return tasks.keySet().iterator(); }
@Override public Iterator<AssemblyTask> getFinishedTasks(User user, WorkPost wp) throws NoClearanceException { if (user.canPerfomAssemblyTask()) return wp.getFinishedTasks(); else throw new NoClearanceException(); }