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

📄 jahiasitetools.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
////                                   ____.//                       __/\ ______|    |__/\.     _______//            __   .____|    |       \   |    +----+       \//    _______|  /--|    |    |    -   \  _    |    :    -   \_________//   \\______: :---|    :    :           |    :    |         \________>//           |__\---\_____________:______:    :____|____:_____\//                                      /_____|////                 . . . i n   j a h i a   w e   t r u s t . . .////////  JahiaSite////  NK      11.07.2001////package org.jahia.services.sites;import java.io.*;import java.text.*;import java.util.*;import org.jahia.utils.JahiaConsole;import org.jahia.utils.JahiaTools;import org.jahia.params.ParamBean;import org.jahia.data.applications.*;import org.jahia.data.fields.*;import org.jahia.data.containers.*;import org.jahia.data.JahiaEditableContent;import org.jahia.registries.ServicesRegistry;import org.jahia.registries.JahiaFieldDefinitionsRegistry;import org.jahia.registries.JahiaContainerDefinitionsRegistry;import org.jahia.exceptions.JahiaException;import org.jahia.services.usermanager.JahiaUserManagerService;import org.jahia.services.usermanager.JahiaGroupManagerService;import org.jahia.services.usermanager.JahiaSiteUserManagerService;import org.jahia.services.usermanager.JahiaSiteGroupManagerService;import org.jahia.services.usermanager.JahiaGroup;import org.jahia.services.usermanager.JahiaUser;import org.jahia.services.usermanager.JahiaGroup;import org.jahia.services.usermanager.GroupsTools;import org.jahia.services.usermanager.UserManagerProviderBean;import org.jahia.services.pages.JahiaPage;import org.jahia.services.pages.JahiaPageDefinition;import org.jahia.services.pages.JahiaPageService;import org.jahia.services.pages.JahiaPageTemplateService;import org.jahia.services.acl.JahiaBaseACL;import org.jahia.services.acl.JahiaACLException;import org.jahia.services.templates_deployer.*;import org.jahia.services.webapps_deployer.*;import org.jahia.services.applications.*;import org.jahia.services.shares.*;import org.jahia.services.filemanager.*;import org.jahia.services.containers.*;import org.jahia.services.fields.*;import org.jahia.services.deamons.filewatcher.templateobserver.*;import org.jahia.services.deamons.filewatcher.webappobserver.*;/** * Class JahiaSiteTools.<br> *  * * @author Khue ng * @version 1.0 */public final class JahiaSiteTools {	private static final String CLASS_NAME = "JahiaSiteTools";		    //-------------------------------------------------------------------------    /**     * Create a new membership for a user     *     * @param JahiaUser user, the user to add as member     * @param JahiaSite site, the site 	 * @author NK     */    public static boolean addMember (JahiaUser user, JahiaSite site)     throws JahiaException {    			if ( site == null || user == null ){			return false;		}		JahiaSiteUserManagerService jsums = ServicesRegistry.getInstance()															.getJahiaSiteUserManagerService();				if ( jsums == null ){			return false;		}				return jsums.addMember(site.getID(),user);	    }    //-------------------------------------------------------------------------    /**     * Add a group membership on this site ( in a group sharing context )     *     * @param JahiaGroup grp 	 * @author NK     */    public static boolean addGroup (JahiaGroup grp, JahiaSite site)     throws JahiaException {		if ( site == null || grp == null ){			return false;		}    			JahiaSiteGroupManagerService jsgms = ServicesRegistry.getInstance()															.getJahiaSiteGroupManagerService();			if ( jsgms == null ){			return false;		}				return jsgms.addGroup(site.getID(),grp);	    }    //-------------------------------------------------------------------------    /**     * return the admin group of this site     *     * @param JahiaSite the site 	 * @author NK     */    public static JahiaGroup getAdminGroup (JahiaSite site)     throws JahiaException {    	    	if ( site == null ){    		return null;    	}    			JahiaGroupManagerService jgms = ServicesRegistry.getInstance()															.getJahiaGroupManagerService();			if ( jgms == null ){			return null;		}				return jgms.getAdministratorGroup(site.getID());	    }    //-------------------------------------------------------------------------	/**	 * Create the template directory for a gived site	 * 	 * @param JahiaSite the site	 * @auhtor NK	 */	public static boolean createTemplateDir(JahiaSite site){				if ( site == null ){			return false;		}				JahiaTemplatesDeployerService jtds = 				ServicesRegistry.getInstance()								.getJahiaTemplatesDeployerService();		if ( jtds == null )	{			return false;		}																						// get the root folder for all templates		String jahiaTemplatesRootPath =	jtds.getTemplateRootPath();		if ( jahiaTemplatesRootPath == null ){			return false;		}				// compose the full template path for this site		StringBuffer buff = new StringBuffer(jahiaTemplatesRootPath);		buff.append(File.separator);		buff.append(site.getSiteKey());		JahiaConsole.println(CLASS_NAME," start creating the template path " + buff.toString());				// create the folder		File f = new File(buff.toString());		if ( !f.isDirectory() ){			return f.mkdirs();				} else {			return true;		}							}     //--------------------------------------------------------------------------	/**	 * Return the full path to a site's template root folder	 *	 * @param JahiaSite site	 * @return String	 * @auhtor NK	 */    public static String getSiteTemplateFolder(JahiaSite site) throws JahiaException {    	    	if ( site == null ){    		return null;    	}    	    	String templateRootPath = ServicesRegistry.getInstance()    												.getJahiaTemplatesDeployerService()    												.getTemplateRootPath();    	String templateContext = ServicesRegistry.getInstance()    												.getJahiaTemplatesDeployerService()    												.getTemplatesContext();   	    	if ( templateRootPath == null || templateContext == null ) {    		return null;    	}		String path = templateRootPath + File.separator + site.getSiteKey();					return path;			}			    //-------------------------------------------------------------------------    /**     * Purge site's templates and all containers and fields definitions     *     * @param (JahiaUser) the user to check right     * @param (JahiaSite) the site     * @return boolean false on error     * @author NK     */    public static boolean deleteTemplates(JahiaUser user, JahiaSite site) throws  JahiaException {						if ( site == null || user == null ){			return false;		}				/*		if ( !checkAdminAccess(user) ){			return false;		}				*/				JahiaGroup adminGrp = getAdminGroup(site);		if ( adminGrp == null || !adminGrp.isMember(user) ){			return false;		}						JahiaTemplatesDeployerService tds = ServicesRegistry                                            .getInstance()                                            .getJahiaTemplatesDeployerService();        // purge new templates folder        if ( tds == null ){            return false;        }		StringBuffer buff = null;		File f = null;        String path = tds.getNewTemplatesPath();        if ( path != null ){	        buff = new StringBuffer(path);	        buff.append(File.separator);	        buff.append(site.getSiteKey());		        f = new File(buff.toString());			JahiaConsole.println(CLASS_NAME,"delete site new templates folder " + f.getAbsolutePath());  			JahiaTools.deleteFile(f);        }		// purge site's templates folder				path = tds.getTemplateRootPath();					if ( path != null ){	        buff = new StringBuffer(path);	        buff.append(File.separator);	        buff.append(site.getSiteKey());		        f = new File(buff.toString());			JahiaConsole.println(CLASS_NAME,"delete site templates folder " + f.getAbsolutePath());  			JahiaTools.deleteFile(f);		}			// purge templates definitions		JahiaPageTemplateService pts = ServicesRegistry.getInstance()														.getJahiaPageTemplateService();					if ( pts != null ){															    	Enumeration enum = pts.getPageTemplates (site.getID(), false);	        while (enum.hasMoreElements()) {	            JahiaPageDefinition template = (JahiaPageDefinition)enum.nextElement();				JahiaConsole.println(CLASS_NAME,"delete site templates definition " + template.getName());  				// purge field sub def for this template				JahiaFieldDefinitionsDB fDefDB = new JahiaFieldDefinitionsDB();				fDefDB.db_delete_field_sub_definition(template.getID());								pts.deletePageTemplate(template.getID());					        }		}		// purge site's containers definition		JahiaContainersService cServ = ServicesRegistry.getInstance().getJahiaContainersService();				Vector ids = cServ.getAllContainerDefinitionIDs();        for ( int i=0; i < ids.size(); i++) {            int theID = ((Integer)ids.elementAt(i)).intValue();            JahiaContainerDefinition cDef = cServ.loadContainerDefinition(theID);			if ( cDef.getJahiaID()==site.getID() ){				JahiaConsole.println(CLASS_NAME,"delete site cotnainer def " + cDef.getID());  				// purge container sub def for this template				JahiaContainerDefinitionsDB cDefDB = new JahiaContainerDefinitionsDB();								JahiaContainerStructuresDB c_struct = new JahiaContainerStructuresDB();								Hashtable hash = cDef.getSubDefs();				Enumeration enum = hash.elements();				while ( enum.hasMoreElements() ){					JahiaContainerSubDefinition subDef = (JahiaContainerSubDefinition)enum.nextElement();					c_struct.db_delete_container_structure(subDef.getID());				}				cDefDB.db_delete_container_sub_definition(cDef.getID());				cServ.deleteContainerDefinition(cDef.getID());							}                }		// purge site's fields definition		JahiaFieldService fServ = ServicesRegistry.getInstance().getJahiaFieldService();        ids = fServ.getAllFieldDefinitionIDs();        for (int i=0; i < ids.size(); i++) {            int theID = ((Integer)ids.elementAt(i)).intValue();            JahiaFieldDefinition fDef = fServ.loadFieldDefinition(theID);			if ( fDef.getJahiaID()==site.getID() ){				fServ.deleteFieldDefinition(fDef.getID());							}                }		return true;	}		    //-------------------------------------------------------------------------    /**     * Purge site's applications     *     * @param (JahiaUser) the user to check right     * @param (JahiaSite) the site     * @return boolean false on error     * @author NK     */    public static boolean deleteApplications(JahiaUser user, JahiaSite site) throws  JahiaException {				/*		if ( !checkAdminAccess(user) ){			return false;		}				*/				if ( site == null || user == null ){			return false;		}				JahiaGroup adminGrp = getAdminGroup(site);		if ( adminGrp == null || !adminGrp.isMember(user) ){			return false;		}				JahiaWebAppsDeployerService ads = ServicesRegistry                                            .getInstance()                                            .getJahiaWebAppsDeployerService();        if ( ads == null ){            return false;        }		StringBuffer buff = null;		File f = null;        String path = ads.getNewWebAppsPath();

⌨️ 快捷键说明

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