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 2005/10/23 18:12:00 UTC

svn commit: r327805 - in /cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal: components/modules/input/ coplet/adapter/impl/ event/impl/ factory/ layout/ layout/renderer/aspect/impl/ layout/renderer/impl/

Author: cziegeler
Date: Sun Oct 23 09:10:43 2005
New Revision: 327805

URL: http://svn.apache.org/viewcvs?rev=327805&view=rev
Log:
Start cleaning up class hierarchy

Removed:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Parameters.java
Modified:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/Producible.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractParameters.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/components/modules/input/SkinModule.java Sun Oct 23 09:10:43 2005
@@ -85,7 +85,7 @@
             // fallback is: common
             final Layout rootLayout = portalService.getComponentManager().getProfileManager().getPortalLayout(null, null);
             if ( rootLayout != null ) {
-                skinName = (String)rootLayout.getParameters().get("skin");
+                skinName = rootLayout.getParameter("skin");
             }
             // use the global module
             if ( skinName == null ) {

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java Sun Oct 23 09:10:43 2005
@@ -182,7 +182,7 @@
      * @return String the name of the new item
      */
     private String getNewInstanceTabName(CompositeLayout layout) {
-        Integer data = Integer.valueOf((String)layout.getParameters().get("tab"));
+        Integer data = Integer.valueOf(layout.getParameter("tab"));
         Item selectedItem = (NamedItem) layout.getItem(data.intValue());
 
         if (selectedItem instanceof NamedItem) {

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java Sun Oct 23 09:10:43 2005
@@ -111,6 +111,6 @@
      */
     public void inform(LayoutChangeParameterEvent e, PortalService service) {
         final Layout l = (Layout)e.getTarget();
-        l.getParameters().put(e.getParameterName(), e.getValue());
+        l.setParameter(e.getParameterName(), e.getValue());
     }
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/Producible.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/Producible.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/Producible.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/Producible.java Sun Oct 23 09:10:43 2005
@@ -23,24 +23,24 @@
 public interface Producible {
 
     /**
-     * The name given from the factory
+     * The name given from the factory.
      */
     String getName();
 
     /**
-     * Get the unique id of this object
+     * Get the unique id of this object.
      * @return String Unique id
      */
     String getId();
 
     /**
-     * Set the layout description
+     * Set the layout description.
      */
     void setDescription(ProducibleDescription description);
 
     /**
      * Initialize the object. This should only be called once directly
-     * after the creation
+     * after the creation.
      */
     void initialize(String name, String id);
 }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractLayout.java Sun Oct 23 09:10:43 2005
@@ -15,15 +15,7 @@
  */
 package org.apache.cocoon.portal.layout;
 
-import java.util.Map;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.apache.cocoon.portal.factory.impl.AbstractProducible;
-import org.apache.cocoon.portal.pluto.om.common.ParameterImpl;
 import org.apache.commons.collections.map.LinkedMap;
-import org.apache.pluto.om.common.Parameter;
 
 /**
  * FIXME - We have to remove the dependency to pluto
@@ -31,38 +23,62 @@
  * @version $Id$
  */
 public abstract class AbstractLayout
-    extends AbstractProducible 
-    implements Layout, Parameters {
+    extends AbstractParameters
+    implements Layout {
 
     protected String rendererName;
 
     protected Item parent;
 
-    protected Map parameters = new LinkedMap();
+    protected String name;
+
+    protected String id;
+
+    transient protected LayoutDescription description;
 
     /**
-     * @see org.apache.cocoon.portal.layout.Parameters#getParameters()
+     * @return The configured name
      */
-    public final Map getParameters() {
-        return parameters;
+    public String getName() {
+        return name;
     }
 
-    public final Set getCastorParameters() {
-        Set set = new HashSet(this.parameters.size());
-        Iterator iterator = this.parameters.entrySet().iterator();
-        Map.Entry entry;
-        while (iterator.hasNext()) {
-            entry = (Map.Entry) iterator.next();
-            ParameterImpl param = new ParameterImpl();
-            param.setName((String) entry.getKey());
-            param.setValue((String) entry.getValue());
-            set.add(param);
-        }
-        return set;
+    /**
+     * @param string
+     */
+    public void setName(String string) {
+        name = string;
+    }
+
+    /**
+     * Set the layout description
+     */
+    public void setDescription(LayoutDescription description) {
+        this.description = description;
     }
 
-    public void addParameter(Parameter parameter) {
-        parameters.put(parameter.getName(), parameter.getValue());
+    /**
+     * Get the unique id of this object
+     * @return String Unique id
+     */
+    public String getId() {
+        return this.id;
+    }
+
+    /**
+     * Set the unique id of this object
+     */
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    /**
+     * Initialize the object. This should only be called once directly
+     * after the creation
+     */
+    public void initialize(String name, String id) {
+        this.name = name;
+        this.id = id;
     }
 
     /**
@@ -70,7 +86,7 @@
      */
     public String getRendererName() {
         if ( this.rendererName == null ) {
-            return ((LayoutDescription)this.description).getDefaultRendererName();
+            return this.description.getDefaultRendererName();
         }
         return this.rendererName;
     }
@@ -101,6 +117,9 @@
         AbstractLayout clone = (AbstractLayout)super.clone();
 
         // we don't clone the parent; we just set it to null
+        clone.name = this.name;
+        clone.id = this.id;
+        clone.description = this.description;
         clone.rendererName = this.rendererName;
         clone.parameters = new LinkedMap(this.parameters);
         clone.parent = null;

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractParameters.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractParameters.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractParameters.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/AbstractParameters.java Sun Oct 23 09:10:43 2005
@@ -29,7 +29,7 @@
  * @version $Id$
  */
 public abstract class AbstractParameters 
-    implements Parameters, Cloneable {
+    implements Cloneable {
 
     protected Map parameters = new LinkedMap();
 
@@ -56,6 +56,24 @@
 
     public void addParameter(Parameter parameter) {
         parameters.put(parameter.getName(), parameter.getValue());
+    }
+
+    /**
+     * Return the parameter value for the given key.
+     * @param key The name of the parameter.
+     * @return The value of the parameter or null.
+     */
+    public String getParameter(String key) {
+        return (String)this.parameters.get(key);
+    }
+
+    /**
+     * Set the parameter to a value.
+     * @param key The name of the parameter.
+     * @param value The value.
+     */
+    public void setParameter(String key, String value) {
+        this.parameters.put(key, value);
     }
 
     /**

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java Sun Oct 23 09:10:43 2005
@@ -15,14 +15,59 @@
  */
 package org.apache.cocoon.portal.layout;
 
-import org.apache.cocoon.portal.factory.Producible;
+import java.util.Map;
 
 /**
+ * 
+ * Parameters:
+ * A parameter is a key-value pair consisting of strings for both key and value.
  *
  * @version $Id$
  */
-public interface Layout 
-    extends Parameters, Producible {
+public interface Layout {
+
+    /**
+     * The name given from the factory.
+     */
+    String getName();
+
+    /**
+     * Get the unique id of this object.
+     * @return Unique id of the layout or null if this object does not provide a unique id.
+     */
+    String getId();
+
+    /**
+     * Set the layout description.
+     */
+    void setDescription(LayoutDescription description);
+
+    /**
+     * Initialize the object. This should only be called once directly
+     * after the creation.
+     */
+    void initialize(String name, String id);
+
+    /**
+     * Get parameters map.
+     * This method never returns null.
+     * @return A map with key value pairs.
+     */
+    Map getParameters();
+
+    /**
+     * Return the parameter value for the given key.
+     * @param key The name of the parameter.
+     * @return The value of the parameter or null.
+     */
+    String getParameter(String key);
+
+    /**
+     * Set the parameter to a value.
+     * @param key The name of the parameter.
+     * @param value The value.
+     */
+    void setParameter(String key, String value);
 
     /**
      * Get the name of the {@link org.apache.cocoon.portal.layout.renderer.Renderer} to draw this layout.

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java Sun Oct 23 09:10:43 2005
@@ -17,15 +17,28 @@
 
 import java.util.Iterator;
 
-import org.apache.cocoon.portal.factory.ProducibleDescription;
 
 /**
  * A configured layout
  *
  * @version $Id$
  */
-public interface LayoutDescription
-    extends ProducibleDescription {
+public interface LayoutDescription {
+
+    /**
+     * @return The class name
+     */
+    String getClassName();
+
+    /**
+     * @return The configured name
+     */
+    String getName();
+
+    /**
+     * Create a unique id for objects of this type
+     */
+    boolean createId();
 
     /**
      * @return the default renderer name

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml Sun Oct 23 09:10:43 2005
@@ -18,15 +18,6 @@
 <mapping>
   <description>Portalprofile mapping file</description>
 
-  <class name="org.apache.cocoon.portal.factory.impl.AbstractProducible">
-    <field name="name" type="java.lang.String">
-      <bind-xml name="name" node="attribute"/>
-    </field>
-    <field name="id" type="java.lang.String">
-      <bind-xml name="id" node="attribute"/>
-    </field>
-  </class>
-
   <class name="org.apache.cocoon.portal.layout.AbstractParameters">
     <field name="parameters" type="org.apache.cocoon.portal.pluto.om.common.ParameterImpl" collection="set"
       get-method="getCastorParameters" set-method="addParameter">
@@ -35,7 +26,13 @@
   </class>
 
   <class name="org.apache.cocoon.portal.layout.AbstractLayout"
-    extends="org.apache.cocoon.portal.factory.impl.AbstractProducible">
+    extends="org.apache.cocoon.portal.layout.AbstractParameters">
+    <field name="name" type="java.lang.String">
+      <bind-xml name="name" node="attribute"/>
+    </field>
+    <field name="id" type="java.lang.String">
+      <bind-xml name="id" node="attribute"/>
+    </field>
     <field name="layoutRendererName" type="java.lang.String">
       <bind-xml name="layout-renderer-name" node="attribute"/>
     </field>

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java Sun Oct 23 09:10:43 2005
@@ -58,7 +58,7 @@
             throw new SAXException("Wrong layout type, FrameLayout expected: " + layout.getClass().getName());
         }
 
-        String source = (String)layout.getParameters().get(config.aspectName);
+        String source = layout.getParameter(config.aspectName);
         if (source == null) {
             source = ((FrameLayout) layout).getSource();
         }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java Sun Oct 23 09:10:43 2005
@@ -126,7 +126,7 @@
             CompositeLayout tabLayout = (CompositeLayout) layout;
 
             // selected tab
-            String data = (String)layout.getParameters().get(config.aspectName);
+            String data = layout.getParameter(config.aspectName);
             int selected = 0;
             if ( data != null ) {
                 selected = Integer.valueOf(data).intValue();

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java?rev=327805&r1=327804&r2=327805&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java Sun Oct 23 09:10:43 2005
@@ -36,8 +36,8 @@
     public void process(Layout layout, PortalService service, ContentHandler handler)
     throws SAXException {
         if (layout instanceof LinkLayout) {
-            String layoutKey = (String)layout.getParameters().get("link-layout-key");
-			String layoutId = (String)layout.getParameters().get("link-layout-id");
+            String layoutKey = layout.getParameter("link-layout-key");
+			String layoutId = layout.getParameter("link-layout-id");
             if ( layoutKey == null && layoutId == null){
 				// get default values
 				layoutKey = ((LinkLayout)layout).getLayoutKey();