You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/10/28 15:45:36 UTC

svn commit: r329202 - in /cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal: coplet/ persistence/castor/

Author: cziegeler
Date: Fri Oct 28 06:45:28 2005
New Revision: 329202

URL: http://svn.apache.org/viewcvs?rev=329202&view=rev
Log:
More simplifying of Castor

Removed:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AbstractFieldHandler.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AttributedMapItem.java
Modified:
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml
    cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java?rev=329202&r1=329201&r2=329202&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java Fri Oct 28 06:45:28 2005
@@ -124,7 +124,7 @@
     public Map getAttributes() {
         return this.attributes;
     }
-
+/*
     public final Collection getCastorAttributes() {
         Set set = new HashSet(this.attributes.size());
         Iterator iterator = this.attributes.entrySet().iterator();
@@ -142,7 +142,7 @@
     public void addAttribute(AttributedMapItem item) {
         this.attributes.put(item.getKey(), item.getValue());
     }
-
+*/
     public Object getTemporaryAttribute(String key) {
         return this.temporaryAttributes.get(key);
     }

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java?rev=329202&r1=329201&r2=329202&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/AttributesFieldHandler.java Fri Oct 28 06:45:28 2005
@@ -21,13 +21,11 @@
 
 import org.apache.cocoon.portal.coplet.CopletData;
 import org.apache.cocoon.portal.coplet.CopletInstanceData;
+import org.exolab.castor.mapping.AbstractFieldHandler;
 import org.exolab.castor.mapping.MapItem;
 
 /**
- * Field handler for attributes of a CopletData object.
- *
- * FIXME This is a little bit hacky and should be changed by using
- * reflection
+ * Field handler for attributes of a CopletData and a CopletInstanceData object.
  *
  * @version $Id$
  */
@@ -40,6 +38,9 @@
         return ((CopletInstanceData) object).getAttributes();
     }
 
+    /**
+     * @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();
@@ -53,14 +54,33 @@
         return map;
     }
 
+    /**
+     * @see org.exolab.castor.mapping.FieldHandler#newInstance(java.lang.Object)
+     */
     public Object newInstance(Object parent) {
         return new MapItem();
     }
 
+    /**
+     * @see org.exolab.castor.mapping.ExtendedFieldHandler#newInstance(java.lang.Object, java.lang.Object[])
+     */
+    public Object newInstance(Object arg0, Object[] arg1) {
+        if ( arg1 == null ) {
+            return this.newInstance(arg0);
+        }
+        throw new IllegalStateException("Constructor is not supported.");
+    }
+
+    /**
+     * @see org.exolab.castor.mapping.FieldHandler#resetValue(java.lang.Object)
+     */
     public void resetValue(Object object) {
         this.getAttributes(object).clear();
     }
 
+    /**
+     * @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());

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java?rev=329202&r1=329201&r2=329202&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/ConfigurationFieldHandler.java Fri Oct 28 06:45:28 2005
@@ -20,15 +20,19 @@
 import java.util.Map;
 
 import org.apache.cocoon.portal.coplet.CopletBaseData;
+import org.exolab.castor.mapping.AbstractFieldHandler;
 import org.exolab.castor.mapping.MapItem;
 
 /**
- * Field handler for attributes of a CopletBaseData object.
+ * Field handler for the configuration of a CopletBaseData object.
  *
  * @version $Id$
  */
 public class ConfigurationFieldHandler extends AbstractFieldHandler {
 
+    /**
+     * @see org.exolab.castor.mapping.FieldHandler#getValue(java.lang.Object)
+     */
     public Object getValue(Object object) {
         HashMap map = new HashMap();
         Iterator iterator =
@@ -43,14 +47,33 @@
         return map;
     }
 
+    /**
+     * @see org.exolab.castor.mapping.FieldHandler#newInstance(java.lang.Object)
+     */
     public Object newInstance(Object parent) {
         return new MapItem();
     }
 
+    /**
+     * @see org.exolab.castor.mapping.ExtendedFieldHandler#newInstance(java.lang.Object, java.lang.Object[])
+     */
+    public Object newInstance(Object arg0, Object[] arg1) {
+        if ( arg1 == null ) {
+            return this.newInstance(arg0);
+        }
+        throw new IllegalStateException("Constructor is not supported.");
+    }
+
+    /**
+     * @see org.exolab.castor.mapping.FieldHandler#resetValue(java.lang.Object)
+     */
     public void resetValue(Object object) {
         ((CopletBaseData) object).getCopletConfig().clear();
     }
 
+    /**
+     * @see org.exolab.castor.mapping.FieldHandler#setValue(java.lang.Object, java.lang.Object)
+     */
     public void setValue(Object object, Object value) {
         MapItem item = (MapItem) value;
         ((CopletBaseData) object).setCopletConfig(

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml?rev=329202&r1=329201&r2=329202&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletbasedata.xml Fri Oct 28 06:45:28 2005
@@ -39,7 +39,9 @@
       <bind-xml name="coplet-adapter" />
     </field>
 
-    <field name="copletConfig" type="org.exolab.castor.mapping.MapItem" collection="map" handler="org.apache.cocoon.portal.persistence.castor.ConfigurationFieldHandler">
+    <field name="copletConfig" type="org.exolab.castor.mapping.MapItem"
+           collection="map"
+           handler="org.apache.cocoon.portal.persistence.castor.ConfigurationFieldHandler">
       <bind-xml name="configuration"/>
     </field>
   </class>

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml?rev=329202&r1=329201&r2=329202&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletdata.xml Fri Oct 28 06:45:28 2005
@@ -49,7 +49,10 @@
       <bind-xml name="roles"/>
     </field>
 
-    <field name="attributes" type="org.exolab.castor.mapping.MapItem" collection="map" handler="org.apache.cocoon.portal.persistence.castor.AttributesFieldHandler">
+    <field name="attributes"
+           type="org.exolab.castor.mapping.MapItem"
+           collection="map"
+           handler="org.apache.cocoon.portal.persistence.castor.AttributesFieldHandler">
       <bind-xml name="attribute"/>
     </field>
 

Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml?rev=329202&r1=329201&r2=329202&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/persistence/castor/copletinstancedata.xml Fri Oct 28 06:45:28 2005
@@ -63,9 +63,11 @@
       <bind-xml name="coplet-data" reference="true"/>
     </field>
 
-    <field name="attributes" type="org.apache.cocoon.portal.persistence.castor.AttributedMapItem" collection="collection"
-           get-method="getCastorAttributes" set-method="addAttribute">
-      <bind-xml name="attribute" node="element"/>
+    <field name="attributes"
+           type="org.exolab.castor.mapping.MapItem"
+           collection="map"
+           handler="org.apache.cocoon.portal.persistence.castor.AttributesFieldHandler">
+      <bind-xml name="attribute"/>
     </field>
 
     <field name="castorPreferences" type="org.apache.cocoon.portal.pluto.om.common.PreferenceSetImpl">
@@ -82,17 +84,6 @@
   </class>
 
   <class name="org.exolab.castor.mapping.MapItem">
-    <field name="key" type="java.lang.String">
-      <bind-xml name="name"/>
-    </field>
-    <field name="value">
-      <bind-xml name="value"/>
-    </field>
-  </class>
-
-  <!-- If you prefer to specify the name and value as attributes of the attribute element
-       just add node="attribute" to the bind-xml elements -->
-  <class name="org.apache.cocoon.portal.persistence.castor.AttributedMapItem">
     <field name="key" type="java.lang.String">
       <bind-xml name="name"/>
     </field>