Package de.nak.notendb.service

Source Code of de.nak.notendb.service.PruefungServiceImpl

package de.nak.notendb.service;

import java.util.ArrayList;
import java.util.List;

import de.nak.notendb.dao.PruefungDAO;
import de.nak.notendb.dao.PruefungsleistungDAO;
import de.nak.notendb.model.Pruefung;
import de.nak.notendb.model.Pruefungsleistung;

/**
* Implementation des PruefungsService fuer die Verwaltung von Pruefungen
*
* @author Julian Pusch
*
*/
public class PruefungServiceImpl implements PruefungService {

  private PruefungDAO pruefungDAO;
  private PruefungsleistungDAO pruefungsleistungDAO;

  public void setPruefungDAO(PruefungDAO pruefungDAO) {
    this.pruefungDAO = pruefungDAO;
  }

  public void setPruefungsleistungDAO(PruefungsleistungDAO pruefungsleistungDAO) {
    this.pruefungsleistungDAO = pruefungsleistungDAO;
  }

  @Override
  public Pruefung ladePruefung(Long pruefungId) throws PruefungNichtGefundenException {
    Pruefung pruefung = pruefungDAO.lade(pruefungId);
   
    if (pruefung == null) {
      throw new PruefungNichtGefundenException();
    }
    return pruefung;
  }
 
  @Override
  public List<Pruefung> ladePruefungenZuFach(Long fachId) {
    return pruefungDAO.ladePruefungenZuFach(fachId);
  }

  @Override
  public List<Pruefung> ladeMuendlichePruefungenZuFach(Long fachId) {
    // Alle Leistungen mit muendlicher laden
    List<Pruefungsleistung> leistungen = pruefungsleistungDAO.ladeLeistungenMitMuendlich();
    List<Pruefung> pruefungen = new ArrayList<Pruefung>();

    // Pruefungen zu Fach aus Leistungen heraussuchen
    for (Pruefungsleistung leistung : leistungen) {
      if (leistung.getGueltig()
          && !(pruefungen.contains(leistung.getPruefung()))
          && leistung.getPruefung().getFach().getId().equals(fachId)) {
        pruefungen.add(leistung.getPruefung());
      }
    }
    return pruefungen;
  }
 
  @Override
  public List<Pruefung> ladePruefungenMitMuendlicher() {
    // Alle Leistungen mit muendlicher laden
    List<Pruefungsleistung> leistungen = pruefungsleistungDAO.ladeLeistungenMitMuendlich();
    List<Pruefung> pruefungen = new ArrayList<Pruefung>();

    // Pruefungen aus Leistungen heraussuchen
    for (Pruefungsleistung leistung : leistungen) {
      if (leistung.getGueltig()
          && !(pruefungen.contains(leistung.getPruefung()))) {
        pruefungen.add(leistung.getPruefung());
      }
    }
    return pruefungen;
  }

  @Override
  public List<Pruefung> ladeAlle() {
    return pruefungDAO.ladeAlle();
  }

  @Override
  public void speichere(Pruefung pruefung) throws PruefungExistentException {
    if (pruefungDAO.ladePruefungenZuFachUndDozentUndDatum(pruefung.getFach(),pruefung.getDozent(),
        pruefung.getDatum()).isEmpty() == false) {
      throw new PruefungExistentException();
    } else {
      pruefungDAO.speichere(pruefung);
    }
  }

  @Override
  public void loescheAlle() {
    pruefungDAO.loescheAlle();
  }

}
TOP

Related Classes of de.nak.notendb.service.PruefungServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.