Author: gvanmatre
Date: Fri Jun 16 16:15:06 2006
New Revision: 414953

URL: http://svn.apache.org/viewvc?rev=414953&view=rev
Log:
Fix for issues SHALE-187 and SHALE-179

Removed:
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/TestActionListener.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/TestValueChangeListener.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address-config.xml
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address-fullxml.xml
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address.xml
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address1.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address2.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address3.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address4.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/address5.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/comment.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/duplicate1.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/duplicate2.html
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/layout.html
Modified:
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AbstractBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ActionListenerBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AttributeBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ElementBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/InnerComponentBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValidatorBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java
    
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/DesigntimeTestCase.java

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AbstractBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AbstractBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AbstractBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AbstractBean.java
 Fri Jun 16 16:15:06 2006
@@ -19,13 +19,15 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 /**
  * <p>Abstract class that provides a <code>description</code> property 
  * that is populated from the clay configuration file 
  * when design time tool support is enabled.</p> 
  *
  */
-public abstract class AbstractBean {
+public abstract class AbstractBean implements Serializable {
     /**
      * <p>Metadata description provided in the clay configuration.</p>
      */

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ActionListenerBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ActionListenerBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ActionListenerBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ActionListenerBean.java
 Fri Jun 16 16:15:06 2006
@@ -18,11 +18,13 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 /**
  * This meta component will be used to construct a JSF 
<code>ActionListener</code>.  It is
  * a subclass of [EMAIL PROTECTED] ComponentBean} where this class acts like 
an enumerated type.
  */
-public class ActionListenerBean extends InnerComponentBean {
+public class ActionListenerBean extends InnerComponentBean implements 
Serializable {
 
     private static final long serialVersionUID = 3256723996136716338L;
     

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AttributeBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AttributeBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AttributeBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/AttributeBean.java
 Fri Jun 16 16:15:06 2006
@@ -18,13 +18,15 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 
 /**
  * <p>Represents a value for a component property or a tag attribute.
  * Instances of this class will be placed in the [EMAIL PROTECTED] 
ComponentBean}
  * <code>attributes</code> collection.</p>
  */
-public class AttributeBean extends SymbolBean {
+public class AttributeBean extends SymbolBean implements Serializable {
 
        private static final long serialVersionUID = 3102689599088266442L;
 

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ElementBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ElementBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ElementBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ElementBean.java
 Fri Jun 16 16:15:06 2006
@@ -18,12 +18,14 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 /**
  * <p>This bean represents the composition of a complex component.  The 
renderId
  * uniquely sequences it within a top-level [EMAIL PROTECTED] 
ComponentBean}.</p>
  */
 
-public class ElementBean extends InnerComponentBean implements Comparable {
+public class ElementBean extends InnerComponentBean implements Comparable, 
Serializable {
     
     private static final long serialVersionUID = 3690760596346123828L;
     

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/InnerComponentBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/InnerComponentBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/InnerComponentBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/InnerComponentBean.java
 Fri Jun 16 16:15:06 2006
@@ -18,11 +18,13 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 /**
  * <p>This class should be a base to all components that are contained
  * within a owing [EMAIL PROTECTED] ComponentBean}.  
  */
-public class InnerComponentBean extends ComponentBean {
+public class InnerComponentBean extends ComponentBean implements Serializable {
     
     private static final long serialVersionUID = 3257283630291301426L;
 

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValidatorBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValidatorBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValidatorBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValidatorBean.java
 Fri Jun 16 16:15:06 2006
@@ -18,11 +18,13 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 /**
  * This meta component will be used to construct a JSF <code>Validator</code>. 
 It is
  * a subclass of [EMAIL PROTECTED] ComponentBean} where this class acts like 
an enumerated type.
  */
-public class ValidatorBean extends InnerComponentBean {
+public class ValidatorBean extends InnerComponentBean implements Serializable {
 
     private static final long serialVersionUID = 4050763771565782322L;
 

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/main/java/org/apache/shale/clay/config/beans/ValueChangeListenerBean.java
 Fri Jun 16 16:15:06 2006
@@ -18,11 +18,13 @@
 
 package org.apache.shale.clay.config.beans;
 
+import java.io.Serializable;
+
 /**
  * This meta component will be used to construct a JSF 
<code>ValueChangeListener</code>.  It is
  * a subclass of [EMAIL PROTECTED] ComponentBean} where this class acts like 
an enumerated type.
  */
-public class ValueChangeListenerBean extends InnerComponentBean {
+public class ValueChangeListenerBean extends InnerComponentBean implements 
Serializable{
 
     private static final long serialVersionUID = 3256718472791536436L;
    

Modified: 
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/DesigntimeTestCase.java
URL: 
http://svn.apache.org/viewvc/struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/DesigntimeTestCase.java?rev=414953&r1=414952&r2=414953&view=diff
==============================================================================
--- 
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/DesigntimeTestCase.java
 (original)
+++ 
struts/shale/branches/mvn_reorg/shale-clay/src/test/java/org/apache/shale/clay/config/DesigntimeTestCase.java
 Fri Jun 16 16:15:06 2006
@@ -15,6 +15,11 @@
  */
 package org.apache.shale.clay.config;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -128,4 +133,34 @@
 
     }     
         
+    
+    public void testSerializable() throws Exception {
+        // test the object serialization of the metadata beans
+        
+        ((ComponentConfigBean) standardConfigBean).setDesigntime(true);       
+        loadConfigFiles(null, null);
+
+        ComponentBean live = standardConfigBean.getElement("h:outputText");
+        assertNotNull(live);
+       
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        ObjectOutputStream out = new ObjectOutputStream(os);
+        out.writeObject(live);
+        out.close();
+        
+       
+        ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
+        ObjectInputStream in = new ObjectInputStream(is);
+        
+        ComponentBean memorex = (ComponentBean) in.readObject();
+        in.close();
+        
+        assertNotNull(memorex);
+        
+        assertEquals(live.getDescription(), memorex.getDescription());
+        assertEquals(live.getJsfid(), memorex.getJsfid());
+        assertEquals(live.getAttribute("styleClass").getValue(), 
memorex.getAttribute("styleClass").getValue());
+        assertEquals(live.getSymbol("class").getValue(), 
memorex.getSymbol("class").getValue());
+        
+    }
 }


Reply via email to