📄 portletseventlistener.java
字号:
//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .////--------------------------// PortletsEventListener//--------------------------// J閞鬽e B閐at 18.01.2001//--------------------------package org.jahia.layout;import java.util.*;import org.jahia.utils.*; // JahiaConsoleimport org.jahia.exceptions.*; // Jahia Exceptionsimport org.jahia.data.events.*; // EventObjectimport org.jahia.services.pages.JahiaPage;import org.jahia.data.containers.*; // JahiaContainersimport org.jahia.services.usermanager.*; // JahiaUserpublic class PortletsEventListener extends JahiaEventListener{ /*** * triggered when Jahia adds a container * * @param je the associated JahiaEvent * */ public void containerAdded( JahiaEvent je ) { JahiaConsole.println("LayoutEventListener", "containerAdded called"); PortletsPersistanceManager PM = PortletsPersistanceManager.getInstance(false); JahiaContainer theObject = (JahiaContainer) je.getObject(); int theObjectID = theObject.getID(); String theContainerName = ""; try { theContainerName = theObject.getDefinition().getName(); JahiaConsole.println("LayoutEventListener", "container name=[" + theContainerName + "]"); } catch (JahiaException e) { JahiaConsole.printe( "LayoutEventListener.containerAdded", e); } if (theContainerName.startsWith("PortletContentList")) { JahiaConsole.println("LayoutEventListener.containerAdded", "Adding portlet metadata entry..."); int thePageID = je.getParams().getPage().getID(); String theTemplatesDiskPath = je.getParams().settings().getJahiaFilesTemplatesDiskPath(); JahiaUser theUser = (JahiaUser) je.getParams().getUser(); String theUserName = theUser.getUsername(); try { /** @todo the problem here is that this assumes we are using a type of grid, which we might not be * doing. It is still unclear how listener fit in with the parameter we must pass to them. Loading * and storing portlet sets is also a heavy operation which needs to be optimized... */ PortletSetPersistanceManager PSPM = PortletSetPersistanceManager.getInstance(false); JahiaContainerDefinition containerDef = theObject.getDefinition(); String portletGroupName = containerDef.getName(); PortletBeanSpanningGrid portletSpanningGrid = new PortletBeanSpanningGrid( PSPM.getPortletSet(je.getParams(), je.getJahiaData(), portletGroupName) ); portletSpanningGrid.add(new PortletBean(theObject.getID())); PSPM.setPortletSet(portletSpanningGrid, portletGroupName, je.getParams(), je.getJahiaData()); } catch (JahiaException e) { JahiaConsole.printe("LayoutEventListener.containerAdded", e); } } } /*** * triggered when Jahia delete a container * * @param je the associated JahiaEvent * */ public void containerDeleted( JahiaEvent je ) { JahiaConsole.println("LayoutEventListener", "containerDeleted called"); PortletsPersistanceManager PM = PortletsPersistanceManager.getInstance(false); JahiaContainer theObject = (JahiaContainer) je.getObject(); int theObjectID = theObject.getID(); String theContainerName = ""; try { theContainerName = theObject.getDefinition().getName(); JahiaConsole.println("LayoutEventListener", "container name=[" + theContainerName + "]"); } catch (JahiaException e) { JahiaConsole.printe( "LayoutEventListener -> containerDeleted", e ); } if (theContainerName.startsWith("PortletContentList")) { JahiaConsole.println("LayoutEventListener.containerAdded", "Adding portlet metadata entry..."); int thePageID = je.getParams().getPage().getID(); String theTemplatesDiskPath = je.getParams().settings().getJahiaFilesTemplatesDiskPath(); JahiaUser theUser = (JahiaUser) je.getParams().getUser(); String theUserName = theUser.getUsername(); try { PM.delPortlet( je.getParams(), je.getJahiaData(), theObject, thePageID, theUserName, theTemplatesDiskPath ); } catch (JahiaException e) { JahiaConsole.printe("LayoutEventListener.containerDeleted", e); } } } /*** * triggered when Jahia adds a page * * @param je the associated JahiaEvent * */ public void pageAdded( JahiaEvent je ) { if ( je.getParams()!= null ){ JahiaConsole.println("LayoutEventListener", "pageAdded called"); PortletsPersistanceManager PM = PortletsPersistanceManager.getInstance(false); JahiaPage theObject = (JahiaPage) je.getObject(); int theObjectID = theObject.getID(); String theTemplatesDiskPath = je.getParams().settings().getJahiaFilesTemplatesDiskPath(); JahiaUser theUser = (JahiaUser) je.getParams().getUser(); String theUserName = theUser.getUsername(); try { PM.addPortletGroup( je.getParams(), theObjectID, theUserName, theTemplatesDiskPath ); } catch (JahiaException e) { JahiaConsole.printe("LayoutEventListener.pageAdded", e); } } }} // end PortletsEventListener
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -