acd46aa41c433f75db61d6711c18a60b2c0d0c1e
[JavaForFun] /
1 package de.spring.example.persistence.domain.audit;
2
3 import javax.inject.Inject;
4
5 import org.hibernate.envers.RevisionListener;
6
7 import de.spring.example.context.UsernameThreadContext;
8
9 public class MyCustomRevisionListener implements RevisionListener {
10         @Inject
11         private UsernameThreadContext userNameThreadContext;
12         
13         
14         protected MyCustomRevisionListener() {
15                 
16         }
17         
18         @Override
19         public void newRevision(Object revisionEntity) {
20                 MyCustomRevision myCustomRevision = (MyCustomRevision) revisionEntity;
21                 
22                 final String username = getSafeUsername();
23                 myCustomRevision.setUsername(username);
24                 
25         }
26         
27         private String getSafeUsername() {
28                 String userName = userNameThreadContext.getUsername();
29                 
30                 if (userName == null) {
31                         userName = "NO_USER";
32                 }
33                 
34                 return userName;
35         }
36
37 }