Author: doll
Date: Fri Sep 5 15:11:56 2008
New Revision: 692565
URL: http://svn.apache.org/viewvc?rev=692565&view=rev
Log:
Made two small BeanXmlConverter changes. The root object is now always response
and all collections get wrapped in a parent element.
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java?rev=692565&r1=692564&r2=692565&view=diff
==============================================================================
---
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
(original)
+++
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/BeanXmlConverter.java
Fri Sep 5 15:11:56 2008
@@ -19,6 +19,7 @@
import org.apache.shindig.social.opensocial.service.BeanConverter;
+import org.apache.commons.betwixt.IntrospectionConfiguration;
import org.apache.commons.betwixt.io.BeanReader;
import org.apache.commons.betwixt.io.BeanWriter;
import org.xml.sax.SAXException;
@@ -41,16 +42,28 @@
public String convertToXml(Object obj) {
StringWriter outputWriter = new StringWriter();
BeanWriter writer = new BeanWriter(outputWriter);
- writer.getXMLIntrospector()
- .getConfiguration()
- .setAttributesForPrimitives(false);
+ IntrospectionConfiguration configuration =
writer.getXMLIntrospector().getConfiguration();
+ configuration.setAttributesForPrimitives(false);
+ configuration.setWrapCollectionsInElement(true);
+
writer.getBindingConfiguration().setMapIDs(false);
// Print no line endings
writer.setEndOfLine("");
writer.setWriteEmptyElements(false);
+
+ // Still left to do:
+ //
+ // Fix map output with custom outputter:
+ // for a map with {key : value, key2 : value2} we need:
+ // <key>value</key> <key2>value2</key2>
+
+ // Supress empty lists
+
+ // Within a list the items need to be renamed - this probably means with
need a .betwixt file
+
String toReturn = null;
try {
- writer.write(obj.getClass().getSimpleName().toLowerCase(), obj);
+ writer.write("response", obj);
toReturn = outputWriter.toString();
logger.finest("XML is: " + toReturn + "\n **** \n\n");