⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extractdeploysite.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    //    // EXTRACT SECTION    //    //--------------------------------------------------------------------------    //--------------------------------------------------------------------------    /**     * Display the list of site the user can choose to extract     *     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void displayExtract( HttpServletRequest    request,                                 HttpServletResponse   response,                                 HttpSession           session )    throws IOException, ServletException    {        JahiaConsole.println(CLASS_NAME+".displayExtract","started");        try {            Enumeration enum = siteServ.getSites();            request.setAttribute("sitesList", enum);            // retrieve previous form values...            Vector selSiteIDs  	 	 =  (Vector) session.getAttribute(CLASS_NAME                                        + "selSiteIDs");            String jahiaExtractName  =  (String) session.getAttribute(CLASS_NAME                                        + "jahiaExtractName");            String jahiaExtractDesc  =  (String) session.getAttribute(CLASS_NAME                                        + "jahiaExtractDesc");            String warningMsg		 =  (String) session.getAttribute(CLASS_NAME                                        + "warningMsg");            // set default values (if necessary)...            if (selSiteIDs == null ) 	 { selSiteIDs = new Vector();	 }            if(jahiaExtractName == null) { jahiaExtractName	= "";        }            if(jahiaExtractDesc == null) { jahiaExtractDesc = "";        }            if(warningMsg == null) 		 { warningMsg = "";        		 }            // set request attributes...            request.setAttribute("selSiteIDs",  		selSiteIDs);            request.setAttribute("jahiaExtractName",  	jahiaExtractName);            request.setAttribute("jahiaExtractDesc",  	jahiaExtractDesc);            request.setAttribute("warningMsg", 			warningMsg);            JahiaAdministration.doRedirect( request, response, session,                                        JSP_PATH + "extdep_site_extract.jsp" );        } catch ( JahiaException je ){            request.setAttribute("jahiaDisplayMessage",                                    "An error occured while processing your request");            JahiaAdministration.doRedirect( request,                                            response,                                            session,                                            JSP_PATH + "menu.jsp" );        }    }    //--------------------------------------------------------------------------    /**     * Display the extraction confirmation screen     *     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void displayExtractConfirmation( HttpServletRequest    request,                                             HttpServletResponse   response,                                             HttpSession           session )    throws IOException, ServletException    {        JahiaConsole.println(CLASS_NAME+".displayExtractConfirmation","started");        try {            Enumeration enum = siteServ.getSites();            request.setAttribute("sitesList", enum);            // retrieve previous form values...            Vector selSiteIDs  	 	 =  (Vector) session.getAttribute(CLASS_NAME                                        + "selSiteIDs");            String jahiaExtractName  =  (String) session.getAttribute(CLASS_NAME                                        + "jahiaExtractName");            String jahiaExtractDesc  =  (String) session.getAttribute(CLASS_NAME                                        + "jahiaExtractDesc");            String warningMsg		 =  (String) session.getAttribute(CLASS_NAME                                        + "warningMsg");            // set default values (if necessary)...            if (selSiteIDs == null ) 	 { selSiteIDs = new Vector();	 }            if(jahiaExtractName == null) { jahiaExtractName	= "";        }            if(jahiaExtractDesc == null) { jahiaExtractDesc = "";        }            if(warningMsg == null) 		 { warningMsg = "";        		 }            // set request attributes...            request.setAttribute("selSiteIDs",  		selSiteIDs);            request.setAttribute("jahiaExtractName",  	jahiaExtractName);            request.setAttribute("jahiaExtractDesc",  	jahiaExtractDesc);            request.setAttribute("warningMsg", 			warningMsg);            JahiaAdministration.doRedirect( request, response, session,                                        JSP_PATH + "extdep_site_extractconfirmation.jsp" );        } catch ( JahiaException je ){            request.setAttribute("jahiaDisplayMessage",                                    "An error occured while processing your request");            JahiaAdministration.doRedirect( request,                                            response,                                            session,                                            JSP_PATH + "extdep_site_extractconfirmation.jsp" );        }    }    //--------------------------------------------------------------------------    /**     * Process and check the validity of extraction options.     *     * @author  Khue Nguyen     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void processExtract( HttpServletRequest   request,                                 HttpServletResponse  response,                                 HttpSession          session )    throws IOException, ServletException, JahiaException    {        JahiaConsole.println(CLASS_NAME+".processExtract","started");		// start the chrono...		long startTime = JahiaChrono.getInstance().start();        synchronized (mLock){            // Try to get the excluse lock on Jahia            JahiaUser user = (JahiaUser)session.getAttribute(ParamBean.SESSION_USER);            if ( user == null || !user.isAdminMember(0) ){                session.setAttribute(CLASS_NAME + "jahiaDisplayMessage",  "Illegal Access Operation");                JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );                return;            }            byte[] jahiaLock = null;            boolean freeLock = true;            try {                jahiaLock = Jahia.getLock(user,session);                if ( jahiaLock == null ){                    session.setAttribute(CLASS_NAME + "jahiaDisplayMessage",  "Cannot lock jahia in exclusive access mode");                    JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );                    return;                }            } catch ( JahiaException je ){                session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", je.getMessage());                JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );                return;            }            try {                String confirmExtraction  =                (String) request.getParameter("confirmExtraction");                // the extraction folder                File extFolder = null;                // error status                boolean err = false;                // sites to extract                String[] siteIDsArr = null;                Vector selSiteIDs = null;                String jahiaExtractName  = null;                String jahiaExtractDesc  =  null;                if ( confirmExtraction == null || !confirmExtraction.equals("yes") ){                    // sites to extract                    siteIDsArr = request.getParameterValues("sitesList");                    selSiteIDs = new Vector();                    if ( siteIDsArr != null ){                        for ( int i=0 ; i<siteIDsArr.length ; i++ ){                            int selSiteID = -1;                            try {                                selSiteID = Integer.parseInt(siteIDsArr[i]);                            } catch (Throwable t){                                request.setAttribute("jahiaDisplayMessage",                                            "An error occured while processing your request");                                JahiaAdministration.doRedirect( request,                                                            response,                                                            session,                                                            JSP_PATH + "menu.jsp" );                            }                            selSiteIDs.add(new Integer(selSiteID));                        }                    }                    jahiaExtractName  =                    (String) request.getParameter("jahiaExtractName");                    jahiaExtractDesc  =                    (String) request.getParameter("jahiaExtractDesc");                    if ( jahiaExtractDesc == null || jahiaExtractDesc.trim().equals("") ){                        jahiaExtractDesc = "No description";                    }                    session.setAttribute(CLASS_NAME + "selSiteIDs",selSiteIDs);                    session.setAttribute(CLASS_NAME + "jahiaExtractName",jahiaExtractName);                    session.setAttribute(CLASS_NAME + "jahiaExtractDesc",jahiaExtractDesc);                    if (selSiteIDs.size()==0){                        session.setAttribute(CLASS_NAME + "warningMsg",                                                "At least one site must be selected");                        displayExtract(request, response, session);                        return;                    }                    // set default values (if necessary)...                    if(jahiaExtractName == null) { jahiaExtractName	= "";        }                    if(jahiaExtractDesc == null) { jahiaExtractDesc = "";        }                    // check user input validity                    if ( (jahiaExtractName == null)                         || (jahiaExtractName.trim().length()==0) ){                        session.setAttribute(CLASS_NAME + "warningMsg",                        "Please complete requested informations");                        err = true;                    } else if ( jahiaExtractName.indexOf(" ") != -1 ){                        session.setAttribute(CLASS_NAME + "warningMsg",                        "The extraction name must be a unique word");                        err = true;                    } else if ( !isExtractNameValid(jahiaExtractName) ){                        session.setAttribute(CLASS_NAME + "warningMsg",                        "Invalid Characters in Extraction Name");                        err = true;                    } else if ( checkExtractionFolder(jahiaExtractName) ){                        session.setAttribute(CLASS_NAME + "warningMsg",                        "Please choose another Extraction Name");                        err = true;                    }                    if ( !err )	{                        displayExtractConfirmation(request,response,session);                    } else {                        displayExtract(request, response, session);                    }                    return;                }                // Get confirmation so start extraction                // retrieve previous form values...                selSiteIDs  	 	 =  (Vector) session.getAttribute(CLASS_NAME                                            + "selSiteIDs");                jahiaExtractName  =  (String) session.getAttribute(CLASS_NAME                                            + "jahiaExtractName");                jahiaExtractDesc  =  (String) session.getAttribute(CLASS_NAME                                            + "jahiaExtractDesc");                if ( selSiteIDs == null ||                     jahiaExtractName == null ||                     jahiaExtractDesc == null ){                    request.setAttribute("jahiaDisplayMessage",                                         "An error occured while processing your request\n");                    throw new JahiaException("Error occured while processing your request",                    CLASS_NAME+": Invalid data in session",                    JahiaException.FILE_ERROR,                    JahiaException.ERROR);                }                // create the extraction folder                extFolder = createExtractionFolder(jahiaExtractName);                if ( !extFolder.isDirectory() ){                    request.setAttribute("jahiaDisplayMessage",                                         "An error occured while processing your request\n"                                         +"Cannot create extraction folder");                    throw new JahiaException("Error occured while processing your request",                    CLASS_NAME+": Cannot create extraction folder",                    JahiaException.FILE_ERROR,                    JahiaException.ERROR);                }                mSiteExtractionFolder = extFolder.getAbsolutePath();                // set request attributes...                if ( err ){                    displayExtract(request, response, session);                } else {                    // change session time out to 1 hour ( the extraction can be very long !)                    int timeOut = session.getMaxInactiveInterval();                    try {                        session.setMaxInactiveInterval(7200);                        try {                            jahiaLock = Jahia.getLock(user,session);                            if ( jahiaLock == null ){                                session.setAttribute(CLASS_NAME + "jahiaDisplayMessage",  "Cannot lock jahia in exclusive access mode");                                JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );                                return;                            }                        } catch ( JahiaException je ){                            session.setAttribute(CLASS_NAME + "jahiaDisplayMessage", je.getMessage());                            JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );                            return;                        }                        // start extraction here                        JahiaConsole.println(CLASS_NAME+".processExtract",                        "start extract " + selSiteIDs.size() + " sites");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -