1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
78
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