openamf/src/java/org/openamf/io AMFDeserializer.java,1.15,1.16 AMFSerializer.java,1.29,1.30

[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-serv25899/src/java/org/openamf/io

Modified Files:
	AMFDeserializer.java AMFSerializer.java 
Log Message:
refactored/cleaned up code to prepare for a 1.0 stable api

Index: AMFDeserializer.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/io/AMFDeserializer.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** AMFDeserializer.java	23 May 2003 01:36:48 -0000	1.15
--- AMFDeserializer.java	24 May 2003 21:59:39 -0000	1.16
***************
*** 69,73 ****
  			//clear storedObjects
  			storedObjects = new ArrayList();
! 			String name = inputStream.readUTF();
  			// Find the must understand flag
  			boolean required = readBoolean();
--- 69,73 ----
  			//clear storedObjects
  			storedObjects = new ArrayList();
! 			String key = inputStream.readUTF();
  			// Find the must understand flag
  			boolean required = readBoolean();
***************
*** 77,83 ****
  			byte type = inputStream.readByte();
  			// Turn the element into real data
! 			Object content = readData(type);
  			// Save the name/value into the headers array
! 			message.addHeader(name, required, content);
  		}
  	}
--- 77,83 ----
  			byte type = inputStream.readByte();
  			// Turn the element into real data
! 			Object value = readData(type);
  			// Save the name/value into the headers array
! 			message.addHeader(key, required, value);
  		}
  	}

Index: AMFSerializer.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/io/AMFSerializer.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** AMFSerializer.java	24 May 2003 06:43:21 -0000	1.29
--- AMFSerializer.java	24 May 2003 21:59:39 -0000	1.30
***************
*** 18,21 ****
--- 18,23 ----
  import org.apache.commons.logging.LogFactory;
  import org.openamf.AMFBody;
+ import org.openamf.AMFHeader;
+ import org.openamf.AMFMessage;
  import org.openamf.ASObject;
  import org.openamf.recordset.ASRecordSet;
***************
*** 40,44 ****
  	}
  
! 	public void writeBody(AMFBody body) throws IOException {
  		outputStream.writeUTF(body.getTarget());
  		outputStream.writeUTF(body.getResponse());
--- 42,76 ----
  	}
  
! 	public void serializeMessage(AMFMessage message) throws IOException {
! 		
! 		//version ?
! 		outputStream.writeShort(0);
! 		
! 		outputStream.writeShort(message.getHeaderCount());
! 		Iterator headers = message.getHeaders();
! 		while (headers.hasNext()) {
! 			AMFHeader header = (AMFHeader)headers.next();
! 			writeHeader(header);
! 		}
! 		
! 		outputStream.writeShort(message.getBodyCount());
! 		Iterator bodies = message.getBodies();
! 		while (bodies.hasNext()) {
! 			AMFBody body = (AMFBody)bodies.next();
! 			writeBody(body);
! 		}
! 
! 	}
! 
! 	protected void writeHeader(AMFHeader header) throws IOException {
! 		//TODO so far we aren't sending headers so this isn't tested
! 		outputStream.writeUTF(header.getKey());
! 		outputStream.writeBoolean(header.isRequired());
! 		// Always, always there is four bytes of FF, which is -1 of course
! 		outputStream.writeInt(-1);
! 		writeData(header.getValue());
! 	}
! 
! 	protected void writeBody(AMFBody body) throws IOException {
  		outputStream.writeUTF(body.getTarget());
  		outputStream.writeUTF(body.getResponse());
***************
*** 49,53 ****
  	}
  
! 	public void writeData(Object value) throws IOException {
  		if (value == null) {
  			outputStream.writeByte(AMFBody.DATA_TYPE_NULL);
--- 81,85 ----
  	}
  
! 	protected void writeData(Object value) throws IOException {
  		if (value == null) {
  			outputStream.writeByte(AMFBody.DATA_TYPE_NULL);
***************
*** 91,95 ****
  	}
  
! 	private void writeObject(Object object) throws IOException {
  
  		outputStream.writeByte(AMFBody.DATA_TYPE_OBJECT);
--- 123,127 ----
  	}
  
! 	protected void writeObject(Object object) throws IOException {
  
  		outputStream.writeByte(AMFBody.DATA_TYPE_OBJECT);
***************
*** 122,126 ****
  	}
  
! 	private void writeArray(Object value) throws IOException {
  		Object[] array = (Object[]) value;
  
--- 154,158 ----
  	}
  
! 	protected void writeArray(Object value) throws IOException {
  		Object[] array = (Object[]) value;
  
***************
*** 135,139 ****
  	}
  
! 	private void writeIterator(Object value) throws IOException {
  		Iterator iterator = (Iterator) value;
  		
--- 167,171 ----
  	}
  
! 	protected void writeIterator(Object value) throws IOException {
  		Iterator iterator = (Iterator) value;
  		
***************
*** 147,151 ****
  	}
  
! 	private void writeCollection(Object value) throws IOException {
  		Collection collection = (Collection) value;
  
--- 179,183 ----
  	}
  
! 	protected void writeCollection(Object value) throws IOException {
  		Collection collection = (Collection) value;
  
***************
*** 160,164 ****
  	}
  
! 	private void writeMap(Object value) throws IOException {
  		Map map = (Map) value;
  
--- 192,196 ----
  	}
  
! 	protected void writeMap(Object value) throws IOException {
  		Map map = (Map) value;
  
***************
*** 182,186 ****
  	}
  
! 	private void writeXML(Document document) throws IOException {
  		outputStream.writeByte(AMFBody.DATA_TYPE_XML);
  		Element docElement = document.getDocumentElement();
--- 214,218 ----
  	}
  
! 	protected void writeXML(Document document) throws IOException {
  		outputStream.writeByte(AMFBody.DATA_TYPE_XML);
  		Element docElement = document.getDocumentElement();




-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge
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.