KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > agent > actions > LaunchAgentAction


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.agent.actions;
21
22 import javax.servlet.http.HttpServletRequest JavaDoc;
23 import javax.servlet.http.HttpServletResponse JavaDoc;
24
25 import org.apache.struts.action.ActionForm;
26 import org.apache.struts.action.ActionMapping;
27
28 import com.sslexplorer.agent.DefaultAgentManager;
29 import com.sslexplorer.extensions.ExtensionDescriptor;
30 import com.sslexplorer.extensions.actions.AbstractLaunchViaAppletAction;
31 import com.sslexplorer.extensions.store.ExtensionStore;
32 import com.sslexplorer.policyframework.LaunchSession;
33 import com.sslexplorer.policyframework.NoPermissionException;
34 import com.sslexplorer.policyframework.PolicyConstants;
35 import com.sslexplorer.policyframework.PolicyUtil;
36 import com.sslexplorer.security.Constants;
37 import com.sslexplorer.security.LogonControllerFactory;
38 import com.sslexplorer.security.SessionInfo;
39
40
41 /**
42  * Launch the <i>Agent</i>.
43  *
44  * @author Brett Smith <a HREF="mailto: brett@3sp.com">&lt;brett@3sp.com&gt;</a>
45  */

46 public class LaunchAgentAction extends AbstractLaunchViaAppletAction {
47
48     /*
49      * (non-Javadoc)
50      *
51      * @see com.sslexplorer.extensions.actions.AbstractLaunchViaAppletAction#getExtensionDescriptor(org.apache.struts.action.ActionMapping,
52      * org.apache.struts.action.ActionForm,
53      * javax.servlet.http.HttpServletRequest,
54      * javax.servlet.http.HttpServletResponse)
55      */

56     @Override JavaDoc
57     protected ExtensionDescriptor getExtensionDescriptor(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request,
58                                                             HttpServletResponse JavaDoc response) throws Exception JavaDoc {
59         try {
60             PolicyUtil.checkPermission(PolicyConstants.AGENT_RESOURCE_TYPE, PolicyConstants.PERM_USE, request);
61         } catch (NoPermissionException e) {
62             throw new NoPermissionException("Contact your administrator to use the SSL-Explorer agent.",
63                             e,
64                             LogonControllerFactory.getInstance().getUser(request),
65                             PolicyConstants.AGENT_RESOURCE_TYPE);
66         }
67         return ExtensionStore.getInstance().getExtensionDescriptor("sslexplorer-agent");
68     }
69
70     /*
71      * (non-Javadoc)
72      *
73      * @see com.sslexplorer.core.actions.AuthenticatedAction#getNavigationContext(org.apache.struts.action.ActionMapping,
74      * org.apache.struts.action.ActionForm,
75      * javax.servlet.http.HttpServletRequest,
76      * javax.servlet.http.HttpServletResponse)
77      */

78     @Override JavaDoc
79     public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
80         return SessionInfo.USER_CONSOLE_CONTEXT | SessionInfo.MANAGEMENT_CONSOLE_CONTEXT;
81     }
82
83     @Override JavaDoc
84     protected void postSetup(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response,
85                                 LaunchSession launchSession) {
86         String JavaDoc ticket = DefaultAgentManager.getInstance().registerPendingAgent(getSessionInfo(request));
87         launchSession.setAttribute(Constants.LAUNCH_ATTR_AGENT_TICKET, ticket);
88
89     }
90
91 }
92
Popular Tags