KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > policyframework > ResourceChangeEvent


1 /*
2  * SSL-Explorer
3  *
4  * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */

19             
20 package com.sslexplorer.policyframework;
21
22 import com.sslexplorer.boot.Util;
23 import com.sslexplorer.core.CoreAttributeConstants;
24 import com.sslexplorer.core.CoreEvent;
25 import com.sslexplorer.security.SessionInfo;
26
27 /**
28  * Extension of a {@link com.sslexplorer.core.CoreEvent} that should be
29  * used when a {@link Resource} changes in some way.
30  *
31  * @author Brett Smith <a HREF="mailto: brett@3sp.com">&lt;brett@3sp.com&gt;</a>
32  */

33 public class ResourceChangeEvent extends CoreEvent {
34     
35     private Resource resource;
36     
37     /**
38      * Constructor for {@link CoreEvent#STATE_UNSUCCESSFUL} that also
39      * takes the message from an exception and adds it as an attribute
40      *
41      * @param source source of event
42      * @param id event ID
43      * @param session session that fired the event
44      * @param exception exception
45      */

46     public ResourceChangeEvent(Object JavaDoc source, int id,
47                     SessionInfo session, Throwable JavaDoc exception) {
48         super(source, id, exception, session, STATE_UNSUCCESSFUL);
49         addAttribute(CoreAttributeConstants.EVENT_ATTR_EXCEPTION_MESSAGE,
50             Util.getExceptionMessageChain(exception));
51         
52         
53     }
54
55     /**
56      * Constructor
57      *
58      * @param source source of event
59      * @param id event ID
60      * @param resource resource changin
61      * @param session session that fired the event
62      * @param state event state
63      */

64     public ResourceChangeEvent(Object JavaDoc source, int id, Resource resource,
65                     SessionInfo session, int state) {
66         super(source, id, resource, session, state);
67         this.resource = resource;
68         if(state == CoreEvent.STATE_UNSUCCESSFUL || ( state == CoreEvent.STATE_SUCCESSFUL && resource != null) ) {
69             if(resource != null) {
70                 if (resource.getResourceId() != -1){
71                     addAttribute(CoreAttributeConstants.EVENT_ATTR_RESOURCE_NAME, resource.getResourceName());
72                     addAttribute(CoreAttributeConstants.EVENT_ATTR_RESOURCE_DESCRIPTION, resource.getResourceDescription());
73                 }
74                 if(resource instanceof OwnedResource) {
75                     OwnedResource or = (OwnedResource)resource;
76                     if(or.getOwnerUsername() != null) {
77                         addAttribute(CoreAttributeConstants.EVENT_ATTR_RESOURCE_OWNER, or.getOwnerUsername());
78                     }
79                 }
80             }
81         }
82         else {
83             throw new IllegalArgumentException JavaDoc("Must provide a non-null resource if the event was successful.");
84         }
85     }
86     
87     /**
88      * Get the resource
89      *
90      * @return resource
91      */

92     public Resource getResource() {
93         return resource;
94     }
95
96 }
97
Popular Tags