Package com.dotmarketing.portlets.contentlet.action

Source Code of com.dotmarketing.portlets.contentlet.action.ViewContentletAction

package com.dotmarketing.portlets.contentlet.action;

import java.util.List;

import com.dotcms.repackage.javax.portlet.PortletConfig;
import com.dotcms.repackage.javax.portlet.RenderRequest;
import com.dotcms.repackage.javax.portlet.RenderResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.PageContext;

import com.dotcms.repackage.org.apache.struts.action.ActionForm;
import com.dotcms.repackage.org.apache.struts.action.ActionForward;
import com.dotcms.repackage.org.apache.struts.action.ActionMapping;

import com.dotmarketing.beans.ContainerStructure;
import com.dotmarketing.business.APILocator;
import com.dotmarketing.factories.InodeFactory;
import com.dotmarketing.portal.struts.DotPortletAction;
import com.dotmarketing.portlets.containers.model.Container;
import com.dotmarketing.portlets.contentlet.business.ContentletAPI;
import com.dotmarketing.portlets.contentlet.model.Contentlet;
import com.dotmarketing.portlets.languagesmanager.business.LanguageAPI;
import com.dotmarketing.portlets.languagesmanager.model.Language;
import com.dotmarketing.portlets.structure.factories.StructureFactory;
import com.dotmarketing.portlets.structure.model.Structure;
import com.dotmarketing.util.Logger;
import com.dotmarketing.util.UtilMethods;
import com.dotmarketing.util.WebKeys;
import com.liferay.portal.model.User;
import com.liferay.portal.util.Constants;
import com.liferay.portlet.RenderRequestImpl;

/**
* <a href="ViewQuestionsAction.java.html"><b><i>View Source</i></b></a>
*
* @author if(working==false){ author="Maria Ahues"; }else{ author="Rocco
*         Maglio"; }
* @version $Revision: 1.4 $
*
*/
public class ViewContentletAction extends DotPortletAction {

  private LanguageAPI langAPI = APILocator.getLanguageAPI();

  public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req,
      RenderResponse res) throws Exception {

    Logger.debug(ViewContentletAction.class, "Running ViewContentletsAction!!!!");

    try {
      // gets the user
      User user = _getUser(req);
      _viewContentlets(req, user);
      return mapping.findForward("portlet.ext.contentlet.view_contentlets");

    } catch (Exception e) {
      req.setAttribute(PageContext.EXCEPTION, e);
      return mapping.findForward(Constants.COMMON_ERROR);
    }
  }

  /**
   *
   */
  protected void _viewContentlets(RenderRequest req, User user) throws Exception {
   
    //GIT-2816
    RenderRequestImpl reqImpl = (RenderRequestImpl) req;
    HttpServletRequest httpReq = reqImpl.getHttpServletRequest();
    HttpSession ses = httpReq.getSession();
    ContentletAPI conAPI = APILocator.getContentletAPI();

    List<String> tempBinaryImageInodes = (List<String>) ses.getAttribute(Contentlet.TEMP_BINARY_IMAGE_INODES_LIST);   
    if(UtilMethods.isSet(tempBinaryImageInodes) && tempBinaryImageInodes.size() > 0){
      for(String inode : tempBinaryImageInodes){
        conAPI.delete(conAPI.find(inode, APILocator.getUserAPI().getSystemUser(), false), APILocator.getUserAPI().getSystemUser(), false, true);
      }
      tempBinaryImageInodes.clear();
    }
   
    if (req.getParameter("popup") != null)
    {
      if (req.getParameter("container_inode") != null)
      {
        Container cont = (Container) InodeFactory.getInode(req.getParameter("container_inode"), Container.class);

        List<Structure> structures = APILocator.getContainerAPI().getStructuresInContainer(cont);
        req.setAttribute(WebKeys.Structure.STRUCTURES, structures);
      }
      else if (req.getParameter("structure_id") != null)
      {
        Structure st = (Structure) InodeFactory.getInode(req.getParameter("structure_id"), Structure.class);
        req.setAttribute(WebKeys.Structure.STRUCTURE, st);
      }
    }
    else
    {
      if(req.getParameter("structure_id") != null){
        Structure st = (Structure) InodeFactory.getInode(req.getParameter("structure_id"), Structure.class);
        if(st.getStructureType()==Structure.STRUCTURE_TYPE_FORM){
          List<Structure> structures =StructureFactory.getStructuresByUser(user,"structuretype="+st.getStructureType(), "upper(name)", 0, 0, "asc");
          req.setAttribute(WebKeys.Structure.STRUCTURES, structures);
          req.setAttribute("SHOW_FORMS_ONLY", true);
        }else{
          List<Structure> structures = StructureFactory.getNoSystemStructuresWithReadPermissions(user, false);
          req.setAttribute(WebKeys.Structure.STRUCTURES, structures);
        }

      }else{
        List<Structure> structures = StructureFactory.getNoSystemStructuresWithReadPermissions(user, false);
        req.setAttribute(WebKeys.Structure.STRUCTURES, structures);
      }


    }

    if(req.getParameter("selected_lang") != null){
      Language language = APILocator.getLanguageAPI().getLanguage(new Long(req.getParameter("selected_lang")));
      req.setAttribute(WebKeys.LANGUAGE_SEARCHED, language);
    }
    List<Language> languages = langAPI.getLanguages();
    req.setAttribute(WebKeys.LANGUAGES, languages);

  }


}
TOP

Related Classes of com.dotmarketing.portlets.contentlet.action.ViewContentletAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.