예제 #1
0
  /**
   * {@inheritDoc}
   *
   * @see
   *     edu.hm.esp.internal.bean.database.IEspTimeSlotDatabaseLocal#deleteTimeSlot(edu.hm.esp.internal.object.entity.EspEntityTimeSlotPk)
   */
  @Override
  public void deleteTimeSlot(EspEntityTimeSlotPk pk) {
    try {
      // Eingangsparameter validieren -> Bei Fehler wird Exception geworfen
      if (pk == null) {
        throw new EspValidationException("Ungueltiger Zeitraum: '" + pk + "'!");
      }

      // Zeitslot anhand des Zeitraums suchen
      EspEntityTimeSlot timeSlot =
          m_em.find(EspEntityTimeSlot.class, pk, LockModeType.PESSIMISTIC_WRITE);

      // Zeitslot existiert nicht -> Exception werfen
      if (timeSlot == null) {
        throw new EspNotExistsException(
            "Zeitslot mit dem Zeitraum [" + pk.toString() + "] exisitert nicht!");
      }

      // Loeschen
      m_em.remove(timeSlot);
      m_em.flush();

      BasicLogger.logInfo(this, "Zeitslot [" + timeSlot.toString() + "] erfolgreich gel�scht!");
    } catch (PersistenceException pe) {
      BasicLogger.logError(this, pe.getMessage());
      throw new EspPersistenceException("Zeitslot konnte nicht gel�scht werden!");
    }
  }
예제 #2
0
  /**
   * {@inheritDoc}
   *
   * @see
   *     edu.hm.esp.internal.bean.database.IEspTimeSlotDatabaseLocal#readTimeSlotByPK(edu.hm.esp.internal.object.entity.EspEntityTimeSlotPk,
   *     javax.persistence.LockModeType)
   */
  @Override
  public EspEntityTimeSlot readTimeSlotByPK(EspEntityTimeSlotPk pk, LockModeType lockModeType) {
    try {
      // Eingangsparameter validieren -> Bei Fehler wird Exception geworfen
      if (pk == null) {
        throw new EspValidationException("Ungueltiger Zeitraum: '" + pk + "'!");
      }

      // Primaerschluessel validieren
      pk.validate();

      EspEntityTimeSlot timeSlot = null;

      if (lockModeType != null) {
        // Zeitslot anhand des Zeitraums (PK) auslesen (LOCKED)
        timeSlot = m_em.find(EspEntityTimeSlot.class, pk, lockModeType);
      } else {
        // Zeitslot anhand des Zeitraums (PK) auslesen
        timeSlot = m_em.find(EspEntityTimeSlot.class, pk);
      }

      // Zeitslot nicht vorhanden -> Exception werfen
      if (timeSlot == null) {
        throw new EspNotExistsException(
            "Zeitslot mit dem Zeitraum [" + pk.toString() + "] existiert nicht!");
      }

      BasicLogger.logInfo(this, "Zeitslot [" + timeSlot.toString() + "] erfolgreich gelesen!");

      // Zeitslot zurueckgeben
      return timeSlot;
    } catch (PersistenceException pe) {
      BasicLogger.logError(this, pe.getMessage());
      throw new EspPersistenceException("Zeitslot konnte nicht ausgelesen werden!");
    }
  }