KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > am > StrutsConfigurationHelperAction


1 /*
2  * $Id: StrutsConfigurationHelperAction.java,v 1.3 2005/06/07 12:32:23 bel70 Exp $
3  *
4  * ***** BEGIN LICENSE BLOCK *****
5  * The contents of this file are subject to the Mozilla Public License
6  * Version 1.1 (the "License"); you may not use this file except in
7  * compliance with the License. You may obtain a copy of the License
8  * at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS"
11  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
12  * the License for the specific language governing rights and
13  * limitations under the License.
14  *
15  * The Original Code is JGossip forum code.
16  *
17  * The Initial Developer of the Original Code is the JResearch, Org.
18  * Portions created by the Initial Developer are Copyright (C) 2004
19  * the Initial Developer. All Rights Reserved.
20  * Portions created by the Werner Ramaekers are Copyright (C) 2003-2004
21  * the Werner Ramaekers (Shift@). All Rights Reserved.
22  *
23  * Contributor(s):
24  * Dmitriy Belov <bel@jresearch.org>
25  * .
26  * * ***** END LICENSE BLOCK ***** */

27 /*
28  * Created on 16.07.2004
29  *
30  */

31
32 package org.jresearch.gossip.am;
33
34 import java.util.HashMap JavaDoc;
35
36 import javax.servlet.ServletContext JavaDoc;
37
38 import org.apache.log.Logger;
39 import org.apache.struts.Globals;
40 import org.apache.struts.config.ActionConfig;
41 import org.apache.struts.config.ModuleConfig;
42 import org.jresearch.gossip.IConst;
43 import org.jresearch.gossip.configuration.Configurator;
44 import org.jresearch.gossip.exception.SystemException;
45 import org.jresearch.gossip.log.avalon.JGossipLog;
46
47 /**
48  * @author Dmitry Belov
49  *
50  */

51 public class StrutsConfigurationHelperAction implements IConst {
52
53     private static HashMap JavaDoc actionMappingMap = null;
54
55     private static ModuleConfig mConfig = null;
56
57     /**
58      * @param app
59      * @return
60      * @throws ConfiguratorException
61      * @throws SystemException
62      * TODO
63      */

64     public static HashMap JavaDoc retrieveStrutsActionMapping(ServletContext JavaDoc app)
65             throws SystemException {
66         Logger log = JGossipLog.getInstance().getAppLogger();
67         if (actionMappingMap == null) {
68             mConfig = (ModuleConfig) app.getAttribute(Globals.MODULE_KEY
69                     + Configurator.getInstance().get(CONFIG.MODULE_PREFIX));
70
71             if (mConfig != null) {
72                 actionMappingMap = new HashMap JavaDoc();
73                 ActionConfig[] acfg = mConfig.findActionConfigs();
74                 for (int i = 0; i < acfg.length; i++) {
75                     ActionConfig actionConfig = acfg[i];
76                     if (actionConfig instanceof StrutsPermissionMapping) {
77
78                         StrutsPermissionMapping amp = (StrutsPermissionMapping) actionConfig;
79                         actionMappingMap.put(amp.getPath(), amp);
80                         if (log.isDebugEnabled()) {
81                             log.debug(amp.getPath()
82                                     + " permission mapping is loaded");
83                         }
84                     }
85                 }
86             } else {
87                 if (log.isErrorEnabled()) {
88                     log.error("NO MAPPINGS RETRIEVED");
89                 }
90             }
91         }
92         return actionMappingMap;
93     }
94
95 }
Popular Tags