cziegeler    2004/02/09 04:14:21

  Modified:    
src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl
                        URICopletAdapter.java
  Log:
  Bug fixes for the URICoplet:
  - Use correct event type to detect coplet changes
  - Fix changed list handling
  - throw better exception, if uri is not present (instead of NPE)
  
  Revision  Changes    Path
  1.12      +8 -5      
cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java
  
  Index: URICopletAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal/java/org/apache/cocoon/portal/coplet/adapter/impl/URICopletAdapter.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- URICopletAdapter.java     20 Oct 2003 13:36:41 -0000      1.11
  +++ URICopletAdapter.java     9 Feb 2004 12:14:20 -0000       1.12
  @@ -64,11 +64,11 @@
   import org.apache.cocoon.portal.Constants;
   import org.apache.cocoon.portal.PortalService;
   import org.apache.cocoon.portal.coplet.CopletInstanceData;
  +import org.apache.cocoon.portal.event.CopletInstanceEvent;
   import org.apache.cocoon.portal.event.Event;
   import org.apache.cocoon.portal.event.EventManager;
   import org.apache.cocoon.portal.event.Filter;
   import org.apache.cocoon.portal.event.Subscriber;
  -import 
org.apache.cocoon.portal.event.impl.ChangeCopletInstanceAspectDataEvent;
   import org.apache.excalibur.source.Source;
   import org.apache.excalibur.source.SourceResolver;
   import org.xml.sax.ContentHandler;
  @@ -100,6 +100,9 @@
       public void streamContent(CopletInstanceData coplet, ContentHandler 
contentHandler)
       throws SAXException {
           final String uri = 
(String)coplet.getCopletData().getAttribute("uri");
  +        if ( uri == null ) {
  +            throw new SAXException("No URI for coplet data 
"+coplet.getCopletData().getId()+" found.");
  +        }
           this.streamContent( coplet, uri, contentHandler);
       }
   
  @@ -118,7 +121,7 @@
                   String sourceUri = uri;
                   
                   if ( handlePars != null && handlePars.booleanValue() ) {
  -                    List list = (List) 
portalService.getAttribute(URICopletAdapter.class.getName());
  +                    List list = (List) 
portalService.getTemporaryAttribute(URICopletAdapter.class.getName());
                       if ( list != null && list.contains( coplet )) {
                           // add parameters
                           if ( uri.startsWith("cocoon:raw:") ) {
  @@ -177,7 +180,7 @@
        * @see org.apache.cocoon.portal.event.Subscriber#getEventType()
        */
       public Class getEventType() {
  -        return ChangeCopletInstanceAspectDataEvent.class;
  +        return CopletInstanceEvent.class;
       }
   
       /* (non-Javadoc)
  @@ -191,7 +194,7 @@
        * @see 
org.apache.cocoon.portal.event.Subscriber#inform(org.apache.cocoon.portal.event.Event)
        */
       public void inform(Event e) {
  -        ChangeCopletInstanceAspectDataEvent event = 
(ChangeCopletInstanceAspectDataEvent)e;
  +        CopletInstanceEvent event = (CopletInstanceEvent)e;
           PortalService service = null;
           try {
               service = (PortalService)this.manager.lookup(PortalService.ROLE);
  
  
  

Reply via email to