org.jboss.portal.server.deployment
Class WebAppIntercepter

java.lang.Object
  extended by ServiceMBeanSupport
      extended by org.jboss.portal.jems.as.system.AbstractJBossService
          extended by org.jboss.portal.server.deployment.WebAppIntercepter
All Implemented Interfaces:
java.util.EventListener, javax.management.NotificationListener
Direct Known Subclasses:
WebAppAdapter, WebAppEnhancer

public abstract class WebAppIntercepter
extends AbstractJBossService
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.

Version:
$Revision: 6091 $
Author:
Julien Viet

Constructor Summary
WebAppIntercepter()
           
 
Method Summary
protected abstract  void deploy(PortalWebApp pwa)
          Perform the deploy notification.
 java.util.Collection getDeployedURLs()
          Clone and return the deployed URLs.
 javax.management.ObjectName getInterceptedDeployer()
          Return the intercepted deployer.
 org.xml.sax.EntityResolver getJBossAppEntityResolver()
           
 void handleNotification(javax.management.Notification notification, java.lang.Object handback)
          Only take care of start notifications.
 void setInterceptedDeployer(javax.management.ObjectName interceptedDeployer)
          Set the deployer on this service.
 void setJBossAppEntityResolver(org.xml.sax.EntityResolver jbossAppEntityResolver)
           
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.jems.as.system.AbstractJBossService
create, destroy, getState, getStateString, start, stop
 
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

getJBossAppEntityResolver

public org.xml.sax.EntityResolver getJBossAppEntityResolver()

setJBossAppEntityResolver

public void setJBossAppEntityResolver(org.xml.sax.EntityResolver jbossAppEntityResolver)

setInterceptedDeployer

public void setInterceptedDeployer(javax.management.ObjectName interceptedDeployer)
Set the deployer on this service.


getInterceptedDeployer

public javax.management.ObjectName getInterceptedDeployer()
Return the intercepted deployer.


getDeployedURLs

public java.util.Collection getDeployedURLs()
Clone and return the deployed URLs.


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.

Throws:
java.lang.Exception

stopService

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

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.