/* * (non-Javadoc) * * @see gruppen.IGruppenVerwaltung#leseWarteposition(gruppen.Anmeldung) */ public long leseWarteposition(Anmeldung<T> anmeldung) { if (anmeldung.getBelegtVon() != null) { return -1; } Gruppe<T> g = anmeldung.getGruppe(); List<Anmeldung<T>> anmeldungen = g.getAnmeldungen(); sortByAnmeldeZeitpunkt(anmeldungen); return anmeldungen.indexOf(anmeldung); }
public void erzeugeGruppe(Gruppe<T> gruppe) { Gruppe<T> alt = leseGruppe(gruppe.getName(), gruppe.getTyp()); if (alt != null) { throw new GruppenException(Code.GRUPPE_EXISTIERT); } if (gruppe.getId() == null) { setId(gruppe, Gruppe.class, (long) gruppen.size()); } gruppen.put(gruppe.getId(), gruppe); }
@SuppressWarnings("unchecked") public List<Anmeldung<T>> listeBelegungenNachDatum(Gruppe<T> gruppe, final Date datum) { List<Anmeldung<T>> ga = gruppe.getAnmeldungen(); return filterList( ga, new Predicate() { public boolean evaluate(Object object) { Anmeldung<T> a = (Anmeldung<T>) object; Date von = a.getBelegtVon(); Date bis = a.getBelegtBis(); return von != null && !datum.before(von) && (bis == null || !datum.after(bis)); } }); }
public List<Anmeldung<T>> listeWarteliste(Gruppe<T> gruppe) { List<Anmeldung<T>> ga = gruppe.getAnmeldungen(); @SuppressWarnings("unchecked") List<Anmeldung<T>> anmeldungen = filterList( ga, new Predicate() { public boolean evaluate(Object object) { Anmeldung<T> a = (Anmeldung<T>) object; return a.getBelegtVon() == null; } }); sortByAnmeldeZeitpunkt(anmeldungen); return anmeldungen; }