Mercurial > hg > LGDataverses
diff src/main/java/edu/harvard/iq/dataverse/actionlogging/ActionLogServiceBean.java @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Tue, 08 Sep 2015 17:00:21 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/edu/harvard/iq/dataverse/actionlogging/ActionLogServiceBean.java Tue Sep 08 17:00:21 2015 +0200 @@ -0,0 +1,35 @@ +package edu.harvard.iq.dataverse.actionlogging; + +import java.util.Date; +import javax.ejb.Stateless; +import javax.ejb.TransactionAttribute; +import javax.ejb.TransactionAttributeType; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * A service bean that persists {@link ActionLogRecord}s to the DB. + * @author michael + */ +@Stateless +public class ActionLogServiceBean { + + @PersistenceContext(unitName = "VDCNet-ejbPU") + private EntityManager em; + + /** + * Log the record. Set default values. + * @param rec + */ + @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) + public void log( ActionLogRecord rec ) { + if ( rec.getEndTime() == null ) { + rec.setEndTime( new Date() ); + } + if ( rec.getActionResult() == null + && rec.getActionType() != ActionLogRecord.ActionType.Command ) { + rec.setActionResult(ActionLogRecord.Result.OK); + } + em.persist(rec); + } +}
