1 package com.dotmarketing.portlets.folders.action; 2 3 import java.net.URLDecoder ; 4 5 import javax.portlet.ActionRequest; 6 import javax.portlet.ActionResponse; 7 import javax.portlet.PortletConfig; 8 import javax.servlet.http.HttpServletRequest ; 9 10 import org.apache.struts.action.ActionForm; 11 import org.apache.struts.action.ActionMapping; 12 13 import com.dotmarketing.factories.InodeFactory; 14 import com.dotmarketing.factories.PublishFactory; 15 import com.dotmarketing.portal.struts.DotPortletAction; 16 import com.dotmarketing.portlets.folders.model.Folder; 17 import com.dotmarketing.util.WebKeys; 18 import com.liferay.portlet.ActionRequestImpl; 19 import com.liferay.util.servlet.SessionMessages; 20 21 24 25 public class PublishFolderAction extends DotPortletAction { 26 27 public static boolean debug = false; 28 29 public void processAction( 30 ActionMapping mapping, ActionForm form, PortletConfig config, 31 ActionRequest req, ActionResponse res) 32 throws Exception { 33 34 try { 35 String cmd = req.getParameter("cmd"); 36 37 if ((cmd != null) && cmd.equals(com.dotmarketing.util.Constants.PREPUBLISH)) { 38 39 _prePublishFolder(req,res,config,form); 41 42 } 43 java.util.List relatedAssets = (java.util.List ) req.getAttribute(WebKeys.FOLDER_RELATED_ASSETS); 44 45 if (((cmd != null) && cmd.equals(com.dotmarketing.util.Constants.PUBLISH)) || 46 (relatedAssets.size()==0)) { 47 48 _publishFolder(req,res,config,form); 49 50 String referer = URLDecoder.decode(req.getParameter("referer"),"UTF-8"); 51 52 _sendToReferral(req,res,referer); 53 return; 54 } 55 setForward(req,"portlet.ext.folders.publish_folder"); 56 57 } catch (Exception ae) { 58 _handleException(ae,req); 59 } 60 61 } 62 63 private void _prePublishFolder(ActionRequest req, ActionResponse res,PortletConfig config,ActionForm form) 64 throws Exception { 65 66 String inode = req.getParameter("inode"); 67 68 Folder folder = (Folder) InodeFactory.getInode(inode,Folder.class); 69 70 java.util.List relatedAssets = new java.util.ArrayList (); 71 72 if (folder.getInode()>0) { 73 relatedAssets = PublishFactory.getRelatedAssets(folder,relatedAssets); 75 } 76 req.setAttribute(WebKeys.FOLDER_RELATED_ASSETS,relatedAssets); 77 } 78 79 private void _publishFolder(ActionRequest req, ActionResponse res,PortletConfig config,ActionForm form) 80 throws Exception { 81 82 String inode = req.getParameter("inode"); 83 84 Folder folder = (Folder) InodeFactory.getInode(inode,Folder.class); 85 86 ActionRequestImpl areq = (ActionRequestImpl) req; 87 HttpServletRequest hreq = areq.getHttpServletRequest(); 88 89 hreq.getSession().removeAttribute(com.dotmarketing.util.WebKeys.EDIT_MODE_SESSION); 90 req.removeAttribute(com.dotmarketing.util.WebKeys.EDIT_MODE_SESSION); 91 92 hreq.getSession().removeAttribute(com.dotmarketing.util.WebKeys.PREVIEW_MODE_SESSION); 93 req.removeAttribute(com.dotmarketing.util.WebKeys.PREVIEW_MODE_SESSION); 94 95 hreq.getSession().removeAttribute(com.dotmarketing.util.WebKeys.ADMIN_MODE_SESSION); 96 req.removeAttribute(com.dotmarketing.util.WebKeys.ADMIN_MODE_SESSION); 97 98 if (folder.getInode()>0) { 99 PublishFactory.publishAsset(folder,hreq); 100 } 101 102 SessionMessages.add(req, "message", "message.folder.published"); 103 104 } 105 106 } 107 | Popular Tags |