Title: [waffle-scm] [130] trunk/core/src/test/java/org/codehaus/waffle/view: renamed GetterXMLConverter to BeanPropertyConverter

Diff

Copied: trunk/core/src/main/java/org/codehaus/waffle/view/BeanPropertyConverter.java (from rev 129, trunk/core/src/main/java/org/codehaus/waffle/view/GetterXMLConverter.java) (0 => 130)

--- trunk/core/src/main/java/org/codehaus/waffle/view/BeanPropertyConverter.java	                        (rev 0)
+++ trunk/core/src/main/java/org/codehaus/waffle/view/BeanPropertyConverter.java	2007-06-02 04:16:01 UTC (rev 130)
@@ -0,0 +1,63 @@
+package org.codehaus.waffle.view;
+
+import com.thoughtworks.xstream.converters.Converter;
+import com.thoughtworks.xstream.converters.MarshallingContext;
+import com.thoughtworks.xstream.converters.UnmarshallingContext;
+import com.thoughtworks.xstream.io.HierarchicalStreamReader;
+import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+
+import java.beans.BeanInfo;
+import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Used to make XStream use bean getters to serialize, no attributes
+ *
+ * @author Paulo Silveira
+ * @author Michael Ward
+ */
+public class BeanPropertyConverter implements Converter {
+
+    public void marshal(Object object, HierarchicalStreamWriter writer, MarshallingContext context) {
+        try {
+            BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass());
+            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
+
+            for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
+                Method readMethod = propertyDescriptor.getReadMethod();
+
+                // skip getClass() method and any get/is methods that take arguments
+                if (readMethod.getParameterTypes().length == 0 && !readMethod.getName().equals("getClass")) {
+                    writer.startNode(propertyDescriptor.getName());
+                    Object got = readMethod.invoke(object);
+
+                    if (got != null) {
+                        context.convertAnother(got);
+                    }
+
+                    writer.endNode();
+                }
+            }
+        } catch (IllegalArgumentException e) {
+            throw new IllegalStateException(e);
+        } catch (IllegalAccessException e) {
+            throw new IllegalStateException(e);
+        } catch (InvocationTargetException e) {
+            throw new IllegalStateException(e);
+        } catch (IntrospectionException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader,
+                            UnmarshallingContext unmarshallingContext) {
+        throw new UnsupportedOperationException("Converter only available for marshaling");
+    }
+
+    public boolean canConvert(Class clazz) {
+        return true;
+    }
+}

Deleted: trunk/core/src/main/java/org/codehaus/waffle/view/GetterXMLConverter.java (129 => 130)

--- trunk/core/src/main/java/org/codehaus/waffle/view/GetterXMLConverter.java	2007-06-02 04:09:52 UTC (rev 129)
+++ trunk/core/src/main/java/org/codehaus/waffle/view/GetterXMLConverter.java	2007-06-02 04:16:01 UTC (rev 130)
@@ -1,63 +0,0 @@
-package org.codehaus.waffle.view;
-
-import com.thoughtworks.xstream.converters.Converter;
-import com.thoughtworks.xstream.converters.MarshallingContext;
-import com.thoughtworks.xstream.converters.UnmarshallingContext;
-import com.thoughtworks.xstream.io.HierarchicalStreamReader;
-import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
-
-import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * Used to make XStream use bean getters to serialize, no attributes
- *
- * @author Paulo Silveira
- * @author Michael Ward
- */
-public class GetterXMLConverter implements Converter {
-
-    public void marshal(Object object, HierarchicalStreamWriter writer, MarshallingContext context) {
-        try {
-            BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass());
-            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
-
-            for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
-                Method readMethod = propertyDescriptor.getReadMethod();
-
-                // skip getClass() method and any get/is methods that take arguments
-                if (readMethod.getParameterTypes().length == 0 && !readMethod.getName().equals("getClass")) {
-                    writer.startNode(propertyDescriptor.getName());
-                    Object got = readMethod.invoke(object);
-
-                    if (got != null) {
-                        context.convertAnother(got);
-                    }
-
-                    writer.endNode();
-                }
-            }
-        } catch (IllegalArgumentException e) {
-            throw new IllegalStateException(e);
-        } catch (IllegalAccessException e) {
-            throw new IllegalStateException(e);
-        } catch (InvocationTargetException e) {
-            throw new IllegalStateException(e);
-        } catch (IntrospectionException e) {
-            throw new IllegalStateException(e);
-        }
-    }
-
-    public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader,
-                            UnmarshallingContext unmarshallingContext) {
-        throw new UnsupportedOperationException("Converter only available for marshaling");
-    }
-
-    public boolean canConvert(Class clazz) {
-        return true;
-    }
-}

