CCM NG/ccm-core: Completed code for CcmRevisionListener

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4587 8810af33-2d31-482b-a856-94f89814c4df
jensp 2017-02-21 14:24:01 +00:00
parent 251c2efb7a
commit 6b5e54ee1f
1 changed files with 13 additions and 8 deletions

View File

@ -18,7 +18,11 @@
*/ */
package org.libreccm.auditing; package org.libreccm.auditing;
import java.util.Optional;
import org.hibernate.envers.RevisionListener; import org.hibernate.envers.RevisionListener;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.security.Shiro;
import org.libreccm.security.User;
/** /**
@ -30,20 +34,21 @@ public class CcmRevisionListener implements RevisionListener {
@Override @Override
public void newRevision(final Object revisionEntity) { public void newRevision(final Object revisionEntity) {
if (!(revisionEntity instanceof CcmRevision)) { if (!(revisionEntity instanceof CcmRevision)) {
throw new IllegalArgumentException(String.format( throw new IllegalArgumentException(String.format(
"Provided revision entity is not an instance of class \"%s\".", "Provided revision entity is not an instance of class \"%s\".",
CcmRevision.class.getName())); CcmRevision.class.getName()));
} }
final CcmRevision revision = (CcmRevision) revisionEntity;
// final CcmRevision revision = (CcmRevision) revisionEntity; final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
//ToDo: Add code using Shiro Subject final Shiro shiro = cdiUtil.findBean(Shiro.class);
// final Subject subject = sessionContext.getCurrentSubject(); final Optional<User> user = shiro.getUser();
// if (subject instanceof User) { if (user.isPresent()) {
// final User user = (User) subject; revision.setUserName(user.get().getName());
// revision.setUserName(user.getScreenName()); }
// }
} }
} }