]> source.dussan.org Git - archiva.git/blob
6c976c51dc6297db454ea71ea214219493f3cb58
[archiva.git] /
1 package org.apache.archiva.redback.struts2.action;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24 import org.slf4j.MDC;
25
26 public class AuditEvent
27 {
28     private Logger logger = LoggerFactory.getLogger( AuditEvent.class.getName() );
29
30     private final String action;
31
32     private String affectedUser;
33
34     private String role;
35
36     private String currentUser;
37
38     public AuditEvent( String action )
39     {
40         this.action = action;
41     }
42
43     public void setRole( String role )
44     {
45         this.role = role;
46     }
47
48     public String getRole()
49     {
50         return role;
51     }
52
53     public void setAffectedUser( String affectedUser )
54     {
55         this.affectedUser = affectedUser;
56     }
57
58     public String getAffectedUser()
59     {
60         return affectedUser;
61     }
62
63     public void setCurrentUser( String currentUser )
64     {
65         this.currentUser = currentUser;
66     }
67
68     public String getCurrentUser()
69     {
70         return currentUser;
71     }
72
73     public void log()
74     {
75         // TODO: it would be better to push this into the login interceptor so it is always set consistently 
76         //   (same for IP address)
77         if ( currentUser != null )
78         {
79             MDC.put( "redback.currentUser", currentUser );
80         }
81
82         if ( affectedUser != null )
83         {
84             if ( role != null )
85             {
86                 logger.info( action, affectedUser, role );
87             }
88             else
89             {
90                 logger.info( action, affectedUser );
91
92             }
93         }
94     }
95 }