
package de.ivu.elect.jee.protokollierung;

import java.util.Date;

import javax.ejb.EJB;

/**
 * Klasse notwendig, um asynchronen Zugriff zu realisieren
 */
public class ProtokollSchreibBean {

  // @EJB wichtig damit async funktioniert!!!
  @EJB
  ProtokollAsyncSchreibService asyncService;

  @EJB
  ProtokollSyncSchreibService syncService;

  public void schreibe(Protokoll protokoll, boolean async) {
    if (protokoll == null) {
      return;
    }
    if (!ProtokollAktiv.isProtokollierungAktiv()) {
      return;
    }
    if (async && ProtokollAktiv.isIsProtokollierungAsynchron()) {
      asyncService.schreibe(protokoll, protokoll.getZeitpunkt().orElse(new Date()));
    }
    if (!async && !ProtokollAktiv.isIsProtokollierungAsynchron()){
      syncService.schreibe(protokoll, protokoll.getZeitpunkt().orElse(new Date()));
    }
  }
}
