📄 managehomepages.java
字号:
session.setAttribute("homepageBean",hp); } // set new values hp.setName(name); hp.setDescr(descr); if ( go.equals("save") ){ boolean error = false; if (name == null || name.trim().equals("") ){ request.setAttribute("warningMsg","A name is required"); error = true; } if ( !error ){ // specific homepage save if ( hp.getType() == HomepageTypes.HOMEPAGE_LINK ){ error = !saveLink( request, response, session ); } else if ( hp.getType() == HomepageTypes.HOMEPAGE_COPY ){ error = !saveCopy( request, response, session ); } else if ( hp.getType() == HomepageTypes.HOMEPAGE_NEW ){ error = !saveNew( request, response, session ); } } if ( !error ){ // reset session session.setAttribute("homepageBean",null); displayMain( request, response, session ); return; } } } if ( hp.getType() == HomepageTypes.HOMEPAGE_LINK ){ prepareAddLink(request,response,session); } else if ( hp.getType() == HomepageTypes.HOMEPAGE_COPY ){ prepareAddCopy(request,response,session); } else if ( hp.getType() == HomepageTypes.HOMEPAGE_NEW ){ prepareAddNew(request,response,session); } // display the form doRedirect( request, response, JSP + "add" ); } //-------------------------------------------------------------------------- /** * Prepares information to display specific data for homepage of type link. * * @author Khue Nguyen * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void prepareAddLink( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { prepareAdd( request, response, session ); JahiaHomepageLink hp = (JahiaHomepageLink)session.getAttribute("homepageBean"); if ( hp == null ){ displayError(request,response,"Cannot found the requested Homepage bean in session"); return; } // retrieve form values... String value = (String) request.getParameter("pageid"); int pageID = -1; if ( value != null ){ pageID = Integer.parseInt(value); hp.setPageID(pageID); } // get value from engineMap from the Tree Copy engine HashMap engineMap = (HashMap)session.getAttribute(ParamBean.SESSION_JAHIA_ENGINEMAP); if ( engineMap != null ){ // check if the Tree engine was opened for this source page value = (String)engineMap.get(CopyTree_Engine.ENGINE_LAUNCHER_NAME); if ( (value != null) && ( value.equals(CHOOSEPAGE_LAUNCHER_LINK_SOURCEPAGE) ) ){ // get the selected page Integer I = (Integer)engineMap.get(CopyTree_Engine.SOURCEPAGE_ID); if ( I != null ){ pageID = I.intValue(); } hp.setPageID(pageID); // reset engine map session.setAttribute(ParamBean.SESSION_JAHIA_ENGINEMAP,null); } } // set the initial source page for the Page Tree Engine request.setAttribute("linkInitialSourcePage",new Integer(hp.getPageID())); if ( operation.equals("add") ){ request.setAttribute("includeSpecificSection","addlink"); } else if ( operation.equals("detail") ) request.setAttribute("includeSpecificSection","detaillink"); } //-------------------------------------------------------------------------- /** * Prepares information to display specific data for homepage of type copy. * * @author Khue Nguyen * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void prepareAddCopy( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { prepareAdd( request, response, session ); JahiaHomepageCopy hp = (JahiaHomepageCopy)session.getAttribute("homepageBean"); if ( hp == null ){ displayError(request,response,"Cannot found the requested Homepage bean in session"); return; } // retrieve form values... String value = (String) request.getParameter("pageid"); int pageID = -1; int destPageID = -1; int depth = 1; int depthType = 2; if ( value != null ){ pageID = Integer.parseInt(value); hp.setPageID(pageID); } value = (String) request.getParameter("destpageid"); if ( value != null ){ destPageID = Integer.parseInt(value); hp.setParentPageID(destPageID); } value = (String) request.getParameter("depth"); if ( value != null ){ try { depth = Integer.parseInt(value); } catch ( Throwable t ){ } if ( depth >= 0 ) hp.setCopyDepth(depth); } value = (String) request.getParameter("depthtype"); if ( value != null ){ depthType = Integer.parseInt(value); } request.setAttribute("depthType",new Integer(depthType)); if ( operation.equals("add") ){ request.setAttribute("includeSpecificSection","addcopy"); } else if ( operation.equals("detail") ) request.setAttribute("includeSpecificSection","detailcopy"); } //-------------------------------------------------------------------------- /** * Prepares information to display specific data for homepage of type new. * * @author Khue Nguyen * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void prepareAddNew( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { prepareAdd( request, response, session ); JahiaHomepageNew hp = (JahiaHomepageNew)session.getAttribute("homepageBean"); if ( hp == null ){ displayError(request,response,"Cannot found the requested Homepage bean in session"); return; } // get only visible templates Enumeration templates = ServicesRegistry.getInstance() .getJahiaPageTemplateService().getPageTemplates (site.getID(), true); JahiaPageBaseService pageService = JahiaPageBaseService.getInstance(); // retrieve previous form values... String value = (String) request.getParameter("destpageid"); int pageID = -1; if ( value != null ){ pageID = Integer.parseInt(value); hp.setParentPageID(pageID); } value = (String) request.getParameter("template"); int templateID = -1; if ( value != null ){ templateID = Integer.parseInt(value); hp.setTemplateID(templateID); } request.setAttribute("templates",templates); if ( operation.equals("add") ){ request.setAttribute("includeSpecificSection","addnew"); } else if ( operation.equals("detail") ) request.setAttribute("includeSpecificSection","detailnew"); } //-------------------------------------------------------------------------- /** * Prepares information common to all type of home pages. * * @author Khue Nguyen * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private void prepareAdd( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { // get all pages id... JahiaPageBaseService pageService = JahiaPageBaseService.getInstance(); Vector allPagesIDVector = pageService.getPageIDsInSite(site.getID(), org.jahia.services.pages.PageInfoInterface.TYPE_DIRECT); // get all pages infos... Vector pages = new Vector(); Enumeration allPagesIDEnumeration = allPagesIDVector.elements(); while(allPagesIDEnumeration.hasMoreElements()) { Integer pageID = (Integer) allPagesIDEnumeration.nextElement(); try { pages.add ((JahiaPage)pageService .lookupPageWhitoutTemplates (pageID.intValue())); } catch (JahiaTemplateNotFoundException jtnfe) { } } // set all pages infos request.setAttribute("pages", pages); } //-------------------------------------------------------------------------- /** * Save homepage of type link. * * @author Khue Nguyen * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private boolean saveLink( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { JahiaPageBaseService pageService = JahiaPageBaseService.getInstance(); // retrieve previous form values... JahiaPage selectedPage = null; String value = (String) request.getParameter("pageid"); int pageID = -1; if ( value != null ){ pageID = Integer.parseInt(value); try { if ( pageID != -1 ) selectedPage = (JahiaPage)pageService .lookupPageWhitoutTemplates(pageID); } catch ( Throwable t ){ } } if ( selectedPage == null ){ request.setAttribute("warningMsg","The page you choose is not available"); return false; } JahiaHomepageLink hp = (JahiaHomepageLink)session.getAttribute("homepageBean"); if ( hp == null ){ throw new JahiaException(CLASS_NAME+".saveLink", "Homepage bean not found in session", JahiaException.ERROR, JahiaException.ERROR); } hp.setPageID(pageID); hpServ.saveHomepage(hp,site.getAclID()); return true; } //-------------------------------------------------------------------------- /** * Save homepage of type copy. * * @author Khue Nguyen * * @param request Servlet request. * @param response Servlet response. * @param session Servlet session for the current user. */ private boolean saveCopy( HttpServletRequest request, HttpServletResponse response, HttpSession session ) throws IOException, ServletException, JahiaException { prepareAdd( request, response, session ); JahiaPageBaseService pageService = JahiaPageBaseService.getInstance(); // retrieve previous form values... JahiaPage selectedPage = null; JahiaPage destPage = null; String value = (String) request.getParameter("pageid"); int pageID = -1; int depth = 1; int depthType = 2; if ( value != null ){ pageID = Integer.parseInt(value); try { if ( pageID != -1 ) selectedPage = (JahiaPage)pageService .lookupPageWhitoutTemplates(pageID); } catch ( Throwable t ){ } } if ( selectedPage == null ){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -