openamf/src/java/org/openamf/io AMFSerializer.java,1.23,1.24

[email protected]
Newsgroups gmane.comp.java.openamf.cvs
Message-ID <[email protected]>
Update of /cvsroot/openamf/openamf/src/java/org/openamf/io
In directory sc8-pr-cvs1:/tmp/cvs-serv4614/src/java/org/openamf/io

Modified Files:
	AMFSerializer.java 
Log Message:
fixed XML support to to use standard DOM classes

Index: AMFSerializer.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/io/AMFSerializer.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** AMFSerializer.java	26 Apr 2003 23:46:35 -0000	1.23
--- AMFSerializer.java	2 May 2003 18:20:09 -0000	1.24
***************
*** 16,25 ****
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
- import org.apache.crimson.tree.XmlDocument;
  import org.openamf.AMFBody;
  import org.openamf.AMFMessage;
  import org.openamf.ASObject;
  import org.openamf.recordset.ASRecordSet;
  import org.w3c.dom.Document;
  
  //TODO: use http://www.php.net/manual/en/function.pack.php to convert php
--- 16,26 ----
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import org.openamf.AMFBody;
  import org.openamf.AMFMessage;
  import org.openamf.ASObject;
  import org.openamf.recordset.ASRecordSet;
+ import org.openamf.util.XMLUtils;
  import org.w3c.dom.Document;
+ import org.w3c.dom.Element;
  
  //TODO: use http://www.php.net/manual/en/function.pack.php to convert php
***************
*** 105,113 ****
  			writeMap(value);
  		} else if (value instanceof ResultSet) {
! 			ASRecordSet asRecordSet =  new ASRecordSet();
! 			asRecordSet.populate((ResultSet)value);
  			writeData(asRecordSet);
  		} else if (value instanceof Document) {
! 			writeXML((XmlDocument) value);
  		} else {
  			/*
--- 106,114 ----
  			writeMap(value);
  		} else if (value instanceof ResultSet) {
! 			ASRecordSet asRecordSet = new ASRecordSet();
! 			asRecordSet.populate((ResultSet) value);
  			writeData(asRecordSet);
  		} else if (value instanceof Document) {
! 			writeXML((Document) value);
  		} else {
  			/*
***************
*** 125,129 ****
  		outputStream.writeByte(AMFBody.DATA_TYPE_OBJECT);
  		try {
! 			PropertyDescriptor[] properties = PropertyUtils.getPropertyDescriptors(object);
  			for (int i = 0; i < properties.length; i++) {
  				if (!properties[i].getName().equals("class")) {
--- 126,131 ----
  		outputStream.writeByte(AMFBody.DATA_TYPE_OBJECT);
  		try {
! 			PropertyDescriptor[] properties =
! 				PropertyUtils.getPropertyDescriptors(object);
  			for (int i = 0; i < properties.length; i++) {
  				if (!properties[i].getName().equals("class")) {
***************
*** 178,185 ****
  		Map map = (Map) value;
  
! 		if (value instanceof ASObject && ((ASObject)value).getType() != null) {
! 			log.debug("Writting Custom Class: " + ((ASObject)value).getType());
  			outputStream.writeByte(AMFBody.DATA_TYPE_CUSTOM_CLASS);
! 			outputStream.writeUTF(((ASObject)value).getType());
  		} else {
  			log.debug("Writting Map");
--- 180,188 ----
  		Map map = (Map) value;
  
! 		if (value instanceof ASObject
! 			&& ((ASObject) value).getType() != null) {
! 			log.debug("Writting Custom Class: " + ((ASObject) value).getType());
  			outputStream.writeByte(AMFBody.DATA_TYPE_CUSTOM_CLASS);
! 			outputStream.writeUTF(((ASObject) value).getType());
  		} else {
  			log.debug("Writting Map");
***************
*** 188,192 ****
  		log.debug("size = " + map.entrySet().size());
  		for (Iterator entrys = map.entrySet().iterator(); entrys.hasNext();) {
! 			Map.Entry entry = (Map.Entry)entrys.next();
  			log.debug(entry.getKey().toString() + ": " + entry.getValue());
  			outputStream.writeUTF(entry.getKey().toString());
--- 191,195 ----
  		log.debug("size = " + map.entrySet().size());
  		for (Iterator entrys = map.entrySet().iterator(); entrys.hasNext();) {
! 			Map.Entry entry = (Map.Entry) entrys.next();
  			log.debug(entry.getKey().toString() + ": " + entry.getValue());
  			outputStream.writeUTF(entry.getKey().toString());
***************
*** 197,206 ****
  	}
  
! 	private void writeXML(XmlDocument value) throws IOException {
  		outputStream.writeByte(AMFBody.DATA_TYPE_XML);
! 		ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
! 		value.write(byteStream);
! 		outputStream.writeInt(byteStream.size());
! 		byteStream.writeTo(outputStream);
  	}
  }
--- 200,213 ----
  	}
  
! 	private void writeXML(Document document) throws IOException {
  		outputStream.writeByte(AMFBody.DATA_TYPE_XML);
! 		Element docElement = document.getDocumentElement();
! 		String xmlData = XMLUtils.convertDOMToString(docElement);
! 		log.debug("xmlData: \n" + xmlData);
! 		ByteArrayOutputStream baOutputStream = new ByteArrayOutputStream();
! 		baOutputStream.write(xmlData.getBytes());
! 		outputStream.writeInt(baOutputStream.size());
! 		baOutputStream.writeTo(outputStream);
  	}
+ 
  }




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.