Fixed bug with directories, that should be scanned for annotations
[hibernate4-maven-plugin] / src / it / hmp-testclasses-annotationscanning / src / main / java / net / java / examples / hmp / model / domain / callback / UserChangeTrackListener.java
1 package net.java.examples.hmp.model.domain.callback;\r
2 \r
3 import java.util.Date;\r
4 \r
5 import javax.persistence.PrePersist;\r
6 import javax.persistence.PreUpdate;\r
7 \r
8 import org.slf4j.Logger;\r
9 import org.slf4j.LoggerFactory;\r
10 \r
11 import net.java.examples.hmp.model.domain.extension.IUserChangeInfo;\r
12 import net.java.examples.hmp.model.domain.extension.IUserChangeTrackable;\r
13 \r
14 public class UserChangeTrackListener {\r
15 \r
16     public static final String DEFAULT_USER_NAME = "System";\r
17 \r
18     private static final Logger LOG = LoggerFactory.getLogger(UserChangeTrackListener.class);\r
19 \r
20     @PreUpdate\r
21     protected void preUpdate(IUserChangeTrackable userChangeTrackable) {\r
22         IUserChangeInfo userChangeInfo = userChangeTrackable.getUserChangeInfo();\r
23 \r
24         if (userChangeInfo == null) {\r
25             LOG.warn("IUserChangeInfo of entity {} is null, no change tracking possible.", userChangeTrackable);\r
26             return;\r
27         }\r
28 \r
29         userChangeInfo.setChangeDate(new Date());\r
30         userChangeInfo.setChangeUser(getCurrentUser());\r
31 \r
32         if (LOG.isTraceEnabled()) {\r
33             LOG.trace("onPreUpdate objectType={}, userChangeInfo={}", userChangeTrackable.getClass().getName(), userChangeInfo.toString());\r
34         }\r
35     }\r
36 \r
37     @PrePersist\r
38     protected void prePersist(IUserChangeTrackable userChangeTrackable) {\r
39         IUserChangeInfo userChangeInfo = userChangeTrackable.getUserChangeInfo();\r
40 \r
41         userChangeInfo.setCreateDate(new Date());\r
42         userChangeInfo.setChangeDate(userChangeInfo.getCreateDate());\r
43         userChangeInfo.setCreateUser(getCurrentUser());\r
44         userChangeInfo.setChangeUser(userChangeInfo.getCreateUser());\r
45 \r
46         if (LOG.isTraceEnabled()) {\r
47             LOG.trace("onPrePersist objectType={}, userChangeInfo={}", userChangeTrackable.getClass().getName(), userChangeInfo.toString());\r
48         }\r
49     }\r
50 \r
51     /**\r
52      * Real methodcode replaced with example-code.\r
53      * \r
54      * @return Always displays the same constant string\r
55      */\r
56     protected String getCurrentUser() {\r
57 \r
58         return DEFAULT_USER_NAME;\r
59     }\r
60 }\r