You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jg...@apache.org on 2006/09/22 01:51:45 UTC
svn commit: r448745 - in /geronimo/sandbox/gcache/server/src:
main/java/org/apache/geronimo/gcache/command/BaseCommand.java
test/java/org/apache/geronimo/gcache/command/CachePayloadBaseCommandTest.java
Author: jgenender
Date: Thu Sep 21 16:51:44 2006
New Revision: 448745
URL: http://svn.apache.org/viewvc?view=rev&rev=448745
Log:
Tidy up
Modified:
geronimo/sandbox/gcache/server/src/main/java/org/apache/geronimo/gcache/command/BaseCommand.java
geronimo/sandbox/gcache/server/src/test/java/org/apache/geronimo/gcache/command/CachePayloadBaseCommandTest.java
Modified: geronimo/sandbox/gcache/server/src/main/java/org/apache/geronimo/gcache/command/BaseCommand.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gcache/server/src/main/java/org/apache/geronimo/gcache/command/BaseCommand.java?view=diff&rev=448745&r1=448744&r2=448745
==============================================================================
--- geronimo/sandbox/gcache/server/src/main/java/org/apache/geronimo/gcache/command/BaseCommand.java (original)
+++ geronimo/sandbox/gcache/server/src/main/java/org/apache/geronimo/gcache/command/BaseCommand.java Thu Sep 21 16:51:44 2006
@@ -164,6 +164,26 @@
protected byte[] convertObjectToBytes(Object object) throws IOException {
+ if (object instanceof Serializable) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream stream = new ObjectOutputStream(baos);
+ stream.writeObject(object);
+ stream.flush();
+ stream.close();
+ return baos.toByteArray();
+ } else {
+ throw new RuntimeException("Invalid argument - Object"
+ + " is not an instance of java.io.Serializable"
+ + " or MarshalAware");
+ }
+
+ /**
+ *
+ * I don't think MarshalAware is necessary here anymore...Bill?
+ *
+ * Commenting this out until Bill agrees
+ *
+ *
if (object instanceof MarshalAware) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(34);
WritableByteChannel channel = Channels.newChannel(baos);
@@ -182,6 +202,8 @@
+ " is not an instance of java.io.Serializable"
+ " or MarshalAware");
}
+ *
+ */
}
}
Modified: geronimo/sandbox/gcache/server/src/test/java/org/apache/geronimo/gcache/command/CachePayloadBaseCommandTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gcache/server/src/test/java/org/apache/geronimo/gcache/command/CachePayloadBaseCommandTest.java?view=diff&rev=448745&r1=448744&r2=448745
==============================================================================
--- geronimo/sandbox/gcache/server/src/test/java/org/apache/geronimo/gcache/command/CachePayloadBaseCommandTest.java (original)
+++ geronimo/sandbox/gcache/server/src/test/java/org/apache/geronimo/gcache/command/CachePayloadBaseCommandTest.java Thu Sep 21 16:51:44 2006
@@ -27,7 +27,37 @@
public class CachePayloadBaseCommandTest {
@Test
- public void testCacheValueBaseCommand() throws Exception {
+ public void testCacheValueBaseCommandSerializable() throws Exception {
+ String commandId = "the command id";
+ String key = "My Key";
+ String sessionId = "My Session Id";
+ String data = "This is some serializable data...";
+
+ CachePayloadBaseCommand command = new CachePayloadBaseCommand();
+ command.setCommandId(commandId);
+ command.setKey(key);
+ command.setSessionId(sessionId);
+ command.setPayloadObject(data);
+
+ //Convert the command to bytes
+ byte[] marshalled = command.marshal();
+
+ ByteArrayInputStream bias = new ByteArrayInputStream(marshalled);
+ ReadableByteChannel channel = Channels.newChannel(bias);
+ CachePayloadBaseCommand readCommand = new CachePayloadBaseCommand();
+ readCommand.readExternal(channel);
+
+ byte readData[] = readCommand.getPayload();
+ String readString = (String)readCommand.convertObjectFromBytes(readData);
+ assert readString.equals(data);
+
+ assert readCommand.getCommandId().equals(commandId);
+ assert readCommand.getKey().equals(key);
+ assert readCommand.getSessionId().equals(sessionId);
+ }
+
+ @Test
+ public void testCacheValueBaseCommandMarshallAware() throws Exception {
String commandId = "the command id";
String key = "My Key";
String sessionId = "My Session Id";