package qa.qcri.aidr.dbmanager.ejb.remote.facade.imp; import javax.ejb.Stateless; import org.apache.log4j.Logger; import qa.qcri.aidr.common.exception.PropertyNotSetException; import qa.qcri.aidr.dbmanager.dto.SystemEventDTO; import qa.qcri.aidr.dbmanager.ejb.local.facade.impl.CoreDBServiceFacadeImp; import qa.qcri.aidr.dbmanager.ejb.remote.facade.SystemEventResourceFacade; import qa.qcri.aidr.dbmanager.entities.misc.SystemEvent; @Stateless(name="SystemEventResourceFacadeImp") public class SystemEventResourceFacadeImp extends CoreDBServiceFacadeImp<SystemEvent, Long> implements SystemEventResourceFacade { private Logger logger = Logger.getLogger(SystemEventResourceFacadeImp.class); public SystemEventResourceFacadeImp() { super(SystemEvent.class); } @Override public void insertSystemEvent(SystemEventDTO event) { try { SystemEvent sysevent = event.toEntity(); em.persist(sysevent); em.flush(); em.refresh(sysevent); } catch (PropertyNotSetException e1) { logger.error("Error in insertSystemEvent."); } catch (Exception e) { logger.error("Unable to save event to database", e); } } @Override public void insertSystemEvent(String severity, String module, String description) { insertSystemEvent(severity,module,null,description); } @Override public void insertSystemEvent(String severity, String module, String code, String description) { insertSystemEvent(severity,module,code,description,false); } @Override public void insertSystemEvent(String severity, String module, String code, String description, Boolean emailSent) { try { SystemEvent sysevent = new SystemEvent(severity,module,code,description,emailSent); em.persist(sysevent); em.flush(); em.refresh(sysevent); } catch (Exception e){ logger.error("Unable to save event to database", e); } } }