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

📄 managecomponents.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
// $Id: ManageComponents.java,v 1.4 2002/08/28 14:34:07 knguyen Exp $////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////              . . . i n   j a h i a   w e   t r u s t . . .//////  ManageComponents////  01.04.2001  AK  added in jahia.//  15.05.2001  NK  clean bunch of codes.//package org.jahia.admin.components;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import org.jahia.bin.*;import org.jahia.utils.*;import org.jahia.utils.properties.*;import org.jahia.registries.*;import org.jahia.exceptions.*;import org.jahia.params.*;import org.jahia.services.sites.*;import org.jahia.services.jef.*;import org.jahia.data.webapps.*;import org.jahia.data.applications.*;import org.jahia.services.database.*;import org.jahia.services.usermanager.*;import org.jahia.services.applications.*;import org.jahia.services.webapps_deployer.*;import org.jahia.services.shares.*;import org.jahia.security.license.*;/** * desc:  This class is used by the administration to manage * all the components you've added to your Jahia portal. You can add a * component, edit, change the visibility of the component and edit * its options. You can also view non-installed components. * * Copyright:    Copyright (c) 2002 * Company:      Jahia Ltd * * @author Khue N'Guyen * @author Alexandre Kraft * @version 1.0 */public class ManageComponents{        private static final String     CLASS_NAME          =  JahiaAdministration.CLASS_NAME;    private static final String     JSP_PATH            =  JahiaAdministration.JSP_PATH;    private static final String     MSG_INTERNAL_ERROR  = new String ("Jahia Administration internal error");   	private JahiaSite site;	private JahiaUser user;	private ServicesRegistry sReg;	private LicenseKey mLicenseKey;    /**	 * Default constructor.	 * @author  Alexandre Kraft	 *	 * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.	 */    public ManageComponents( HttpServletRequest       request,                             HttpServletResponse      response,                             HttpSession              session )    throws Throwable    {       		    mLicenseKey = Jahia.getLicenseKey();	    if ( mLicenseKey == null ){	        // set request attributes...    	    request.setAttribute("jahiaDisplayMessage",  "Invalid License Key");        	// redirect...        	JahiaAdministration.doRedirect( request, response, session, JSP_PATH + "menu.jsp" );        	return;	    }        userRequestDispatcher( request, response, session );    } // end constructor    //-------------------------------------------------------------------------    /**     * This method is used like a dispatcher for user requests.     * @author  Alexandre Kraft     *     * @param   request       Servlet request.     * @param   response      Servlet response.     * @param   session       Servlet session for the current user.     */    private void userRequestDispatcher( HttpServletRequest    request,                                        HttpServletResponse   response,                                        HttpSession           session )    throws Throwable    {        String operation =  request.getParameter("sub");        sReg = ServicesRegistry.getInstance();		        // check if the user has really admin access to this site...        user =  (JahiaUser) session.getAttribute( ParamBean.SESSION_USER );         site =  (JahiaSite) session.getAttribute( ParamBean.SESSION_SITE );				if ( site != null && user != null && sReg != null){						if ( JahiaSiteTools.getAdminGroup(site).isMember(user) ){        		// set the new site id to administrate...        		request.setAttribute( "site", site );		        if(operation.equals("display")) {		            displayComponentList( request, response, session );		        } else if(operation.equals("displaynewlist")) {		            displayNewComponentList( request, response, session );		        } else if(operation.equals("details")) {		            displayNewComponentDetail( request, response, session );		        } else if(operation.equals("visibility")) {		            confirmComponentVisibilityChange( request, response, session );		        } else if(operation.equals("savevisibility")) {		            saveComponentVisibility( request, response, session );		        } else if(operation.equals("edit")) {		            editComponent( request, response, session );		        } else if(operation.equals("add")) {		            addComponent( request, response, session );		        } else if(operation.equals("share")) {		            shareComponent( request, response, session );		        } else if(operation.equals("options")) {		            editComponentOption( request, response, session );		        } else if(operation.equals("decryptjec")) {		            decryptJec( request, response, session );		        }	        } else {	            	//System.out.println(" --> no admin access on this site <--");                request.setAttribute("jahiaDisplayMessage",                 						"An error occured while processing your request");       			JahiaAdministration.doRedirect( request,        											response,        											session, JSP_PATH + "menu.jsp" );	       	}		} else {       	            request.setAttribute("jahiaDisplayMessage",             						"An error occured while processing your request");       		JahiaAdministration.doRedirect( request,        										response,        										session, JSP_PATH + "menu.jsp" );		}    } // userRequestDispatcher    //-------------------------------------------------------------------------    /**     * Display the list of components.     * @author  NK     *     * @param   request         Servlet request.     * @param   response        Servlet response.     * @param   session         HttpSession object.     */    private void displayComponentList( HttpServletRequest   request,                                       HttpServletResponse  response,                                       HttpSession          session )    throws IOException, ServletException    {	    try {						JahiaApplicationsManagerService appPersServ = 			sReg.getJahiaApplicationsManagerService();						AppsShareService appShareServ = sReg.getAppsShareService();						if ( appPersServ == null || appShareServ == null ){	            throw new JahiaException(	"Unavailable Services",                                        	"Unavailable Services",                                         	JahiaException.SERVICE_ERROR,                                         	JahiaException.ERROR );			}				        // all apps	        Vector appList = appPersServ.getApplications();	        	        // list of authorized apps	        Vector authAppList = new Vector();	        	        int size = appList.size();	        ApplicationBean app =null;	        for (int i=0 ; i<size ; i++){	        	app = (ApplicationBean)appList.get(i);	        	if ( app.isShared() || (app.getJahiaID() == site.getID()) 	        			|| ( appShareServ.getShare(site,app) != null ) ){	        		authAppList.add(app);	        	}				        }            request.setAttribute("appsList", authAppList.elements());			JahiaAdministration.doRedirect( request, 											response, 											session, 											JSP_PATH + "manage_components.jsp" );	    } catch ( JahiaException je ){            request.setAttribute("jahiaDisplayMessage",             						"An error occured while processing your request");			JahiaAdministration.doRedirect( request, 											response, 											session, 											JSP_PATH + "menu.jsp" );	    }            } // end displayComponentList    //-------------------------------------------------------------------------    /**     * Display the list of new components.     *     * @author  NK     * @param   request         Servlet request.     * @param   response        Servlet response.     * @param   session         HttpSession object.     */    private void displayNewComponentList( HttpServletRequest   request,                                       HttpServletResponse  response,                                       HttpSession          session )    throws IOException, ServletException    {		try {			JahiaWebAppsDeployerService appDepServ = sReg.getJahiaWebAppsDeployerService();						if ( appDepServ == null ){	            throw new JahiaException(	"Unavailable Services",                                        	"Unavailable Services",                                         	JahiaException.SERVICE_ERROR,                                         	JahiaException.ERROR );			}	        // get the list of new web apps	        Enumeration newWebAppsKeys = appDepServ.getWebAppsPackageKeys(site.getSiteKey());	        	        Enumeration enum = appDepServ.getWebAppsPackages(site.getSiteKey());	        Vector vec = new Vector();	        JahiaWebAppsPackage aPackage = null;		        while (enum.hasMoreElements()){	            aPackage = (JahiaWebAppsPackage)enum.nextElement();	            if ( aPackage != null ){	                vec.add(aPackage);	            } else {	                //System.out.println("displayNewComponentList packages is null");	            }	        }		        request.setAttribute("packagesList", vec.elements());		        JahiaAdministration.doRedirect( request, 	        								response, 	        								session, 	        								JSP_PATH + "new_components.jsp" );	    } catch ( JahiaException je ){            request.setAttribute("jahiaDisplayMessage",             						"An error occured while processing your request");			JahiaAdministration.doRedirect( request, 											response, 											session, 											JSP_PATH + "menu.jsp" );	    }    }    //-------------------------------------------------------------------------    /**     * Display informations about a new component     *     * @author  NK     * @param   request         Servlet request.     * @param   response        Servlet response.     * @param   session         HttpSession object.     */    private void displayNewComponentDetail( HttpServletRequest   request,                                            HttpServletResponse  response,                                            HttpSession          session )    throws IOException, ServletException    {				try {			JahiaWebAppsDeployerService appDepServ = sReg.getJahiaWebAppsDeployerService();						if ( appDepServ == null ){		        throw new JahiaException(	"Unavailable Services",		                                	"Unavailable Services", 		                                	JahiaException.SERVICE_ERROR, 		                                	JahiaException.ERROR );			}				    // get the new component		    String packageName = (String)request.getParameter("package_name");		    JahiaWebAppsPackage aPackage = (JahiaWebAppsPackage)appDepServ		    								.getWebAppsPackage(	site.getSiteKey() 		    													+ "_" 		    													+ packageName);				    String subAction =(String)request.getParameter("subaction");				    if ( subAction == null ){		    	request.setAttribute("canDeploy",new Boolean(appDepServ.canDeploy())); 		        request.setAttribute("aPackage", aPackage);		        JahiaAdministration.doRedirect( request, 		        								response, 		        								session, 		        								JSP_PATH + "new_component_detail.jsp" );		    } else if ( subAction.equals("deploy") ){				        try {		            if (appDepServ.deploy(	site, 		            						aPackage.getContextRoot(), 		            						aPackage.getFilePath())){		            		                displayNewComponentList(request,response,session);		            		            } else {		                session.setAttribute( CLASS_NAME + "jahiaDisplayMessage", 		                					  "An error occurred while deploying the package");		                request.setAttribute( "aPackage", aPackage );		                JahiaAdministration.doRedirect( request, 		                								response, 		                								session, 		                								JSP_PATH + "new_component_detail.jsp" );		            }		        } catch ( JahiaException je ){		            request.setAttribute("aPackage", aPackage);		            session.setAttribute( CLASS_NAME + "jahiaDisplayMessage", 		            					  "An error occurred while deploying the package");		            JahiaAdministration.doRedirect( request, 		            								response, 		            								session, 		            								JSP_PATH + "new_component_detail.jsp" );		        }		    } else if ( subAction.equals("delete") ){				        try {		            if (appDepServ.deletePackage(site,aPackage.getFilePath())){		                displayNewComponentList(request,response,session);		            } else {		                request.setAttribute("aPackage", aPackage);		                session.setAttribute( CLASS_NAME + "jahiaDisplayMessage", 		                					  "An error occurred while deleting the package");		                JahiaAdministration.doRedirect( request, 		                								response, 		                								session, 		                								JSP_PATH + "new_component_detail.jsp" );		            }		        } catch ( IOException ioe ){		            session.setAttribute( CLASS_NAME + "jahiaDisplayMessage", 		            					  "An error occurred while deleting the package");		            JahiaAdministration.doRedirect( request, 		            								response, 		            								session, 		            								JSP_PATH + "new_component_detail.jsp" );		        }		    }	    } catch ( JahiaException je ){            request.setAttribute("jahiaDisplayMessage",             						"An error occured while processing your request");			JahiaAdministration.doRedirect( request, 											response, 											session, 											JSP_PATH + "menu.jsp" );

⌨️ 快捷键说明

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