org.jboss.portal.server.deployment
Class WebAppIntercepter

java.lang.Object
  extended by javax.management.NotificationBroadcasterSupport
      extended by org.jboss.system.ServiceMBeanSupport
          extended by org.jboss.portal.server.util.Service
              extended by org.jboss.portal.server.deployment.WebAppIntercepter
All Implemented Interfaces:
java.util.EventListener, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, javax.management.NotificationListener, org.jboss.system.Service, org.jboss.system.ServiceMBean
Direct Known Subclasses:
WebAppAdapter, WebAppEnhancer

public abstract class WebAppIntercepter
extends Service
implements javax.management.NotificationListener

Relay web deployments. When a web deployment occurs, it is abstracted into a PortalWebApp object that provides a consistent way to getPortalObjectContext informations and modify the web application. When this service stops it does not send undeployment notifications, therefore it is up to the client of this service to perform any cleanup task associated to a deployment web application. The purpose of this is that most of the time clients of this service will be stopped before this one and they would receive undeployments in a not started state.


Field Summary
 
Fields inherited from class org.jboss.system.ServiceMBeanSupport
log, server, SERVICE_CONTROLLER_SIG, serviceName
 
Fields inherited from interface org.jboss.system.ServiceMBean
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED
 
Constructor Summary
WebAppIntercepter()
           
 
Method Summary
protected abstract  void deploy(PortalWebApp pwa)
          Perform the deploy notification.
 java.util.Collection getDeployedURLs()
           
 javax.management.ObjectName getInterceptedDeployer()
           
 void handleNotification(javax.management.Notification notification, java.lang.Object handback)
          Only take care of start notifications.
 void setInterceptedDeployer(javax.management.ObjectName interceptedDeployer)
           
protected  void startService()
          Start listening to the deployer notifications.
protected  void stopService()
          Stop listening to the deployer notifications.
protected abstract  void undeploy(PortalWebApp pwa)
          Perform the undeploy notification.
 
Methods inherited from class org.jboss.portal.server.util.Service
create, destroy, getState, getStateString, start, stop
 
Methods inherited from class org.jboss.system.ServiceMBeanSupport
createService, destroyService, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebAppIntercepter

public WebAppIntercepter()
Method Detail

setInterceptedDeployer

public void setInterceptedDeployer(javax.management.ObjectName interceptedDeployer)

getInterceptedDeployer

public javax.management.ObjectName getInterceptedDeployer()

getDeployedURLs

public java.util.Collection getDeployedURLs()

handleNotification

public void handleNotification(javax.management.Notification notification,
                               java.lang.Object handback)
Only take care of start notifications.

Specified by:
handleNotification in interface javax.management.NotificationListener

startService

protected void startService()
                     throws java.lang.Exception
Start listening to the deployer notifications.

Overrides:
startService in class org.jboss.system.ServiceMBeanSupport
Throws:
java.lang.Exception

stopService

protected void stopService()
                    throws java.lang.Exception
Stop listening to the deployer notifications.

Overrides:
stopService in class org.jboss.system.ServiceMBeanSupport
Throws:
java.lang.Exception

deploy

protected abstract void deploy(PortalWebApp pwa)
Perform the deploy notification.


undeploy

protected abstract void undeploy(PortalWebApp pwa)
Perform the undeploy notification.