001: /* Copyright 2002 The JA-SIG Collaborative. All rights reserved.
002: * See license distributed with this file and
003: * available online at http://www.uportal.org/license.html
004: */
005:
006: package org.jasig.portal.services.stats;
007:
008: import org.jasig.portal.UserProfile;
009: import org.jasig.portal.events.EventPublisherLocator;
010: import org.jasig.portal.events.support.ChannelAddedToLayoutPortalEvent;
011: import org.jasig.portal.events.support.ChannelMovedInLayoutPortalEvent;
012: import org.jasig.portal.events.support.ChannelRemovedFromLayoutPortalEvent;
013: import org.jasig.portal.events.support.ChannelUpdatedInLayoutPortalEvent;
014: import org.jasig.portal.events.support.UserAddedFolderToLayoutPortalEvent;
015: import org.jasig.portal.events.support.UserMovedFolderInLayoutPortalEvent;
016: import org.jasig.portal.events.support.UserRemovedFolderFromLayoutPortalEvent;
017: import org.jasig.portal.events.support.UserUpdatedFolderInLayoutPortalEvent;
018: import org.jasig.portal.layout.LayoutEvent;
019: import org.jasig.portal.layout.LayoutEventListener;
020: import org.jasig.portal.layout.LayoutMoveEvent;
021: import org.jasig.portal.layout.node.IUserLayoutChannelDescription;
022: import org.jasig.portal.layout.node.IUserLayoutFolderDescription;
023: import org.jasig.portal.security.IPerson;
024:
025: /**
026: * Listens to events generated by an <code>IUserLayoutManager</code>.
027: * The information in the event is passed along to the
028: * <code>StatsRecorder</code> service.
029: * @author Ken Weiner, kweiner@unicon.net
030: * @version $Revision: 36546 $
031: */
032: public class StatsRecorderLayoutEventListener implements
033: LayoutEventListener {
034:
035: IPerson person;
036: UserProfile profile;
037:
038: /**
039: * Constructor for <code>StatsRecorderLayoutEventListener</code>.
040: * @param person the owner of the layout for which this listener is listening
041: * @param profile the profile of the layout for which this listener is listening
042: */
043: public StatsRecorderLayoutEventListener(IPerson person,
044: UserProfile profile) {
045: this .person = person;
046: this .profile = profile;
047: }
048:
049: // Channels...
050: public void channelAdded(LayoutEvent ev) {
051: IUserLayoutChannelDescription channelDesc = (IUserLayoutChannelDescription) ev
052: .getNodeDescription();
053: EventPublisherLocator.getApplicationEventPublisher()
054: .publishEvent(
055: new ChannelAddedToLayoutPortalEvent(this ,
056: person, profile, channelDesc));
057: }
058:
059: public void channelUpdated(LayoutEvent ev) {
060: IUserLayoutChannelDescription channelDesc = (IUserLayoutChannelDescription) ev
061: .getNodeDescription();
062: EventPublisherLocator.getApplicationEventPublisher()
063: .publishEvent(
064: new ChannelUpdatedInLayoutPortalEvent(this ,
065: person, profile, channelDesc));
066: }
067:
068: public void channelMoved(LayoutMoveEvent ev) {
069: IUserLayoutChannelDescription channelDesc = (IUserLayoutChannelDescription) ev
070: .getNodeDescription();
071: EventPublisherLocator.getApplicationEventPublisher()
072: .publishEvent(
073: new ChannelMovedInLayoutPortalEvent(this ,
074: person, profile, channelDesc));
075: }
076:
077: public void channelDeleted(LayoutMoveEvent ev) {
078: IUserLayoutChannelDescription channelDesc = (IUserLayoutChannelDescription) ev
079: .getNodeDescription();
080: EventPublisherLocator.getApplicationEventPublisher()
081: .publishEvent(
082: new ChannelRemovedFromLayoutPortalEvent(this ,
083: person, profile, channelDesc));
084: }
085:
086: // Folders...
087: public void folderAdded(LayoutEvent ev) {
088: IUserLayoutFolderDescription folderDesc = (IUserLayoutFolderDescription) ev
089: .getNodeDescription();
090: EventPublisherLocator.getApplicationEventPublisher()
091: .publishEvent(
092: new UserAddedFolderToLayoutPortalEvent(this ,
093: person, profile, folderDesc));
094: }
095:
096: public void folderUpdated(LayoutEvent ev) {
097: IUserLayoutFolderDescription folderDesc = (IUserLayoutFolderDescription) ev
098: .getNodeDescription();
099: EventPublisherLocator.getApplicationEventPublisher()
100: .publishEvent(
101: new UserUpdatedFolderInLayoutPortalEvent(this ,
102: person, profile, folderDesc));
103: }
104:
105: public void folderMoved(LayoutMoveEvent ev) {
106: IUserLayoutFolderDescription folderDesc = (IUserLayoutFolderDescription) ev
107: .getNodeDescription();
108: EventPublisherLocator.getApplicationEventPublisher()
109: .publishEvent(
110: new UserMovedFolderInLayoutPortalEvent(this ,
111: person, profile, folderDesc));
112: }
113:
114: public void folderDeleted(LayoutMoveEvent ev) {
115: IUserLayoutFolderDescription folderDesc = (IUserLayoutFolderDescription) ev
116: .getNodeDescription();
117: EventPublisherLocator.getApplicationEventPublisher()
118: .publishEvent(
119: new UserRemovedFolderFromLayoutPortalEvent(
120: this , person, profile, folderDesc));
121: }
122:
123: // Layout...
124: public void layoutLoaded() {
125: }
126:
127: public void layoutSaved() {
128: }
129: }
|