KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > modules > actions > controls > Restore


1 /*
2  * Copyright 2000-2001,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.jetspeed.modules.actions.controls;
18
19 // Turbine stuff
20
import org.apache.turbine.modules.Action;
21 import org.apache.turbine.util.RunData;
22
23 // Jetspeed stuff
24
import org.apache.jetspeed.portal.Portlet;
25 import org.apache.jetspeed.portal.PortletState;
26 import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
27 import org.apache.jetspeed.services.logging.JetspeedLogger;
28 import org.apache.jetspeed.services.PortletFactory;
29 import org.apache.jetspeed.services.rundata.JetspeedRunData;
30 import org.apache.jetspeed.om.profile.Entry;
31
32 /**
33 Change the internal state of a portlet from minimized to normal
34
35 @author <a HREF="mailto:re_carrasco@bco011.sonda.cl">Roberto Carrasco</a>
36 @author <a HREF="mailto:paulsp@apache">Paul Spencer</a>
37 */

38 public class Restore extends Action
39 {
40     
41     /**
42      * Static initialization of the logger for this class
43      */

44     private static final JetspeedLogger logger = JetspeedLogFactoryService.getLogger(Restore.class.getName());
45     
46     /**
47      * @param rundata The RunData object for the current request
48      */

49     public void doPerform( RunData rundata ) throws Exception JavaDoc
50     {
51         // Only logged in users can Restored
52
if( rundata.getUser() == null)
53         {
54             return;
55         }
56
57         // Get jsp_peid parmameter. If it does not exist, then do nothing
58
String JavaDoc peid = rundata.getParameters().getString("js_peid");
59         if ( peid == null )
60         {
61             return;
62         }
63         
64         // Get the Portlet using the PSML document and the PEID
65
JetspeedRunData jdata = (JetspeedRunData)rundata;
66         Entry entry = jdata.getProfile().getDocument().getEntryById(peid);
67         if ( entry == null )
68         {
69             logger.warn("Failed to get PEID (" + peid + ") entry for User ("
70               + rundata.getUser().getName() + ")");
71             return;
72         }
73         Portlet portlet = PortletFactory.getPortlet(entry);
74         
75         // Now unset the portlet to minimized
76
if (( portlet != null )&&( portlet instanceof PortletState ))
77         {
78             ((PortletState)portlet).setMinimized( false, rundata );
79         }
80
81         // make sure we use the default template
82
while (jdata.getCustomized()!=null)
83         {
84             jdata.setCustomized(null);
85         }
86
87         //remove the maximized portlet name - nothing is maximized now
88
jdata.getUser().removeTemp("js_peid");
89
90         jdata.setScreenTemplate("Home");
91     }
92
93 }
94
Popular Tags