Modified: trunk/core/src/main/java/org/codehaus/waffle/view/XMLView.java (129 => 130)

--- trunk/core/src/main/java/org/codehaus/waffle/view/XMLView.java	2007-06-02 04:09:52 UTC (rev 129)
+++ trunk/core/src/main/java/org/codehaus/waffle/view/XMLView.java	2007-06-02 04:16:01 UTC (rev 130)
@@ -1,71 +1,70 @@
-package org.codehaus.waffle.view;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.converters.collections.CollectionConverter;
-import com.thoughtworks.xstream.io.xml.DomDriver;
-import com.thoughtworks.xstream.mapper.MapperWrapper;
-import org.codehaus.waffle.Constants;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Collection;
-
-/**
- * A view that renders the controller as XML.
- * 
- * @author Paulo Silveira
- */
-public class XMLView extends ResponderView {
-
-    public static final String CONTENT_TYPE = "text/plain";
-
-    @Override
-    public void respond(ServletRequest request, HttpServletResponse response)
-            throws IOException {
-        XStream xs = new WaffleXStream();
-        xs.registerConverter(new GetterXMLConverter(), -19);
-        xs.registerConverter(new CollectionConverter(xs.getMapper()) {
-            public boolean canConvert(Class clazz) {
-                return Collection.class.isAssignableFrom(clazz);
-            }
-        }, -18);
-
-        // TODO: should we stream.setMode(XStream.NO_REFERENCES); ?
-
-        String data = ""
-        response.setContentType(CONTENT_TYPE);
-
-        // TODO: char encoding?
-        response.getOutputStream().print(data);
-    }
-
-}
-
-// todo: public class? isolated unit test
-/**
- * A XStream class already configured to output user friendly XML based on
- * getters.
- * 
- */
-class WaffleXStream extends XStream {
-
-    public WaffleXStream() {
-        super(new DomDriver());
-    }
-
-    @Override
-    protected MapperWrapper wrapMapper(MapperWrapper next) {
-        return new MapperWrapper(next) {
-            @Override
-            public String serializedClass(Class type) {
-                String value = super.serializedClass(type);
-                if (type.getName().replace('$', '-').equals(value)) {
-                    return type.getSimpleName();
-                }
-                return value;
-            }
-        };
-    }
-
+package org.codehaus.waffle.view;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.converters.collections.CollectionConverter;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+import com.thoughtworks.xstream.mapper.MapperWrapper;
+import org.codehaus.waffle.Constants;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Collection;
+
+/**
+ * A view that renders the controller as XML.
+ * 
+ * @author Paulo Silveira
+ */
+public class XMLView extends ResponderView {
+    public static final String CONTENT_TYPE = "text/plain";
+
+    @Override
+    public void respond(ServletRequest request, HttpServletResponse response) throws IOException {
+        XStream xStream = new WaffleXStream();
+        xStream.registerConverter(new BeanPropertyConverter(), -19);
+        xStream.registerConverter(new CollectionConverter(xStream.getMapper()) {
+            @Override
+            public boolean canConvert(Class clazz) {
+                return Collection.class.isAssignableFrom(clazz);
+            }
+        }, -18);
+
+        // TODO: should we stream.setMode(XStream.NO_REFERENCES); ?
+
+        String data = ""
+        response.setContentType(CONTENT_TYPE); // should be set for xml content
+
+        // TODO: char encoding?
+        response.getOutputStream().print(data);
+    }
+
+}
+
+// todo: public class? isolated unit test
+/**
+ * A XStream class already configured to output user friendly XML based on
+ * getters.
+ * 
+ */
+class WaffleXStream extends XStream {
+
+    public WaffleXStream() {
+        super(new DomDriver());
+    }
+
+    @Override
+    protected MapperWrapper wrapMapper(MapperWrapper next) {
+        return new MapperWrapper(next) {
+            @Override
+            public String serializedClass(Class type) {
+                String value = super.serializedClass(type);
+                if (type.getName().replace('$', '-').equals(value)) {
+                    return type.getSimpleName();
+                }
+                return value;
+            }
+        };
+    }
+
 }
\ No newline at end of file

Copied: trunk/core/src/test/java/org/codehaus/waffle/view/BeanPropertyConverterTest.java (from rev 129, trunk/core/src/test/java/org/codehaus/waffle/view/GetterXMLConverterTest.java) (0 => 130)

--- trunk/core/src/test/java/org/codehaus/waffle/view/BeanPropertyConverterTest.java	                        (rev 0)
+++ trunk/core/src/test/java/org/codehaus/waffle/view/BeanPropertyConverterTest.java	2007-06-02 04:16:01 UTC (rev 130)
@@ -0,0 +1,45 @@
+package org.codehaus.waffle.view;
+
+import com.thoughtworks.xstream.XStream;
+import org.codehaus.waffle.testmodel.FakeBean;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class BeanPropertyConverterTest {
+
+    @Test
+    public void unmarshalShouldThrowUnsupportedOperationException() {
+        BeanPropertyConverter beanPropertyConverter = new BeanPropertyConverter();
+
+        try {
+            beanPropertyConverter.unmarshal(null, null);
+            Assert.fail("UnsupportedOperationException expected");
+        } catch (UnsupportedOperationException expected) {
+            // expected    
+        }
+    }
+
+    @Test
+    public void convertShouldAlwaysBeTrue() {
+        BeanPropertyConverter beanPropertyConverter = new BeanPropertyConverter();
+        Assert.assertTrue(beanPropertyConverter.canConvert(this.getClass()));
+    }
+
+    @Test
+    public void testMarshall() {
+        XStream xStream = new XStream();
+        xStream.registerConverter(new BeanPropertyConverter(), -19);
+
+        FakeBean fakeBean = new FakeBean();
+        String xml = xStream.toXML(fakeBean);
+
+        String expected =
+                "<org.codehaus.waffle.testmodel.FakeBean>\n" +
+                "  <count>0</count>\n" +
+                "  <list/>\n" +
+                "</org.codehaus.waffle.testmodel.FakeBean>";
+
+        Assert.assertEquals(expected, xml);
+    }
+
+}

Deleted: trunk/core/src/test/java/org/codehaus/waffle/view/GetterXMLConverterTest.java (129 => 130)

--- trunk/core/src/test/java/org/codehaus/waffle/view/GetterXMLConverterTest.java	2007-06-02 04:09:52 UTC (rev 129)
+++ trunk/core/src/test/java/org/codehaus/waffle/view/GetterXMLConverterTest.java	2007-06-02 04:16:01 UTC (rev 130)
@@ -1,45 +0,0 @@
-package org.codehaus.waffle.view;
-
-import com.thoughtworks.xstream.XStream;
-import org.codehaus.waffle.testmodel.FakeBean;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class GetterXMLConverterTest {
-
-    @Test
-    public void unmarshalShouldThrowUnsupportedOperationException() {
-        GetterXMLConverter getterXMLConverter = new GetterXMLConverter();
-
-        try {
-            getterXMLConverter.unmarshal(null, null);
-            Assert.fail("UnsupportedOperationException expected");
-        } catch (UnsupportedOperationException expected) {
-            // expected    
-        }
-    }
-
-    @Test
-    public void convertShouldAlwaysBeTrue() {
-        GetterXMLConverter getterXMLConverter = new GetterXMLConverter();
-        Assert.assertTrue(getterXMLConverter.canConvert(this.getClass()));
-    }
-
-    @Test
-    public void testMarshall() {
-        XStream xStream = new XStream();
-        xStream.registerConverter(new GetterXMLConverter(), -19);
-
-        FakeBean fakeBean = new FakeBean();
-        String xml = xStream.toXML(fakeBean);
-
-        String expected =
-                "<org.codehaus.waffle.testmodel.FakeBean>\n" +
-                "  <count>0</count>\n" +
-                "  <list/>\n" +
-                "</org.codehaus.waffle.testmodel.FakeBean>";
-
-        Assert.assertEquals(expected, xml);
-    }
-
-}


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to