@Override public Iterator<ArrayList<VehicleOption>> getUnscheduledVehicleOptions(User user) throws NoClearanceException { if (user.canChangeAlgorithm()) return this.getOrderManager().getMainScheduler().getUnscheduledVehicleOptions(); else throw new NoClearanceException(); }
@Override public Iterator<AssemblyLine> getAssemblyLines(User user) throws NoClearanceException { if (user.canViewAssemblyLines()) { SafeIterator<AssemblyLine> safe = new SafeIterator<>(); safe.convertIterator(this.getOrderManager().getMainScheduler().getAssemblyLines().iterator()); return safe; } else throw new NoClearanceException(); }
@Override public Iterator<String> getAvailableAssemblyLineStatus( User user, AssemblyLine selectedAssemblyLine) throws NoClearanceException { if (user.canChangeOperationalStatus()) { return selectedAssemblyLine.getAllPossibleStates(); } else { throw new NoClearanceException(); } }
@Override public String getCurrentAssemblyLineStatus(User user, AssemblyLine selectedAssemblyLine) throws NoClearanceException { if (user.canChangeOperationalStatus()) { return selectedAssemblyLine.currentState(); } else { throw new NoClearanceException(); } }
@Override public VehicleStatistics getVehicleStatistics(User user) throws NoClearanceException { if (user.canViewStatistics()) return this.statisticsmanager.getVehicleStatistics(); else throw new NoClearanceException(); }
/** * Method to get the User given a username. * * @param username * @return * @throws IllegalArgumentException */ private User getUser(String username) throws IllegalArgumentException { for (User user : this.getUsers()) if (user.getUsername().equals(username)) return user; throw new IllegalArgumentException("Username doesn't exist!"); }
@Override public String getCurrentSystemWideAlgorithm(User user) throws NoClearanceException { if (user.canChangeAlgorithm()) return this.getOrderManager().getMainScheduler().getAlgorithm(); else throw new NoClearanceException(); }
@Override public Iterator<AssemblyTask> getFinishedTasks(User user, WorkPost wp) throws NoClearanceException { if (user.canPerfomAssemblyTask()) return wp.getFinishedTasks(); else throw new NoClearanceException(); }