You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/10/02 14:52:10 UTC

svn commit: r452012 - in /cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl: AbstractRenderer.java DefaultLinkRenderer.java

Author: cziegeler
Date: Mon Oct  2 05:52:10 2006
New Revision: 452012

URL: http://svn.apache.org/viewvc?view=rev&rev=452012
Log:
Clean up renderer impls

Removed:
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/AbstractRenderer.java
Modified:
    cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java?view=diff&rev=452012&r1=452011&r2=452012
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java Mon Oct  2 05:52:10 2006
@@ -16,8 +16,10 @@
  */
 package org.apache.cocoon.portal.layout.renderer.impl;
 
+import org.apache.avalon.framework.thread.ThreadSafe;
 import org.apache.cocoon.portal.LayoutException;
 import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.layout.renderer.Renderer;
 import org.apache.cocoon.portal.om.Layout;
 import org.apache.cocoon.portal.om.LayoutFeatures;
 import org.apache.cocoon.portal.om.LayoutInstance;
@@ -35,27 +37,25 @@
  *
  * @version $Id$
  */
-public class DefaultLinkRenderer extends AbstractRenderer {
+public class DefaultLinkRenderer implements Renderer, ThreadSafe {
 
     /**
-     * @see org.apache.cocoon.portal.layout.renderer.impl.AbstractRenderer#process(org.apache.cocoon.portal.om.Layout, org.apache.cocoon.portal.PortalService, org.xml.sax.ContentHandler)
+     * @see org.apache.cocoon.portal.layout.renderer.impl.AbstractRenderer#toSAX(org.apache.cocoon.portal.om.Layout, org.apache.cocoon.portal.PortalService, org.xml.sax.ContentHandler)
      */
-    public void process(Layout layout, PortalService service, ContentHandler handler)
-    throws SAXException {
-        try {
-            LayoutFeatures.checkLayoutClass(layout, LinkLayout.class, true);
-            String layoutId = null;
-            final LayoutInstance instance = LayoutFeatures.getLayoutInstance(service, layout, false);
-            if ( instance != null ) {
-                layoutId = (String)instance.getTemporaryAttribute("link-layout-id");                
-            }
-            if ( layoutId == null){
-				// get default values
-				layoutId = ((LinkLayout)layout).getLayoutId();
-			}
-            this.processLayout(service.getProfileManager().getLayout(layoutId), service, handler);
-        } catch (LayoutException le) {
-            throw new SAXException(le);
-        }        
+    public void toSAX(Layout layout, PortalService service, ContentHandler handler)
+    throws SAXException, LayoutException {
+        LayoutFeatures.checkLayoutClass(layout, LinkLayout.class, true);
+        String layoutId = null;
+        final LayoutInstance instance = LayoutFeatures.getLayoutInstance(service, layout, false);
+        if ( instance != null ) {
+            layoutId = (String)instance.getTemporaryAttribute("link-layout-id");                
+        }
+        if ( layoutId == null){
+            // get default values
+            layoutId = ((LinkLayout)layout).getLayoutId();
+        }
+        final Layout linkedLayout = service.getProfileManager().getLayout(layoutId);
+        final String rendererName = service.getLayoutFactory().getRendererName(linkedLayout);
+        service.getRenderer(rendererName).toSAX(linkedLayout, service, handler);
     }
 }