You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/09/28 21:37:36 UTC
svn commit: r450981 - in /cocoon/trunk/blocks/cocoon-portal:
cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/
cocoon-portal-sample/src/main/resources/COB-INF/coplets/basket/
cocoon-portal-sample/src/main/resources/COB-INF/p...
Author: cziegeler
Date: Thu Sep 28 12:37:35 2006
New Revision: 450981
URL: http://svn.apache.org/viewvc?view=rev&rev=450981
Log:
Fix bug in persistence handling of attributes
Fix basket sample
Modified:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/persistence/castor/ParametersFieldHandler.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/coplets/basket/sitemap.xmap
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/profiles/layout/portal.xml
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?view=diff&rev=450981&r1=450980&r2=450981
==============================================================================
--- 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 Thu Sep 28 12:37:35 2006
@@ -22,6 +22,7 @@
import org.apache.cocoon.portal.om.CopletDefinition;
import org.apache.cocoon.portal.om.CopletInstance;
+import org.apache.cocoon.portal.om.LayoutInstance;
import org.exolab.castor.mapping.AbstractFieldHandler;
import org.exolab.castor.mapping.MapItem;
@@ -32,24 +33,24 @@
*/
public class AttributesFieldHandler extends AbstractFieldHandler {
- protected Map getAttributes(Object object) {
+ protected Iterator getAttributesIterator(Object object) {
if (object instanceof CopletDefinition) {
- return ((CopletDefinition) object).getAttributes();
- }
- return ((CopletInstance) object).getAttributes();
+ return ((CopletDefinition) object).getAttributes().entrySet().iterator();
+ } else if ( object instanceof LayoutInstance ) {
+ return ((LayoutInstance) object).getAttributes().entrySet().iterator();
+ } else {
+ return ((CopletInstance) object).getAttributes().entrySet().iterator();
+ }
}
-
/**
* @see org.exolab.castor.mapping.FieldHandler#getValue(java.lang.Object)
*/
public Object getValue(Object object) {
- HashMap map = new HashMap();
- Iterator iterator = this.getAttributes(object).entrySet().iterator();
- Map.Entry entry;
- Object key;
+ final Map map = new HashMap();
+ final Iterator iterator = this.getAttributesIterator(object);
while (iterator.hasNext()) {
- entry = (Map.Entry) iterator.next();
- key = entry.getKey();
+ final Map.Entry entry = (Map.Entry) iterator.next();
+ final Object key = entry.getKey();
map.put(key, new MapItem(key, entry.getValue()));
}
return map;
@@ -76,14 +77,31 @@
* @see org.exolab.castor.mapping.FieldHandler#resetValue(java.lang.Object)
*/
public void resetValue(Object object) {
- this.getAttributes(object).clear();
+ final Iterator iterator = this.getAttributesIterator(object);
+ while ( iterator.hasNext() ) {
+ final String key = (String)iterator.next();
+ if ( object instanceof CopletDefinition ) {
+ ((CopletDefinition)object).removeAttribute(key);
+ } else if ( object instanceof LayoutInstance ) {
+ ((LayoutInstance)object).removeAttribute(key);
+ } else {
+ ((CopletInstance)object).removeAttribute(key);
+ }
+ }
}
/**
* @see org.exolab.castor.mapping.FieldHandler#setValue(java.lang.Object, java.lang.Object)
*/
public void setValue(Object object, Object value) {
- MapItem item = (MapItem) value;
- this.getAttributes(object).put(item.getKey(), item.getValue());
+ final MapItem item = (MapItem) value;
+ final String key = item.getKey().toString();
+ if (object instanceof CopletDefinition) {
+ ((CopletDefinition)object).setAttribute(key, item.getValue());
+ } else if ( object instanceof LayoutInstance ) {
+ ((LayoutInstance)object).setAttribute(key, item.getValue());
+ } else {
+ ((CopletInstance)object).setAttribute(key, item.getValue());
+ }
}
}
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?view=diff&rev=450981&r1=450980&r2=450981
==============================================================================
--- 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 Thu Sep 28 12:37:35 2006
@@ -35,14 +35,12 @@
* @see org.exolab.castor.mapping.FieldHandler#getValue(java.lang.Object)
*/
public Object getValue(Object object) {
- HashMap map = new HashMap();
- Iterator iterator =
+ final HashMap map = new HashMap();
+ final Iterator iterator =
((CopletType) object).getCopletConfig().entrySet().iterator();
- Map.Entry entry;
- Object key;
while (iterator.hasNext()) {
- entry = (Map.Entry) iterator.next();
- key = entry.getKey();
+ final Map.Entry entry = (Map.Entry) iterator.next();
+ final Object key = entry.getKey();
map.put(key, new MapItem(key, entry.getValue()));
}
return map;
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?view=diff&rev=450981&r1=450980&r2=450981
==============================================================================
--- 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 Thu Sep 28 12:37:35 2006
@@ -44,13 +44,11 @@
* @see org.exolab.castor.mapping.FieldHandler#getValue(java.lang.Object)
*/
public Object getValue(Object object) {
- HashMap map = new HashMap();
- Iterator iterator = this.getParameters(object).entrySet().iterator();
- Map.Entry entry;
- Object key;
+ final HashMap map = new HashMap();
+ final Iterator iterator = this.getParameters(object).entrySet().iterator();
while (iterator.hasNext()) {
- entry = (Map.Entry) iterator.next();
- key = entry.getKey();
+ final Map.Entry entry = (Map.Entry) iterator.next();
+ final Object key = entry.getKey();
map.put(key, new MapItem(key, entry.getValue()));
}
return map;
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/coplets/basket/sitemap.xmap
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/coplets/basket/sitemap.xmap?view=diff&rev=450981&r1=450980&r2=450981
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/coplets/basket/sitemap.xmap (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/coplets/basket/sitemap.xmap Thu Sep 28 12:37:35 2006
@@ -98,7 +98,7 @@
<map:match pattern="basket-view">
<map:generate type="basket">
<map:parameter name="show-coplet" value="BasketContent"/>
- <map:parameter name="show-layout" value="basket-content"/>
+ <map:parameter name="show-layout" value="basket_content"/>
<map:parameter name="admin-mode" value="false"/>
<map:parameter name="type" value="{coplet:attributes/type}"/>
<map:parameter name="type-location" value="group"/>
@@ -115,7 +115,7 @@
<map:match pattern="basket.admin">
<map:generate type="basket">
<map:parameter name="show-coplet" value="BasketContent"/>
- <map:parameter name="show-layout" value="basket-content-admin"/>
+ <map:parameter name="show-layout" value="basket_content_admin"/>
<map:parameter name="admin-mode" value="false"/>
</map:generate>
<map:transform type="xslt" src="basket.admin.xsl"/>
@@ -125,7 +125,7 @@
<map:match pattern="basket-admin">
<map:generate type="basket">
<map:parameter name="show-coplet" value="BasketContent"/>
- <map:parameter name="show-layout" value="basket-content-admin"/>
+ <map:parameter name="show-layout" value="basket_content_admin"/>
<map:parameter name="admin-mode" value="true"/>
</map:generate>
<map:transform src="xsl/basket-pre.xsl"/>
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/profiles/layout/portal.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/profiles/layout/portal.xml?view=diff&rev=450981&r1=450980&r2=450981
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/profiles/layout/portal.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/profiles/layout/portal.xml Thu Sep 28 12:37:35 2006
@@ -294,7 +294,7 @@
<item>
<composite-layout type="column">
<item>
- <coplet-layout type="coplet" id="basket-content">
+ <coplet-layout type="coplet" id="basket_content">
<coplet-instance>basketcontent</coplet-instance>
</coplet-layout>
</item>
@@ -320,7 +320,7 @@
</coplet-layout>
</item>
<item>
- <coplet-layout type="coplet" id="basket-content-admin">
+ <coplet-layout type="coplet" id="basket_content_admin">
<coplet-instance>basket_content</coplet-instance>
</coplet-layout>
</item>