KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > htmlpages > action > PreviewHTMLPageAction


1 package com.dotmarketing.portlets.htmlpages.action;
2
3 import javax.portlet.ActionRequest;
4 import javax.portlet.ActionResponse;
5 import javax.portlet.PortletConfig;
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpSession JavaDoc;
8
9 import org.apache.struts.action.ActionForm;
10 import org.apache.struts.action.ActionMapping;
11
12 import com.dotmarketing.beans.Host;
13 import com.dotmarketing.beans.Identifier;
14 import com.dotmarketing.factories.HostFactory;
15 import com.dotmarketing.factories.IdentifierFactory;
16 import com.dotmarketing.factories.PreviewFactory;
17 import com.dotmarketing.portal.struts.DotPortletAction;
18 import com.dotmarketing.portlets.htmlpages.model.HTMLPage;
19 import com.dotmarketing.util.Logger;
20 import com.dotmarketing.util.UtilMethods;
21 import com.dotmarketing.util.WebKeys;
22 import com.liferay.portal.model.User;
23 import com.liferay.portlet.ActionRequestImpl;
24
25 /**
26  * <a HREF="ViewQuestionsAction.java.htm"><b><i>View Source</i></b></a>
27  *
28  * @author Maria Ahues
29  * @version $Revision: 1.5 $
30  *
31  */

32 public class PreviewHTMLPageAction extends DotPortletAction {
33
34     public void processAction(
35              ActionMapping mapping, ActionForm form, PortletConfig config,
36              ActionRequest req, ActionResponse res)
37          throws Exception JavaDoc {
38
39         Logger.debug(this, "Running PreviewHTMLPagesAction!!!!");
40         
41         try {
42             //get the user
43
User user = com.liferay.portal.util.PortalUtil.getUser(req);
44
45             Logger.debug(this, "Calling Retrieve method");
46             _retrieveWebAsset(req, res, config, form, user, HTMLPage.class, WebKeys.HTMLPAGE_EDIT);
47
48             //wraps request to get session object
49
ActionRequestImpl reqImpl = (ActionRequestImpl) req;
50             HttpServletRequest JavaDoc hreq = reqImpl.getHttpServletRequest();
51
52             //gets the session object for the messages
53
HttpSession JavaDoc session = hreq.getSession();
54             
55             session.setAttribute(com.dotmarketing.util.WebKeys.EDIT_MODE_SESSION, "true");
56             session.setAttribute(com.dotmarketing.util.WebKeys.PREVIEW_MODE_SESSION, null);
57             session.setAttribute(com.dotmarketing.util.WebKeys.ADMIN_MODE_SESSION, "true");
58             
59             HTMLPage htmlPage = _previewHTMLPages(req, user);
60             
61             String JavaDoc previewPage = (String JavaDoc) req.getAttribute(WebKeys.HTMLPAGE_PREVIEW_PAGE);
62
63             Host host = HostFactory.getParentHost(htmlPage);
64             HostFactory.setHostInRequest(req, host);
65             
66             if ((previewPage!=null) && (previewPage.length()!=0)) {
67                 _sendToReferral(req, res, previewPage);
68             }
69
70             PreviewFactory.setVelocityURLS(hreq);
71             
72             setForward(req, "portlet.ext.htmlpages.view_htmlpages");
73
74         }
75         catch (Exception JavaDoc e) {
76             _handleException(e, req);
77         }
78     }
79
80     private HTMLPage _previewHTMLPages(ActionRequest req, User user) throws Exception JavaDoc {
81         
82         //gets html page being previewed
83
HTMLPage htmlPage = (HTMLPage) req.getAttribute(WebKeys.HTMLPAGE_EDIT);
84
85         String JavaDoc language = req.getParameter("language");
86
87         Identifier identifier = IdentifierFactory.getParentIdentifier(htmlPage);
88         
89         String JavaDoc livePage = (UtilMethods.isSet(req.getParameter("livePage")) && req.getParameter("livePage").equals("1"))?"&livePage=1":"";
90         
91         if (UtilMethods.isSet(language)) {
92             req.setAttribute(WebKeys.HTMLPAGE_PREVIEW_PAGE,identifier.getURI() + "?language=" + language + "&host_id=" + identifier.getHostInode() + livePage);
93         }
94         else {
95             req.setAttribute(WebKeys.HTMLPAGE_PREVIEW_PAGE,identifier.getURI() + "?host_id=" + identifier.getHostInode() + livePage);
96         }
97         return htmlPage;
98     }
99
100     
101 }
Popular Tags