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>