View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.portals.applications.desktop;
18  
19  import java.io.IOException;
20  
21  import javax.portlet.ActionRequest;
22  import javax.portlet.ActionResponse;
23  import javax.portlet.PortletException;
24  import javax.portlet.PortletPreferences;
25  import javax.portlet.RenderRequest;
26  import javax.portlet.RenderResponse;
27  import javax.portlet.WindowState;
28  
29  import org.apache.portals.bridges.velocity.GenericVelocityPortlet;
30  import org.apache.velocity.context.Context;
31  
32  public class FlashPortlet extends GenericVelocityPortlet
33  {
34      public static final String HEIGHT = "HEIGHT";
35      public static final String WIDTH = "WIDTH";
36      public static final String SRC = "SRC";
37      public static final String MAX_SRC = "MAX-SRC";
38      public static final String MAX_HEIGHT = "MAX-HEIGHT";
39      public static final String MAX_WIDTH = "MAX-WIDTH";
40          
41      public void doView(RenderRequest request, RenderResponse response)
42              throws PortletException, IOException
43      {
44          Context context = super.getContext(request);
45          PortletPreferences prefs = request.getPreferences();        
46          if (request.getWindowState().toString().equals(WindowState.MAXIMIZED.toString()))
47          {
48              context.put(HEIGHT, prefs.getValue(MAX_HEIGHT, "800"));
49              context.put(WIDTH, prefs.getValue(MAX_WIDTH, "600"));
50              context.put("windowState", "max");
51              String src = prefs.getValue(MAX_SRC, "");
52              if (src.equals(""))
53              {
54                  src = prefs.getValue(SRC, "");
55              }
56              context.put(SRC, src);
57              
58          }
59          else
60          {
61              context.put("windowState", "normal");
62              context.put(HEIGHT, prefs.getValue(HEIGHT, "250"));
63              context.put(WIDTH, prefs.getValue(WIDTH, "250"));
64              context.put(SRC, prefs.getValue(SRC, ""));
65                          
66          }
67          super.doView(request, response);
68      }
69      
70      public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException
71      {
72          response.setContentType("text/html");        
73          doPreferencesEdit(request, response);
74      }    
75  
76  
77      /* (non-Javadoc)
78       * @see org.apache.portals.bridges.velocity.GenericVelocityPortlet#processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
79       */
80      public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException
81      {
82          String source = request.getParameter(SRC);
83          String height = request.getParameter(HEIGHT);
84          String width = request.getParameter(WIDTH);
85          String maxSource = request.getParameter(MAX_SRC);
86          String maxHeight = request.getParameter(MAX_HEIGHT);
87          String maxWidth = request.getParameter(MAX_WIDTH);
88          
89          PortletPreferences prefs = request.getPreferences();
90          prefs.setValue(SRC, source);
91          prefs.setValue(HEIGHT, height);
92          prefs.setValue(WIDTH, width);
93          prefs.setValue(MAX_SRC, maxSource);
94          prefs.setValue(MAX_HEIGHT, maxHeight);
95          prefs.setValue(MAX_WIDTH, maxWidth);        
96          prefs.store();
97          super.processAction(request, response);
98      }    
99  }
100