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);