cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject svn commit: r431606 [3/4] - in /cocoon/trunk/blocks/cocoon-portal: cocoon-portal-impl/ cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/acting/helpers/ cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/components/modules/input/ cocoon-...
Date Tue, 15 Aug 2006 14:45:41 GMT
Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletDefinitionFeatures.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletDefinitionFeatures.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletDefinitionFeatures.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletDefinitionFeatures.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletDefinitionFeatures.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletDefinitionFeatures.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletDefinitionFeatures.java Tue Aug 15 07:45:27 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.coplet;
+package org.apache.cocoon.portal.om;
 
 import org.apache.commons.lang.BooleanUtils;
 

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstance.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletInstance.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstance.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstance.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletInstance.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletInstance.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstance.java Tue Aug 15 07:45:27 2006
@@ -13,13 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.coplet;
+package org.apache.cocoon.portal.om;
 
 import java.io.Serializable;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.cocoon.portal.coplet.CopletFactory;
 import org.apache.cocoon.portal.util.PortalUtils;
 
 /**
@@ -44,32 +45,32 @@
  *
  * @version $Id$
  */
-public final class CopletInstance implements Serializable {
+public final class CopletInstance implements Cloneable, Serializable {
 
     public final static int SIZE_MINIMIZED  = 0;
     public final static int SIZE_NORMAL     = 1;
     public final static int SIZE_MAXIMIZED   = 2;
     public final static int SIZE_FULLSCREEN = 3;
 
+    /** The corresponding {@link CopletDefinition}. */
+	protected CopletDefinition copletDefinition;
+
+    /** The title of the coplet instance (if user specific). */
+    protected String title;
+
+    /** The size of the coplet. */
+    protected int size = SIZE_NORMAL;
+
     /** The unique identifier.
      * @see PortalUtils#testId(String)
      */
     protected final String id;
 
-    /** The corresponding {@link CopletDefinition}. */
-	protected CopletDefinition copletDefinition;
-
     /** Persisted attributes. */
     protected Map attributes = Collections.EMPTY_MAP;
 
     /** Temporary attributes are not persisted. */
-    transient protected Map temporaryAttributes = Collections.EMPTY_MAP;
-
-    /** The title of the coplet instance (if user specific). */
-    protected String title;
-
-    /** The size of the coplet. */
-    protected int size = SIZE_NORMAL;
+    protected transient Map temporaryAttributes = Collections.EMPTY_MAP;
 
     /**
 	 * Constructor to create a new coplet instance data object.
@@ -86,14 +87,6 @@
         this.id = id;
 	}
 
-    /**
-     * The unique identifier of this instance.
-     * @return The unique identifer.
-     */
-    public String getId() {
-        return this.id;
-    }
-
 	/**
 	 * @return CopletDefinition
 	 */
@@ -109,44 +102,6 @@
 		this.copletDefinition = copletDef;
 	}
 
-    public Object getAttribute(String key) {
-        return this.attributes.get(key);
-    }
-
-    public void setAttribute(String key, Object value) {
-        if ( this.attributes.size() == 0 ) {
-            this.attributes = new HashMap();
-        }
-        this.attributes.put(key, value);
-    }
-
-    public Object removeAttribute(String key) {
-        return this.attributes.remove(key);
-    }
-
-    public Map getAttributes() {
-        return this.attributes;
-    }
-
-    public Object getTemporaryAttribute(String key) {
-        return this.temporaryAttributes.get(key);
-    }
-
-    public void setTemporaryAttribute(String key, Object value) {
-        if ( this.temporaryAttributes.size() == 0 ) {
-            this.temporaryAttributes = new HashMap();
-        }
-        this.temporaryAttributes.put(key, value);
-    }
-
-    public Object removeTemporaryAttribute(String key) {
-        return this.temporaryAttributes.remove(key);
-    }
-
-    public Map getTemporaryAttributes() {
-        return this.temporaryAttributes;
-    }
-
     public String getTitle() {
         if (this.title != null) {
             return this.title;
@@ -166,9 +121,8 @@
      * @see java.lang.Object#clone()
      */
     protected Object clone() throws CloneNotSupportedException {
-        CopletInstance clone = new CopletInstance(this.id);
+        final CopletInstance clone = new CopletInstance(this.id);
 
-        clone.copletDefinition = this.copletDefinition;
         if ( this.attributes.size() > 0 ) {
             clone.attributes = new HashMap(this.attributes);
         }
@@ -176,6 +130,10 @@
             clone.temporaryAttributes = new HashMap(this.temporaryAttributes);
         }
 
+        clone.size = this.size;
+        clone.copletDefinition = this.copletDefinition;
+        clone.title = this.title;
+
         return clone;
     }
 
@@ -211,5 +169,89 @@
     public String toString() {
         return "CopletInstance (" + this.hashCode() +
                "), id=" + this.getId() + ", coplet-definition=" + (this.getCopletDefinition() == null ? "null" : this.getCopletDefinition().getId());
+    }
+
+    /**
+     * The unique identifier of this instance.
+     * @return The unique identifer.
+     */
+    public String getId() {
+        return this.id;
+    }
+
+    /**
+     * Return the value of an attribute.
+     * @param key The name of the attribute.
+     * @return The value of the attribute or null
+     */
+    public Object getAttribute(String key) {
+        return this.attributes.get(key);
+    }
+
+    /**
+     * Set the value of the attribute.
+     * @param key The attribute name.
+     * @param value The new value.
+     */
+    public void setAttribute(String key, Object value) {
+        if ( this.attributes.size() == 0 ) {
+            this.attributes = new HashMap();
+        }
+        this.attributes.put(key, value);
+    }
+
+    /**
+     * Remove an attribute.
+     * @param key The attribute name.
+     * @return If there was a value associated with the attribute, the old value is returned.
+     */
+    public Object removeAttribute(String key) {
+        return this.attributes.remove(key);
+    }
+
+    /**
+     * Return a map with all attributes.
+     * @return A map.
+     */
+    public Map getAttributes() {
+        return this.attributes;
+    }
+
+    /**
+     * Return the value of an attribute.
+     * @param key The name of the attribute.
+     * @return The value of the attribute or null
+     */
+    public Object getTemporaryAttribute(String key) {
+        return this.temporaryAttributes.get(key);
+    }
+
+    /**
+     * Set the value of the attribute.
+     * @param key The attribute name.
+     * @param value The new value.
+     */
+    public void setTemporaryAttribute(String key, Object value) {
+        if ( this.temporaryAttributes.size() == 0 ) {
+            this.temporaryAttributes = new HashMap();
+        }
+        this.temporaryAttributes.put(key, value);
+    }
+
+    /**
+     * Remove a temporary attribute.
+     * @param key The attribute name.
+     * @return If there was a value associated with the attribute, the old value is returned.
+     */
+    public Object removeTemporaryAttribute(String key) {
+        return this.temporaryAttributes.remove(key);
+    }
+
+    /**
+     * Return a map with all temporary attributes.
+     * @return A map.
+     */
+    public Map getTemporaryAttributes() {
+        return this.temporaryAttributes;
     }
 }

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstanceFeatures.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletInstanceFeatures.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstanceFeatures.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstanceFeatures.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletInstanceFeatures.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletInstanceFeatures.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletInstanceFeatures.java Tue Aug 15 07:45:27 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.coplet;
+package org.apache.cocoon.portal.om;
 
 import java.util.ArrayList;
 import java.util.Collections;

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletLayout.java (from r431389, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletLayout.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletLayout.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java&r1=431389&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/CopletLayout.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletLayout.java Tue Aug 15 07:45:27 2006
@@ -13,9 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout.impl;
+package org.apache.cocoon.portal.om;
 
-import org.apache.cocoon.portal.layout.Layout;
 import org.apache.cocoon.portal.layout.LayoutFactory;
 
 /**
@@ -59,7 +58,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.layout.Layout#copy()
+     * @see org.apache.cocoon.portal.om.Layout#copy()
      */
     public Layout copy() {
         CopletLayout clone = (CopletLayout)super.copy();

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletType.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletType.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletType.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletType.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletType.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/coplet/CopletType.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/CopletType.java Tue Aug 15 07:45:27 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.coplet;
+package org.apache.cocoon.portal.om;
 
 import java.io.Serializable;
 import java.util.HashMap;
@@ -29,13 +29,13 @@
  *
  * @version $Id$
  */
-public class CopletType implements Serializable { 
+public final class CopletType implements Serializable, Cloneable { 
 
-	private final Map copletConfig = new HashMap();
+	protected final Map copletConfig = new HashMap();
 
-	private final String id;
+    protected final String id;
 
-	private String copletAdapterName;
+    protected String copletAdapterName;
 
     /**
      * Create a new coplet base data object. 

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java (from r431389, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/FrameLayout.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/FrameLayout.java&r1=431389&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/FrameLayout.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java Tue Aug 15 07:45:27 2006
@@ -13,9 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout.impl;
+package org.apache.cocoon.portal.om;
 
-import org.apache.cocoon.portal.layout.Layout;
 import org.apache.cocoon.portal.layout.LayoutFactory;
 
 /**

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Item.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/Item.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Item.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Item.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/Item.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/Item.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Item.java Tue Aug 15 07:45:27 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout;
+package org.apache.cocoon.portal.om;
 
 
 /**

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Layout.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/Layout.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Layout.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Layout.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/Layout.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/Layout.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/Layout.java Tue Aug 15 07:45:27 2006
@@ -13,14 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout;
+package org.apache.cocoon.portal.om;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
 
+import org.apache.cocoon.portal.layout.LayoutFactory;
 import org.apache.cocoon.portal.util.PortalUtils;
 import org.apache.commons.collections.map.LinkedMap;
 
@@ -59,9 +57,6 @@
     /** The unique identifier of this layout object or null. */
     protected final String id;
 
-    /** The temporary attributes. */
-    transient protected Map temporaryAttributes = Collections.EMPTY_MAP;
-
     /** Is this layout object static? */
     protected boolean isStatic;
 
@@ -100,45 +95,6 @@
         return this.id;
     }
 
-    /**
-     * Get the temporary attributes map.
-     * This method never returns null.
-     * @return A map with key value pairs.
-     */
-    public Map getTemporaryAttributes() {
-        return this.temporaryAttributes;
-    }
-
-    /**
-     * Return the temporary attribute value for the given key.
-     * @param key The name of the attribute.
-     * @return The value of the attribute or null.
-     */
-    public Object getTemporaryAttribute(String key) {
-        return this.temporaryAttributes.get(key);
-    }
-
-    /**
-     * Set the temporary attribute to a value.
-     * @param key The name of the attribute.
-     * @param value The value.
-     */
-    public void setTemporaryAttribute(String key, Object value) {
-        if ( this.temporaryAttributes.size() == 0 ) {
-            this.temporaryAttributes = new HashMap();
-        }
-        this.temporaryAttributes.put(key, value);
-    }
-
-    /**
-     * Remove the attribute.
-     * @param key The name of the attribute.
-     * @return The old value for the attribute or null.
-     */
-    public Object removeTemporaryAttribute(String key) {
-        return this.temporaryAttributes.remove(key);
-    }
-
     /** 
      * Get the name of a custom {@link org.apache.cocoon.portal.layout.renderer.Renderer} for this layout.
      * @return String The role name
@@ -202,8 +158,7 @@
     /**
      * @see java.lang.Object#clone()
      */
-    protected Object clone() throws CloneNotSupportedException {
-        
+    protected Object clone() throws CloneNotSupportedException {        
         Constructor c;
         try {
             c = this.getClass().getConstructor(new Class[] {String.class, String.class});
@@ -218,9 +173,6 @@
             clone.parent = null;
             clone.rendererName = this.rendererName;
             clone.isStatic = this.isStatic;
-            if ( this.temporaryAttributes.size() > 0 ) {
-                clone.temporaryAttributes = new HashMap(this.temporaryAttributes);
-            }
 
             return clone;
         } catch (NoSuchMethodException e) {

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutFeatures.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/LayoutFeatures.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutFeatures.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutFeatures.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/LayoutFeatures.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/LayoutFeatures.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutFeatures.java Tue Aug 15 07:45:27 2006
@@ -13,13 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout;
+package org.apache.cocoon.portal.om;
 
 import java.util.Iterator;
 
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.layout.impl.CopletLayout;
-import org.apache.cocoon.portal.layout.impl.LinkLayout;
+import org.apache.cocoon.portal.layout.LayoutException;
 
 
 /**
@@ -52,27 +51,43 @@
         }
     }
 
-    public static Layout getFullScreenInfo(Layout layout) {
-        return (Layout) layout.getTemporaryAttribute(ATTRIBUTE_FULLSCREENINFO);
+    public static Layout getFullScreenInfo(PortalService service, Layout layout) {
+        if ( layout.getId() == null ) {
+            return null;
+        }
+        final LayoutInstance layoutInstance = service.getProfileManager().getLayoutInstance(layout);
+        if ( layoutInstance == null ) {
+            return null;
+        }
+        return (Layout) layoutInstance.getTemporaryAttribute(ATTRIBUTE_FULLSCREENINFO);
     }
 
-    public static void setFullScreenInfo(Layout layout, Layout fullScreenLayout) {
+    public static void setFullScreenInfo(PortalService service, Layout layout, Layout fullScreenLayout) {
+        final LayoutInstance layoutInstance = LayoutFeatures.getLayoutInstance(service, layout, true);
         if ( fullScreenLayout == null ) {
-            layout.removeTemporaryAttribute(ATTRIBUTE_FULLSCREENINFO);
+            layoutInstance.removeTemporaryAttribute(ATTRIBUTE_FULLSCREENINFO);
         } else {
-            layout.setTemporaryAttribute(ATTRIBUTE_FULLSCREENINFO, fullScreenLayout);            
+            layoutInstance.setTemporaryAttribute(ATTRIBUTE_FULLSCREENINFO, fullScreenLayout);            
         }
     }
 
-    public static RenderInfo getRenderInfo(Layout layout) {
-        return (RenderInfo) layout.getTemporaryAttribute(ATTRIBUTE_MAXMIZEDINFO);
+    public static RenderInfo getRenderInfo(PortalService service, Layout layout) {
+        if ( layout.getId() == null ) {
+            return null;
+        }
+        final LayoutInstance layoutInstance = service.getProfileManager().getLayoutInstance(layout);
+        if ( layoutInstance == null ) {
+            return null;
+        }
+        return (RenderInfo) layoutInstance.getTemporaryAttribute(ATTRIBUTE_MAXMIZEDINFO);
     }
 
-    public static void setRenderInfo(Layout layout, RenderInfo info) {
+    public static void setRenderInfo(PortalService service, Layout layout, RenderInfo info) {
+        final LayoutInstance layoutInstance = LayoutFeatures.getLayoutInstance(service, layout, true);
         if ( info == null ) {
-            layout.removeTemporaryAttribute(ATTRIBUTE_MAXMIZEDINFO);
+            layoutInstance.removeTemporaryAttribute(ATTRIBUTE_MAXMIZEDINFO);
         } else {
-            layout.setTemporaryAttribute(ATTRIBUTE_MAXMIZEDINFO, info);            
+            layoutInstance.setTemporaryAttribute(ATTRIBUTE_MAXMIZEDINFO, info);            
         }
     }
 
@@ -172,5 +187,39 @@
                return true;
            }
         });
+    }
+
+    /**
+     * Get the selected tab for a tab layout.
+     */
+    public static String getSelectedTab(PortalService service, Layout tabLayout) {
+        final LayoutInstance layoutInstance = service.getProfileManager().getLayoutInstance(tabLayout);
+        if ( layoutInstance == null ) {
+            return null;
+        }
+        return (String)layoutInstance.getTemporaryAttribute(LayoutFeatures.ATTRIBUTE_TAB);
+    }
+
+    /**
+     * Get the corresponding layout instance.
+     * If it is not available it will be created.
+     */
+    public static LayoutInstance getLayoutInstance(PortalService service, Layout layout, boolean create) {
+        LayoutInstance instance = service.getProfileManager().getLayoutInstance(layout);
+        if ( instance == null && create ) {
+            instance = service.getLayoutFactory().newInstace(layout);
+        }
+        return instance;
+    }
+
+    public static boolean checkLayoutClass(Layout layout, Class layoutClass, boolean throwException)
+    throws LayoutException {
+        if ( layoutClass.isInstance(layout) ) {
+            return true;
+        }
+        if ( throwException ) {
+            throw new LayoutException("Layout object is not an instance of required class " + layoutClass.getName() + " : " + layout);
+        }
+        return false;
     }
 }

Added: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutInstance.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutInstance.java?rev=431606&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutInstance.java (added)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutInstance.java Tue Aug 15 07:45:27 2006
@@ -0,0 +1,170 @@
+/*
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.om;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A layout instance stores user specific information about a layout object.
+ * It can contain temporary and persistent attributes. If information about
+ * a layout should be persistet, the layout needs to have an id. However,
+ * this is not checked in this data object. Use the {@link LayoutFeatures}
+ * instead.
+ *
+ * @version $Id$
+ */
+public class LayoutInstance implements Serializable, Cloneable {
+
+    /** The corresponding layout object. */
+    protected transient final Layout layout;
+
+    /** Persisted attributes. */
+    protected Map attributes = Collections.EMPTY_MAP;
+
+    /** Temporary attributes are not persisted. */
+    protected transient Map temporaryAttributes = Collections.EMPTY_MAP;
+
+    /**
+     * Constructor to create a new layout instance object.
+     */
+    public LayoutInstance(Layout layout) {
+        this.layout = layout;
+    }
+
+    public LayoutInstance copy() {
+        try {
+            return (LayoutInstance)this.clone();
+        } catch (CloneNotSupportedException cnse) {
+            // ignore
+            return null;
+        }
+    }
+
+    /**
+     * @see java.lang.Object#clone()
+     */
+    protected Object clone() throws CloneNotSupportedException {
+        final LayoutInstance clone = new LayoutInstance(this.layout);
+
+        if ( this.attributes.size() > 0 ) {
+            clone.attributes = new HashMap(this.attributes);
+        }
+        if ( this.temporaryAttributes.size() > 0 ) {
+            clone.temporaryAttributes = new HashMap(this.temporaryAttributes);
+        }
+
+        return clone;
+    }
+
+    /**
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return "LayoutInstance (" + this.hashCode() +
+               "), id=" + this.layout.getId();
+    }
+
+    /**
+     * The unique identifier of this instance.
+     * @return The unique identifer.
+     */
+    public String getId() {
+        return this.layout.getId();
+    }
+
+    public Layout getLayout() {
+        return this.layout;
+    }
+
+    /**
+     * Return the value of an attribute.
+     * @param key The name of the attribute.
+     * @return The value of the attribute or null
+     */
+    public Object getAttribute(String key) {
+        return this.attributes.get(key);
+    }
+
+    /**
+     * Set the value of the attribute.
+     * @param key The attribute name.
+     * @param value The new value.
+     */
+    public void setAttribute(String key, Object value) {
+        if ( this.attributes.size() == 0 ) {
+            this.attributes = new HashMap();
+        }
+        this.attributes.put(key, value);
+    }
+
+    /**
+     * Remove an attribute.
+     * @param key The attribute name.
+     * @return If there was a value associated with the attribute, the old value is returned.
+     */
+    public Object removeAttribute(String key) {
+        return this.attributes.remove(key);
+    }
+
+    /**
+     * Return a map with all attributes.
+     * @return A map.
+     */
+    public Map getAttributes() {
+        return this.attributes;
+    }
+
+    /**
+     * Return the value of an attribute.
+     * @param key The name of the attribute.
+     * @return The value of the attribute or null
+     */
+    public Object getTemporaryAttribute(String key) {
+        return this.temporaryAttributes.get(key);
+    }
+
+    /**
+     * Set the value of the attribute.
+     * @param key The attribute name.
+     * @param value The new value.
+     */
+    public void setTemporaryAttribute(String key, Object value) {
+        if ( this.temporaryAttributes.size() == 0 ) {
+            this.temporaryAttributes = new HashMap();
+        }
+        this.temporaryAttributes.put(key, value);
+    }
+
+    /**
+     * Remove a temporary attribute.
+     * @param key The attribute name.
+     * @return If there was a value associated with the attribute, the old value is returned.
+     */
+    public Object removeTemporaryAttribute(String key) {
+        return this.temporaryAttributes.remove(key);
+    }
+
+    /**
+     * Return a map with all temporary attributes.
+     * @return A map.
+     */
+    public Map getTemporaryAttributes() {
+        return this.temporaryAttributes;
+    }
+}

Propchange: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutInstance.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LayoutInstance.java
------------------------------------------------------------------------------
    svn:keywords = Id

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java (from r431389, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/LinkLayout.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/LinkLayout.java&r1=431389&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/impl/LinkLayout.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java Tue Aug 15 07:45:27 2006
@@ -13,9 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout.impl;
+package org.apache.cocoon.portal.om;
 
-import org.apache.cocoon.portal.layout.Layout;
 import org.apache.cocoon.portal.layout.LayoutFactory;
 
 /**

Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/NamedItem.java (from r431026, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/NamedItem.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/NamedItem.java?p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/NamedItem.java&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/NamedItem.java&r1=431026&r2=431606&rev=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/NamedItem.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/NamedItem.java Tue Aug 15 07:45:27 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.portal.layout;
+package org.apache.cocoon.portal.om;
 
 /**
  *

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java Tue Aug 15 07:45:27 2006
@@ -19,8 +19,8 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.exolab.castor.mapping.AbstractFieldHandler;
 import org.exolab.castor.mapping.MapItem;
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java Tue Aug 15 07:45:27 2006
@@ -19,7 +19,7 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.cocoon.portal.coplet.CopletType;
+import org.apache.cocoon.portal.om.CopletType;
 import org.exolab.castor.mapping.AbstractFieldHandler;
 import org.exolab.castor.mapping.MapItem;
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ParametersFieldHandler.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ParametersFieldHandler.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ParametersFieldHandler.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ParametersFieldHandler.java Tue Aug 15 07:45:27 2006
@@ -19,9 +19,9 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.cocoon.portal.layout.AbstractParameters;
-import org.apache.cocoon.portal.layout.Item;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.AbstractParameters;
+import org.apache.cocoon.portal.om.Item;
+import org.apache.cocoon.portal.om.Layout;
 import org.exolab.castor.mapping.AbstractFieldHandler;
 import org.exolab.castor.mapping.MapItem;
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ReferenceFieldHandler.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ReferenceFieldHandler.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ReferenceFieldHandler.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ReferenceFieldHandler.java Tue Aug 15 07:45:27 2006
@@ -17,9 +17,9 @@
 
 import java.util.Map;
 
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
-import org.apache.cocoon.portal.coplet.CopletType;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.CopletType;
 import org.exolab.castor.mapping.AbstractFieldHandler;
 
 /**

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/ProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/ProfileManager.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/ProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/ProfileManager.java Tue Aug 15 07:45:27 2006
@@ -18,10 +18,11 @@
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
-import org.apache.cocoon.portal.coplet.CopletType;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.CopletType;
+import org.apache.cocoon.portal.om.Layout;
+import org.apache.cocoon.portal.om.LayoutInstance;
 
 /**
  * The profile manager provides access to the portal profile (or parts
@@ -51,6 +52,13 @@
      * @return The coplet instance or null.
      */
     CopletInstance getCopletInstance(String copletID);
+
+    /**
+     * Get the layout instance for the given layout object.
+     * @param layout The layout.
+     * @return The layout instance or null.
+     */
+    LayoutInstance getLayoutInstance(Layout layout);
 
     /**
      * Get all coplet instances of the given coplet for the current user.

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java Tue Aug 15 07:45:27 2006
@@ -26,18 +26,18 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.ServiceSelector;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
 import org.apache.cocoon.portal.event.Receiver;
 import org.apache.cocoon.portal.event.user.UserDidLoginEvent;
 import org.apache.cocoon.portal.event.user.UserEvent;
 import org.apache.cocoon.portal.event.user.UserWillLogoutEvent;
 import org.apache.cocoon.portal.impl.AbstractComponent;
-import org.apache.cocoon.portal.layout.CompositeLayout;
-import org.apache.cocoon.portal.layout.Item;
-import org.apache.cocoon.portal.layout.Layout;
 import org.apache.cocoon.portal.layout.LayoutException;
-import org.apache.cocoon.portal.layout.impl.CopletLayout;
+import org.apache.cocoon.portal.om.CompositeLayout;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.CopletLayout;
+import org.apache.cocoon.portal.om.Item;
+import org.apache.cocoon.portal.om.Layout;
 import org.apache.cocoon.portal.profile.PortalUser;
 import org.apache.cocoon.portal.profile.ProfileManager;
 import org.apache.cocoon.portal.profile.ProfileManagerAspect;
@@ -109,7 +109,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.profile.ProfileManager#register(org.apache.cocoon.portal.layout.Layout)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#register(org.apache.cocoon.portal.om.Layout)
      */
     public void register(Layout layout) {
         // overwrite in subclass
@@ -138,7 +138,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.profile.ProfileManager#unregister(org.apache.cocoon.portal.layout.Layout)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#unregister(org.apache.cocoon.portal.om.Layout)
      */
     public void unregister(Layout layout) {
         // overwrite in subclass

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java Tue Aug 15 07:45:27 2006
@@ -31,17 +31,19 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
-import org.apache.cocoon.portal.coplet.CopletType;
 import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
 import org.apache.cocoon.portal.event.Receiver;
 import org.apache.cocoon.portal.event.coplet.CopletDefinitionAddedEvent;
 import org.apache.cocoon.portal.event.coplet.CopletInstanceAddedEvent;
 import org.apache.cocoon.portal.event.coplet.CopletInstanceRemovedEvent;
 import org.apache.cocoon.portal.event.layout.LayoutAddedEvent;
+import org.apache.cocoon.portal.event.layout.LayoutInstanceAddedEvent;
 import org.apache.cocoon.portal.event.layout.LayoutRemovedEvent;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.CopletType;
+import org.apache.cocoon.portal.om.Layout;
+import org.apache.cocoon.portal.om.LayoutInstance;
 import org.apache.cocoon.portal.profile.PortalUser;
 import org.apache.cocoon.portal.profile.ProfileException;
 import org.apache.cocoon.portal.profile.ProfileLS;
@@ -205,7 +207,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstances(org.apache.cocoon.portal.coplet.CopletDefinition)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstances(org.apache.cocoon.portal.om.CopletDefinition)
      */
     public List getCopletInstances(CopletDefinition data) {
         final Profile profile = this.getUserProfile(null);
@@ -262,6 +264,15 @@
     }
 
     /**
+     * Receives a layout added event.
+     * @see Receiver
+     */
+    public void inform(LayoutInstanceAddedEvent event, PortalService service) {
+        final ProfileImpl profile = this.getUserProfile(null);
+        profile.add(event.getTarget());
+    }
+
+    /**
      * Receives a layout removed event.
      * @see Receiver
      */
@@ -645,5 +656,17 @@
             }            
         }
         return this.copletBaseDatas.objects.values();
+    }
+
+    /**
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getLayoutInstance(org.apache.cocoon.portal.om.Layout)
+     */
+    public LayoutInstance getLayoutInstance(Layout layout) {
+        LayoutInstance result = null;
+        final Profile profile = this.getUserProfile(null);
+        if ( profile != null ) {
+            result = profile.searchLayoutInstance(layout);
+        }
+        return result;
     }
 }

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/PageLabelProfileManagerAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/PageLabelProfileManagerAspect.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/PageLabelProfileManagerAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/PageLabelProfileManagerAspect.java Tue Aug 15 07:45:27 2006
@@ -16,10 +16,10 @@
 package org.apache.cocoon.portal.profile.impl;
 
 import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.portal.layout.CompositeLayout;
-import org.apache.cocoon.portal.layout.Item;
-import org.apache.cocoon.portal.layout.Layout;
-import org.apache.cocoon.portal.layout.NamedItem;
+import org.apache.cocoon.portal.om.CompositeLayout;
+import org.apache.cocoon.portal.om.Item;
+import org.apache.cocoon.portal.om.Layout;
+import org.apache.cocoon.portal.om.NamedItem;
 import org.apache.cocoon.portal.profile.ProfileManagerAspect;
 import org.apache.cocoon.portal.profile.ProfileManagerAspectContext;
 import org.apache.cocoon.portal.scratchpad.Profile;
@@ -50,7 +50,8 @@
             }
             label.append((tab instanceof NamedItem) ? ((NamedItem) tab).getName()
                                                     : Integer.toString(j));
-            layout.setTemporaryAttribute("pageLabel", label.toString());
+            // TODO
+            //layout.setTemporaryAttribute("pageLabel", label.toString());
             final Layout child = tab.getLayout();
             if (child != null && child instanceof CompositeLayout) {
                 this.populate((CompositeLayout) child, label.toString());

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java Tue Aug 15 07:45:27 2006
@@ -24,10 +24,13 @@
 
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
-import org.apache.cocoon.portal.coplet.CopletType;
-import org.apache.cocoon.portal.layout.*;
+import org.apache.cocoon.portal.om.CompositeLayout;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.CopletType;
+import org.apache.cocoon.portal.om.Item;
+import org.apache.cocoon.portal.om.Layout;
+import org.apache.cocoon.portal.om.LayoutInstance;
 import org.apache.cocoon.portal.profile.PortalUser;
 import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.cocoon.portal.profile.ProfileException;
@@ -270,7 +273,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstances(org.apache.cocoon.portal.coplet.CopletDefinition)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstances(org.apache.cocoon.portal.om.CopletDefinition)
      */
     public List getCopletInstances(CopletDefinition data) {
         List coplets = new ArrayList();
@@ -354,6 +357,14 @@
      */
     public Collection getCopletTypes() {
         return ((Map)this.copletBaseDataManagers.get(this.portalService.getPortalName())).values();
+    }
+
+    /**
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getLayoutInstance(org.apache.cocoon.portal.om.Layout)
+     */
+    public LayoutInstance getLayoutInstance(Layout layout) {
+        // TODO Auto-generated method stub
+        return null;
     }
 
 }

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/reading/ProxyReader.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/reading/ProxyReader.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/reading/ProxyReader.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/reading/ProxyReader.java Tue Aug 15 07:45:27 2006
@@ -33,7 +33,7 @@
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.cocoon.portal.LinkService;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.portal.transformation.ProxyTransformer;
 import org.apache.cocoon.reading.ServiceableReader;
 import org.apache.cocoon.util.NetUtils;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/Profile.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/Profile.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/Profile.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/Profile.java Tue Aug 15 07:45:27 2006
@@ -17,9 +17,10 @@
 
 import java.util.Collection;
 
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.Layout;
+import org.apache.cocoon.portal.om.LayoutInstance;
 
 /**
  * The profile for a single user.
@@ -36,6 +37,7 @@
     Collection getLayoutObjects();
 
     Layout searchLayout(String layoutId);
+    LayoutInstance searchLayoutInstance(Layout layout);
     Layout getRootLayout();
 
     CopletInstance searchCopletInstance(String copletId);

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/ProfileImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/ProfileImpl.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/ProfileImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/scratchpad/ProfileImpl.java Tue Aug 15 07:45:27 2006
@@ -22,12 +22,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
-import org.apache.cocoon.portal.coplet.CopletType;
-import org.apache.cocoon.portal.layout.CompositeLayout;
-import org.apache.cocoon.portal.layout.Item;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.CompositeLayout;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.CopletType;
+import org.apache.cocoon.portal.om.Item;
+import org.apache.cocoon.portal.om.Layout;
+import org.apache.cocoon.portal.om.LayoutInstance;
 
 /**
  * The profile for a single user.
@@ -53,6 +54,9 @@
     /** A list of all layouts. */
     protected List layouts;
 
+    /** A list of all layout instances. */
+    protected Map layoutInstances;
+
     /** A map of all layouts having an id. */
     protected Map keyedLayouts;
 
@@ -145,7 +149,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.scratchpad.Profile#searchCopletDefinitionObjects(org.apache.cocoon.portal.coplet.CopletType)
+     * @see org.apache.cocoon.portal.scratchpad.Profile#searchCopletDefinitionObjects(org.apache.cocoon.portal.om.CopletType)
      */
     public Collection searchCopletDefinitions(CopletType copletType) {
         final List list = new ArrayList();
@@ -178,7 +182,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.scratchpad.Profile#searchCopletInstances(org.apache.cocoon.portal.coplet.CopletDefinition)
+     * @see org.apache.cocoon.portal.scratchpad.Profile#searchCopletInstances(org.apache.cocoon.portal.om.CopletDefinition)
      */
     public Collection searchCopletInstances(CopletDefinition copletDefinition) {
         final List list = new ArrayList();
@@ -214,6 +218,7 @@
         this.layouts = new ArrayList();
         this.keyedLayouts = new HashMap();
         this.traverseLayouts(this.rootLayout);
+        this.layoutInstances = new HashMap();
     }
 
     protected void traverseLayouts(Layout layout) {
@@ -254,12 +259,29 @@
         }
     }
 
+    public void add(LayoutInstance instance) {
+        if ( instance != null) {
+            this.layoutInstances.put(instance.getLayout(), instance);
+        }
+    }
+
+    /**
+     * @see org.apache.cocoon.portal.scratchpad.Profile#searchLayoutInstance(org.apache.cocoon.portal.om.Layout)
+     */
+    public LayoutInstance searchLayoutInstance(Layout layout) {
+        if ( layout != null ) {
+            return (LayoutInstance) this.layoutInstances.get(layout);
+        }
+        return null;
+    }
+
     public void remove(Layout layout) {
         if ( layout != null ) {
             if ( layout.getId() != null ) {
                 this.keyedLayouts.remove(layout.getId());
             }
             this.layouts.remove(layout);
+            this.layoutInstances.remove(layout);
         }
     }
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSource.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSource.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSource.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSource.java Tue Aug 15 07:45:27 2006
@@ -25,8 +25,8 @@
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.cocoon.CascadingIOException;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.serialization.Serializer;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceNotFoundException;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSourceFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSourceFactory.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSourceFactory.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/CopletSourceFactory.java Tue Aug 15 07:45:27 2006
@@ -20,8 +20,8 @@
 import java.util.Map;
 
 import org.apache.avalon.framework.service.ServiceException;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.impl.AbstractComponent;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceException;
 import org.apache.excalibur.source.SourceFactory;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSource.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSource.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSource.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSource.java Tue Aug 15 07:45:27 2006
@@ -27,8 +27,9 @@
 import org.apache.cocoon.CascadingIOException;
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.layout.LayoutException;
 import org.apache.cocoon.portal.layout.renderer.Renderer;
+import org.apache.cocoon.portal.om.Layout;
 import org.apache.cocoon.serialization.Serializer;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceNotFoundException;
@@ -145,7 +146,11 @@
         Renderer portalLayoutRenderer = this.portalService.getRenderer( this.portalService.getLayoutFactory().getRendererName(this.layout));
 
         handler.startDocument();
-        portalLayoutRenderer.toSAX(this.layout, this.portalService, handler);
+        try {
+            portalLayoutRenderer.toSAX(this.layout, this.portalService, handler);
+        } catch (LayoutException e) {
+            throw new SAXException(e);
+        }
         handler.endDocument();
 	}
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSourceFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSourceFactory.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSourceFactory.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/source/LayoutSourceFactory.java Tue Aug 15 07:45:27 2006
@@ -20,7 +20,7 @@
 import java.util.Map;
 
 import org.apache.cocoon.portal.impl.AbstractComponent;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.Layout;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceFactory;
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/AbstractCopletTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/AbstractCopletTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/AbstractCopletTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/AbstractCopletTransformer.java Tue Aug 15 07:45:27 2006
@@ -23,7 +23,7 @@
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.portal.Constants;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.transformation.AbstractSAXTransformer;
 import org.xml.sax.SAXException;
 

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/CopletTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/CopletTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/CopletTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/CopletTransformer.java Tue Aug 15 07:45:27 2006
@@ -25,11 +25,11 @@
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.environment.wrapper.RequestParameters;
 import org.apache.cocoon.portal.LinkService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.event.coplet.CopletJXPathEvent;
 import org.apache.cocoon.portal.event.impl.JXPathEvent;
 import org.apache.cocoon.portal.event.layout.LayoutJXPathEvent;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.Layout;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.cocoon.xml.XMLUtils;
 import org.apache.commons.jxpath.JXPathContext;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/EventLinkTransformer.java Tue Aug 15 07:45:27 2006
@@ -18,8 +18,8 @@
 import java.util.Stack;
 
 import org.apache.cocoon.portal.LinkService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.event.impl.CopletLinkEvent;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.w3c.dom.DocumentFragment;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/HTMLEventLinkTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/HTMLEventLinkTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/HTMLEventLinkTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/HTMLEventLinkTransformer.java Tue Aug 15 07:45:27 2006
@@ -21,7 +21,7 @@
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.environment.SourceResolver;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.excalibur.source.SourceUtil;
 import org.xml.sax.Attributes;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/LinkTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/LinkTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/LinkTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/LinkTransformer.java Tue Aug 15 07:45:27 2006
@@ -26,7 +26,7 @@
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.environment.SourceResolver;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.transformation.AbstractTransformer;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.xml.sax.Attributes;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/NewEventLinkTransformer.java Tue Aug 15 07:45:27 2006
@@ -15,8 +15,8 @@
  */
 package org.apache.cocoon.portal.transformation;
 
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.event.impl.CopletLinkEvent;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.cocoon.xml.XMLUtils;
 import org.xml.sax.Attributes;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/ProxyTransformer.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/ProxyTransformer.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/ProxyTransformer.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/transformation/ProxyTransformer.java Tue Aug 15 07:45:27 2006
@@ -38,8 +38,8 @@
 import org.apache.cocoon.portal.Constants;
 import org.apache.cocoon.portal.LinkService;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletDefinition;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletDefinition;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.portal.util.HtmlDomParser;
 import org.apache.cocoon.portal.util.InputModuleHelper;
 import org.apache.cocoon.transformation.AbstractTransformer;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletdefinition.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletdefinition.xml?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletdefinition.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletdefinition.xml Tue Aug 15 07:45:27 2006
@@ -22,13 +22,13 @@
     <map-to xml="coplets" />
 
     <field name="objects"
-           type="org.apache.cocoon.portal.coplet.CopletDefinition"
+           type="org.apache.cocoon.portal.om.CopletDefinition"
            collection="collection">
       <bind-xml matches="coplet-definition"/>
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.coplet.CopletDefinition" verify-constructable="false">
+  <class name="org.apache.cocoon.portal.om.CopletDefinition" verify-constructable="false">
     <map-to xml="coplet-definition" />
     
     <field name="id" type="java.lang.String" set-method="%1" get-method="getId">

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletinstance.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletinstance.xml?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletinstance.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/copletinstance.xml Tue Aug 15 07:45:27 2006
@@ -22,13 +22,13 @@
     <map-to xml="coplets" />
 
     <field name="objects"
-           type="org.apache.cocoon.portal.coplet.CopletInstance"
+           type="org.apache.cocoon.portal.om.CopletInstance"
            collection="collection">
       <bind-xml matches="coplet-instance"/>
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.coplet.CopletInstance" verify-constructable="false">
+  <class name="org.apache.cocoon.portal.om.CopletInstance" verify-constructable="false">
     <map-to xml="coplet-instance"/>
 
     <field name="id" type="java.lang.String" set-method="%1" get-method="getId">

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/coplettype.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/coplettype.xml?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/coplettype.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/coplettype.xml Tue Aug 15 07:45:27 2006
@@ -22,13 +22,13 @@
     <map-to xml="coplets" />
 
     <field name="objects"
-           type="org.apache.cocoon.portal.coplet.CopletType"
+           type="org.apache.cocoon.portal.om.CopletType"
            collection="collection">
       <bind-xml matches="coplet-type" />
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.coplet.CopletType" verify-constructable="false">
+  <class name="org.apache.cocoon.portal.om.CopletType" verify-constructable="false">
     <map-to xml="coplet-type" />
 
     <field name="id" type="java.lang.String" set-method="%1" get-method="getId">

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml Tue Aug 15 07:45:27 2006
@@ -18,7 +18,7 @@
 <mapping>
   <description>Portalprofile mapping file</description>
 
-  <class name="org.apache.cocoon.portal.layout.AbstractParameters">
+  <class name="org.apache.cocoon.portal.om.AbstractParameters">
     <field name="parameters"
            type="org.exolab.castor.mapping.MapItem"
            collection="map"
@@ -27,8 +27,8 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.Layout"
-         extends="org.apache.cocoon.portal.layout.AbstractParameters"
+  <class name="org.apache.cocoon.portal.om.Layout"
+         extends="org.apache.cocoon.portal.om.AbstractParameters"
          verify-constructable="false">
 
     <field name="rendererName" type="java.lang.String">
@@ -40,8 +40,8 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.impl.LinkLayout"
-         extends="org.apache.cocoon.portal.layout.Layout"
+  <class name="org.apache.cocoon.portal.om.LinkLayout"
+         extends="org.apache.cocoon.portal.om.Layout"
          verify-constructable="false">
     <map-to xml="link-layout"/>
 
@@ -61,8 +61,8 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.impl.CompositeLayoutImpl"
-         extends="org.apache.cocoon.portal.layout.Layout"
+  <class name="org.apache.cocoon.portal.om.CompositeLayout"
+         extends="org.apache.cocoon.portal.om.Layout"
          verify-constructable="false">
     <map-to xml="composite-layout"/>
 
@@ -74,15 +74,15 @@
       <bind-xml name="type" node="attribute"/>
     </field>
 
-    <field name="items" type="org.apache.cocoon.portal.layout.Item"
+    <field name="items" type="org.apache.cocoon.portal.om.Item"
            collection="collection" set-method="addItem" get-method="getItems">
       <bind-xml matches="named-item item"/>
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.impl.CopletLayout"
+  <class name="org.apache.cocoon.portal.om.CopletLayout"
          auto-complete="false"
-         extends="org.apache.cocoon.portal.layout.Layout"
+         extends="org.apache.cocoon.portal.om.Layout"
          verify-constructable="false">
     <map-to xml="coplet-layout"/>
 
@@ -100,8 +100,8 @@
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.impl.FrameLayout"
-         extends="org.apache.cocoon.portal.layout.Layout"
+  <class name="org.apache.cocoon.portal.om.FrameLayout"
+         extends="org.apache.cocoon.portal.om.Layout"
          verify-constructable="false">
     <map-to xml="frame-layout"/>
 
@@ -116,15 +116,15 @@
     <field name="source" type="java.lang.String"/>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.Item"
-         extends="org.apache.cocoon.portal.layout.AbstractParameters">
-    <field name="layout" type="org.apache.cocoon.portal.layout.Layout">
+  <class name="org.apache.cocoon.portal.om.Item"
+         extends="org.apache.cocoon.portal.om.AbstractParameters">
+    <field name="layout" type="org.apache.cocoon.portal.om.Layout">
       <bind-xml matches="frame-layout link-layout composite-layout coplet-layout"/>
     </field>
   </class>
 
-  <class name="org.apache.cocoon.portal.layout.NamedItem"
-         extends="org.apache.cocoon.portal.layout.Item">
+  <class name="org.apache.cocoon.portal.om.NamedItem"
+         extends="org.apache.cocoon.portal.om.Item">
     <map-to xml="named-item"/>
     <field name="name" type="java.lang.String">
       <bind-xml name="name" node="attribute"/>

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/portal.roles Tue Aug 15 07:45:27 2006
@@ -100,14 +100,6 @@
         +-->
     <role name="org.apache.cocoon.portal.layout.renderer.aspect.RendererAspect/coplet-cinclude"
           default-class="org.apache.cocoon.portal.layout.renderer.aspect.impl.CIncludeCopletAspect"/>
-
-    <!--+
-        | This aspect creates a history of all layout aspect datas,
-        | coplet aspect datas and coplet attributes. It can be used by
-        | the bookmark action to browse the history.
-        +-->
-    <role name="org.apache.cocoon.portal.layout.renderer.aspect.RendererAspect/history"
-          default-class="org.apache.cocoon.portal.layout.renderer.aspect.impl.HistoryAspect"/>
     
     <!--+
         | This aspect can be used to render the content of the coplet.

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/status.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/status.xml?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/status.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/status.xml Tue Aug 15 07:45:27 2006
@@ -66,6 +66,10 @@
  <changes>
   <release version="@version@" date="@date@">
     <action dev="CZ" type="add">
+      User specific data for a layout is now stored in a separate LayoutInstance. This allows
+      the sharing of layout tree.
+    </action>
+    <action dev="CZ" type="add">
       CopletLayout only holds the coplet instance id instead of the object itself.
     </action>
     <action dev="CZ" type="add">

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/DynamicInformationProviderImpl.java Tue Aug 15 07:45:27 2006
@@ -23,7 +23,7 @@
 
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.portal.pluto.adapter.PortletAdapter;
 import org.apache.cocoon.portal.pluto.om.PortletEntityImpl;
 import org.apache.pluto.om.window.PortletWindow;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletActionProviderImpl.java Tue Aug 15 07:45:27 2006
@@ -22,9 +22,9 @@
 import javax.portlet.WindowState;
 
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.event.Event;
 import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.portal.pluto.adapter.PortletAdapter;
 import org.apache.cocoon.portal.pluto.om.PortletEntityImpl;
 import org.apache.pluto.om.window.PortletWindow;

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProvider.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProvider.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProvider.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProvider.java Tue Aug 15 07:45:27 2006
@@ -15,7 +15,7 @@
  */
 package org.apache.cocoon.portal.pluto;
 
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.pluto.om.common.PreferenceSet;
 
 /**

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProviderImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProviderImpl.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProviderImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletPreferencesProviderImpl.java Tue Aug 15 07:45:27 2006
@@ -23,8 +23,8 @@
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.impl.AbstractComponent;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.portal.pluto.om.common.PreferenceSetImpl;
 import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.commons.collections.map.LinkedMap;
@@ -104,7 +104,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.pluto.PortletPreferencesProvider#getPreferenceSet(org.apache.cocoon.portal.coplet.CopletInstance)
+     * @see org.apache.cocoon.portal.pluto.PortletPreferencesProvider#getPreferenceSet(org.apache.cocoon.portal.om.CopletInstance)
      */
     public PreferenceSet getPreferenceSet(CopletInstance cid) {
         final Map parameters = new HashMap();
@@ -118,7 +118,7 @@
     }
 
     /**
-     * @see org.apache.cocoon.portal.pluto.PortletPreferencesProvider#storePreferenceSet(org.apache.cocoon.portal.coplet.CopletInstance, org.apache.pluto.om.common.PreferenceSet)
+     * @see org.apache.cocoon.portal.pluto.PortletPreferencesProvider#storePreferenceSet(org.apache.cocoon.portal.om.CopletInstance, org.apache.pluto.om.common.PreferenceSet)
      */
     public void storePreferenceSet(CopletInstance cid, PreferenceSet prefs) {
         final Map parameters = new HashMap();

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLConverter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLConverter.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLConverter.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLConverter.java Tue Aug 15 07:45:27 2006
@@ -25,7 +25,7 @@
 import javax.portlet.WindowState;
 
 import org.apache.pluto.util.StringUtils;
-import org.apache.cocoon.portal.coplet.CopletInstance;
+import org.apache.cocoon.portal.om.CopletInstance;
 
 /**
  * Create the URL for a portlet.

Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java?rev=431606&r1=431605&r2=431606&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-portlet-impl/src/main/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java Tue Aug 15 07:45:27 2006
@@ -28,9 +28,9 @@
 import org.apache.cocoon.portal.LinkService;
 import org.apache.cocoon.portal.PortalRuntimeException;
 import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.coplet.CopletInstance;
 import org.apache.cocoon.portal.event.CopletInstanceEvent;
 import org.apache.cocoon.portal.event.ConvertableEvent;
+import org.apache.cocoon.portal.om.CopletInstance;
 import org.apache.cocoon.portal.pluto.adapter.PortletAdapter;
 import org.apache.cocoon.portal.pluto.om.PortletEntityImpl;
 import org.apache.cocoon.portal.pluto.om.PortletWindowImpl;



Mime
View raw message