You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sc...@apache.org on 2007/09/19 18:56:49 UTC
svn commit: r577367 [5/5] - in /webservices/axis2/trunk/java/modules:
jaxws/src/org/apache/axis2/jaxws/client/
jaxws/src/org/apache/axis2/jaxws/message/util/
kernel/src/org/apache/axis2/addressing/ kernel/src/org/apache/axis2/client/
kernel/src/org/apa...
Added: webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/ObjectSave2Test.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/ObjectSave2Test.java?rev=577367&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/ObjectSave2Test.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/test/org/apache/axis2/engine/ObjectSave2Test.java Wed Sep 19 09:56:47 2007
@@ -0,0 +1,818 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.axis2.engine;
+
+import org.apache.axis2.context.externalize.SafeObjectInputStream;
+import org.apache.axis2.context.externalize.SafeObjectOutputStream;
+import org.apache.axis2.util.MetaDataEntry;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.io.Externalizable;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.NotSerializableException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+
+import junit.framework.TestCase;
+
+public class ObjectSave2Test extends TestCase {
+ protected static final Log log = LogFactory.getLog(ObjectSave2Test.class);
+
+ private String testArg = null;
+
+ // simple constructor needed for nested class Externalizable interface
+ public ObjectSave2Test() {
+ }
+
+ public ObjectSave2Test(String arg0) {
+ super(arg0);
+ testArg = new String(arg0);
+ }
+
+ protected void setUp() throws Exception {
+ // org.apache.log4j.BasicConfigurator.configure();
+ }
+
+ public void testObjectSerializable() throws Exception {
+ File theFile = null;
+ String theFilename = null;
+ boolean saved = false;
+ boolean restored = false;
+ boolean done = false;
+
+ log.debug("ObjectSaveTest:testObjectSerializable(): BEGIN ---------------");
+
+ // ---------------------------------------------------------
+ // setup an object to use
+ // ---------------------------------------------------------
+ MetaDataEntry obj = new MetaDataEntry("object_1", "object_1");
+
+ // ---------------------------------------------------------
+ // setup a temporary file to use
+ // ---------------------------------------------------------
+ try {
+ theFile = File.createTempFile("objectTest", null);
+ theFilename = theFile.getName();
+ log.debug("ObjectSaveTest:testObjectSerializable(): temp file = ["
+ + theFilename + "]");
+ } catch (Exception ex) {
+ log.debug("ObjectSaveTest:testObjectSerializable(): error creating temp file = ["
+ + ex.getMessage() + "]");
+ theFile = null;
+ }
+
+ if (theFile != null) {
+ // ---------------------------------------------------------
+ // save to the temporary file
+ // ---------------------------------------------------------
+ try {
+ // setup an output stream to a physical file
+ FileOutputStream outStream = new FileOutputStream(theFile);
+
+ // attach a stream capable of writing objects to the
+ // stream connected to the file
+ ObjectOutputStream outObjStream = new ObjectOutputStream(
+ outStream);
+ SafeObjectOutputStream out =
+ SafeObjectOutputStream.install(outObjStream);
+
+ // try to save
+ log.debug("ObjectSaveTest:testObjectSerializable(): saving .....");
+ saved = false;
+ out.writeObject(obj);
+
+ // close out the streams
+ outObjStream.flush();
+ outObjStream.close();
+ outStream.flush();
+ outStream.close();
+
+ saved = true;
+ log.debug(
+ "ObjectSaveTest:testObjectSerializable(): " +
+ "....save operation completed.....");
+
+ long filesize = theFile.length();
+ log.debug("ObjectSaveTest:testObjectSerializable(): file size after save ["
+ + filesize
+ + "] temp file = ["
+ + theFilename
+ + "]");
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testObjectSerializable(): error during save ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ assertTrue(saved);
+
+ // ---------------------------------------------------------
+ // restore from the temporary file
+ // ---------------------------------------------------------
+ try {
+ // setup an input stream to the file
+ FileInputStream inStream = new FileInputStream(theFile);
+
+ // attach a stream capable of reading objects from the
+ // stream connected to the file
+ ObjectInputStream inObjStream = new ObjectInputStream(inStream);
+ SafeObjectInputStream in =
+ SafeObjectInputStream.install(inObjStream);
+
+ // try to restore the options
+ log.debug("ObjectSaveTest:testObjectSerializable(): restoring .....");
+ restored = false;
+ MetaDataEntry restored_obj = (MetaDataEntry) in.readObject();
+ inObjStream.close();
+ inStream.close();
+
+ restored = true;
+ log.debug(
+ "ObjectSaveTest:testObjectSerializable(): ....restored operation completed.....");
+
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testObjectSerializable(): error during restore ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ assertTrue(restored);
+
+ // if the save/restore of the object succeeded,
+ // then don't keep the temporary file around
+ boolean removeTmpFile = saved && restored;
+ if (removeTmpFile) {
+ try {
+ theFile.delete();
+ } catch (Exception e) {
+ // just absorb it
+ }
+ }
+
+ // indicate that the temp file was created ok
+ done = true;
+ }
+
+ // this is false when there are problems with the temporary file
+ assertTrue(done);
+
+ log.debug("ObjectSaveTest:testObjectSerializable(): END ---------------");
+ }
+
+ public void testObjectNotSerializable() throws Exception {
+ File theFile = null;
+ String theFilename = null;
+ boolean saved = false;
+ boolean restored = false;
+ boolean expected_exception = false;
+ boolean done = false;
+
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): BEGIN ---------------");
+
+ // ---------------------------------------------------------
+ // setup an object to use
+ // ---------------------------------------------------------
+ NotSerializableObject obj = new NotSerializableObject("nso_1");
+
+ // ---------------------------------------------------------
+ // setup a temporary file to use
+ // ---------------------------------------------------------
+ try {
+ theFile = File.createTempFile("objectTest", null);
+ theFilename = theFile.getName();
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): temp file = ["
+ + theFilename + "]");
+ } catch (Exception ex) {
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): error creating temp file = ["
+ + ex.getMessage() + "]");
+ theFile = null;
+ }
+
+ if (theFile != null) {
+ // ---------------------------------------------------------
+ // save to the temporary file
+ // ---------------------------------------------------------
+ FileOutputStream outStream = null;
+ ObjectOutputStream outObjStream = null;
+ try {
+ // setup an output stream to a physical file
+ outStream = new FileOutputStream(theFile);
+
+ // attach a stream capable of writing objects to the
+ // stream connected to the file
+ outObjStream = new ObjectOutputStream(outStream);
+ SafeObjectOutputStream out =
+ SafeObjectOutputStream.install(outObjStream);
+
+ // try to save
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): saving .....");
+ saved = false;
+ out.writeObject(obj);
+ saved = true;
+ log.debug(
+ "ObjectSaveTest:testObjectNotSerializable(): " +
+ "....save operation completed.....");
+
+ long filesize = theFile.length();
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): file size after save ["
+ + filesize
+ + "] temp file = ["
+ + theFilename
+ + "]");
+ } catch (Exception ex2) {
+ // expect an error here
+ // ObjectStateUtils catches the NotSerializableException and
+ // logs it
+ if (ex2 instanceof NotSerializableException) {
+ expected_exception = true;
+ } else {
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): save ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ }
+ }
+ // close out the streams
+ if (outObjStream != null)
+ outObjStream.close();
+ if (outStream != null)
+ outStream.close();
+
+ // ---------------------------------------------------------
+ // restore from the temporary file
+ // ---------------------------------------------------------
+ try {
+ // setup an input stream to the file
+ FileInputStream inStream = new FileInputStream(theFile);
+
+ // attach a stream capable of reading objects from the
+ // stream connected to the file
+ ObjectInputStream inObjStream = new ObjectInputStream(inStream);
+ SafeObjectInputStream in =
+ SafeObjectInputStream.install(inObjStream);
+
+ // try to restore the options
+ log.debug("ObjectSaveTest:testObjectSerializable(): restoring .....");
+ restored = false;
+ Object restored_obj = in.readObject();
+ inObjStream.close();
+ inStream.close();
+
+ restored = true;
+ log.debug(
+ "ObjectSaveTest:testObjectNotSerializable(): " +
+ "....restored operation completed.....");
+
+ } catch (Exception ex) {
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): error during restore ["
+ + ex.getClass().getName()
+ + " : "
+ + ex.getMessage() + "]");
+ ex.printStackTrace();
+ }
+
+ assertTrue(restored);
+
+ // if the save/restore of the object succeeded,
+ // then don't keep the temporary file around
+ boolean removeTmpFile = saved && restored;
+ if (removeTmpFile) {
+ try {
+ theFile.delete();
+ } catch (Exception e) {
+ // just absorb it
+ }
+ }
+
+ assertTrue(expected_exception);
+ }
+
+ log.debug("ObjectSaveTest:testObjectNotSerializable(): END ---------------");
+ }
+
+ public void testArrayList() throws Exception {
+ File theFile = null;
+ String theFilename = null;
+ boolean saved = false;
+ boolean restored = false;
+ boolean done = false;
+ boolean comparesOK = false;
+
+ log.debug("ObjectSaveTest:testArrayList(): BEGIN ---------------");
+
+ // ---------------------------------------------------------
+ // setup the object to use
+ // ---------------------------------------------------------
+ ArrayList obj = new ArrayList();
+ obj.add(new Integer(1));
+ obj.add(new Integer(2));
+ obj.add(new Integer(3));
+ obj.add(new String("string1"));
+ obj.add(new String("string2"));
+ obj.add(System.out);
+ obj.add(new Integer(4));
+ obj.add(new Integer(5));
+ obj.add(new Integer(6));
+
+ int initial_size = obj.size();
+
+ // ---------------------------------------------------------
+ // setup a temporary file to use
+ // ---------------------------------------------------------
+ try {
+ theFile = File.createTempFile("arraylistTest", null);
+ theFilename = theFile.getName();
+ log.debug("ObjectSaveTest:testArrayList(): temp file = ["
+ + theFilename + "]");
+ } catch (Exception ex) {
+ log.debug("ObjectSaveTest:testArrayList(): error creating temp file = ["
+ + ex.getMessage() + "]");
+ theFile = null;
+ }
+
+ if (theFile != null) {
+ // ---------------------------------------------------------
+ // save to the temporary file
+ // ---------------------------------------------------------
+ try {
+ // setup an output stream to a physical file
+ FileOutputStream outStream = new FileOutputStream(theFile);
+
+ // attach a stream capable of writing objects to the
+ // stream connected to the file
+ ObjectOutputStream outObjStream = new ObjectOutputStream(
+ outStream);
+ SafeObjectOutputStream out =
+ SafeObjectOutputStream.install(outObjStream);
+
+ // try to save
+ log.debug("ObjectSaveTest:testArrayList(): saving .....");
+ saved = false;
+ out.writeList(obj);
+
+ // close out the streams
+ outObjStream.flush();
+ outObjStream.close();
+ outStream.flush();
+ outStream.close();
+
+ saved = true;
+ log.debug("ObjectSaveTest:testArrayList(): ....save operation completed.....");
+
+ long filesize = theFile.length();
+ log.debug("ObjectSaveTest:testArrayList(): file size after save ["
+ + filesize
+ + "] temp file = ["
+ + theFilename
+ + "]");
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testArrayList(): error during save ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ assertTrue(saved);
+
+ // ---------------------------------------------------------
+ // restore from the temporary file
+ // ---------------------------------------------------------
+ ArrayList restored_obj = null;
+
+ try {
+ // setup an input stream to the file
+ FileInputStream inStream = new FileInputStream(theFile);
+
+ // attach a stream capable of reading objects from the
+ // stream connected to the file
+ ObjectInputStream inObjStream = new ObjectInputStream(inStream);
+ SafeObjectInputStream in =
+ SafeObjectInputStream.install(inObjStream);
+
+ // try to restore the options
+ log.debug("ObjectSaveTest:testArrayList(): restoring .....");
+ restored = false;
+ restored_obj = in.readArrayList();
+ inObjStream.close();
+ inStream.close();
+
+ restored = true;
+ log.debug("ObjectSaveTest:testArrayList(): ....restored operation completed.....");
+
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testArrayList(): error during restore ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ // if the save/restore of the object succeeded,
+ // then don't keep the temporary file around
+ boolean removeTmpFile = saved && restored;
+ if (removeTmpFile) {
+ try {
+ theFile.delete();
+ } catch (Exception e) {
+ // just absorb it
+ }
+ }
+
+ assertTrue(restored);
+
+ if (restored_obj != null) {
+ int restored_size = restored_obj.size();
+ if (restored_size == (initial_size - 1)) {
+ comparesOK = true;
+ }
+ }
+
+ // TODO: check for exact entries
+
+ assertTrue(comparesOK);
+
+ // indicate that the temp file was created ok
+ done = true;
+ }
+
+ // this is false when there are problems with the temporary file
+ assertTrue(done);
+
+ log.debug("ObjectSaveTest:testArrayList(): END ---------------");
+ }
+
+ public void testHashMap() throws Exception {
+ File theFile = null;
+ String theFilename = null;
+ boolean saved = false;
+ boolean restored = false;
+ boolean done = false;
+ boolean comparesOK = false;
+
+ log.debug("ObjectSaveTest:testHashMap(): BEGIN ---------------");
+
+ // ---------------------------------------------------------
+ // setup the object to use
+ // ---------------------------------------------------------
+ HashMap obj = new HashMap();
+ obj.put(new String("key1"), new Integer(1));
+ obj.put(new String("key2"), new Integer(2));
+ obj.put(new String("key3"), new String("value1"));
+ obj.put(new String("key4"), System.out);
+ obj.put(new String("key5"), new Integer(3));
+ obj.put(new String("key6"), new Integer(4));
+ obj.put(new String("key7"), System.err);
+ obj.put(new String("key8"), new Integer(5));
+ obj.put(new String("key9"), new Integer(6));
+ obj.put(new NotSerializableObject("TestForHashMapKey"), new Integer(7));
+ obj.put(new String("key10"), new Integer(8));
+
+ int initial_size = obj.size();
+
+ // ---------------------------------------------------------
+ // setup a temporary file to use
+ // ---------------------------------------------------------
+ try {
+ theFile = File.createTempFile("hashmapTest", null);
+ theFilename = theFile.getName();
+ log.debug("ObjectSaveTest:testHashMap(): temp file = ["
+ + theFilename + "]");
+ } catch (Exception ex) {
+ log.debug("ObjectSaveTest:testHashMap(): error creating temp file = ["
+ + ex.getMessage() + "]");
+ theFile = null;
+ }
+
+ if (theFile != null) {
+ // ---------------------------------------------------------
+ // save to the temporary file
+ // ---------------------------------------------------------
+ try {
+ // setup an output stream to a physical file
+ FileOutputStream outStream = new FileOutputStream(theFile);
+
+ // attach a stream capable of writing objects to the
+ // stream connected to the file
+ ObjectOutputStream outObjStream = new ObjectOutputStream(
+ outStream);
+ SafeObjectOutputStream out =
+ SafeObjectOutputStream.install(outObjStream);
+
+ // try to save
+ log.debug("ObjectSaveTest:testHashMap(): saving .....");
+ saved = false;
+ out.writeMap(obj);
+
+ // close out the streams
+ outObjStream.flush();
+ outObjStream.close();
+ outStream.flush();
+ outStream.close();
+
+ saved = true;
+ log.debug("ObjectSaveTest:testHashMap(): ....save operation completed.....");
+
+ long filesize = theFile.length();
+ log.debug("ObjectSaveTest:testHashMap(): file size after save ["
+ + filesize
+ + "] temp file = ["
+ + theFilename
+ + "]");
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testHashMap(): error during save ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ assertTrue(saved);
+
+ // ---------------------------------------------------------
+ // restore from the temporary file
+ // ---------------------------------------------------------
+ HashMap restored_obj = null;
+
+ try {
+ // setup an input stream to the file
+ FileInputStream inStream = new FileInputStream(theFile);
+
+ // attach a stream capable of reading objects from the
+ // stream connected to the file
+ ObjectInputStream inObjStream = new ObjectInputStream(inStream);
+ SafeObjectInputStream in =
+ SafeObjectInputStream.install(inObjStream);
+
+ // try to restore the options
+ log.debug("ObjectSaveTest:testHashMap(): restoring .....");
+ restored = false;
+ restored_obj = in.readHashMap();
+ inObjStream.close();
+ inStream.close();
+
+ restored = true;
+ log.debug("ObjectSaveTest:testHashMap(): ....restored operation completed.....");
+
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testHashMap(): error during restore ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ // if the save/restore of the object succeeded,
+ // then don't keep the temporary file around
+ boolean removeTmpFile = saved && restored;
+ if (removeTmpFile) {
+ try {
+ theFile.delete();
+ } catch (Exception e) {
+ // just absorb it
+ }
+ }
+
+ assertTrue(restored);
+
+ if (restored_obj != null) {
+ int restored_size = restored_obj.size();
+ if (restored_size == (initial_size - 3)) {
+ // there are entries in the map that are not serializable
+ comparesOK = true;
+ }
+ }
+
+ // TODO: check for exact entries
+
+ assertTrue(comparesOK);
+
+ // indicate that the temp file was created ok
+ done = true;
+ }
+
+ // this is false when there are problems with the temporary file
+ assertTrue(done);
+
+ log.debug("ObjectSaveTest:testHashMap(): END ---------------");
+ }
+
+ public void testLinkedList() throws Exception {
+ File theFile = null;
+ String theFilename = null;
+ boolean saved = false;
+ boolean restored = false;
+ boolean done = false;
+ boolean comparesOK = false;
+
+ log.debug("ObjectSaveTest:testLinkedList(): BEGIN ---------------");
+
+ // ---------------------------------------------------------
+ // setup the object to use
+ // ---------------------------------------------------------
+ LinkedList obj = new LinkedList();
+ obj.add(new Integer(1));
+ obj.add(new Integer(2));
+ obj.add(new Integer(3));
+ obj.add(new String("string1"));
+ obj.add(new String("string2"));
+ obj.add(System.in);
+ obj.add(new Integer(4));
+ obj.add(new Integer(5));
+ obj.add(new Integer(6));
+
+ int initial_size = obj.size();
+
+ // ---------------------------------------------------------
+ // setup a temporary file to use
+ // ---------------------------------------------------------
+ try {
+ theFile = File.createTempFile("linkedlistTest", null);
+ theFilename = theFile.getName();
+ log.debug("ObjectSaveTest:testLinkedList(): temp file = ["
+ + theFilename + "]");
+ } catch (Exception ex) {
+ log.debug("ObjectSaveTest:testLinkedList(): error creating temp file = ["
+ + ex.getMessage() + "]");
+ theFile = null;
+ }
+
+ if (theFile != null) {
+ // ---------------------------------------------------------
+ // save to the temporary file
+ // ---------------------------------------------------------
+ try {
+ // setup an output stream to a physical file
+ FileOutputStream outStream = new FileOutputStream(theFile);
+
+ // attach a stream capable of writing objects to the
+ // stream connected to the file
+ ObjectOutputStream outObjStream = new ObjectOutputStream(
+ outStream);
+ SafeObjectOutputStream out =
+ SafeObjectOutputStream.install(outObjStream);
+
+ // try to save
+ log.debug("ObjectSaveTest:testLinkedList(): saving .....");
+ saved = false;
+ out.writeList(obj);
+
+ // close out the streams
+ outObjStream.flush();
+ outObjStream.close();
+ outStream.flush();
+ outStream.close();
+
+ saved = true;
+ log.debug("ObjectSaveTest:testLinkedList(): ....save operation completed.....");
+
+ long filesize = theFile.length();
+ log.debug("ObjectSaveTest:testLinkedList(): file size after save ["
+ + filesize
+ + "] temp file = ["
+ + theFilename
+ + "]");
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testLinkedList(): error during save ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ assertTrue(saved);
+
+ // ---------------------------------------------------------
+ // restore from the temporary file
+ // ---------------------------------------------------------
+ LinkedList restored_obj = null;
+
+ try {
+ // setup an input stream to the file
+ FileInputStream inStream = new FileInputStream(theFile);
+
+ // attach a stream capable of reading objects from the
+ // stream connected to the file
+ ObjectInputStream inObjStream = new ObjectInputStream(inStream);
+ SafeObjectInputStream in =
+ SafeObjectInputStream.install(inObjStream);
+
+ // try to restore the options
+ log.debug("ObjectSaveTest:testLinkedList(): restoring .....");
+ restored = false;
+ restored_obj = in.readLinkedList();
+ inObjStream.close();
+ inStream.close();
+
+ restored = true;
+ log.debug("ObjectSaveTest:testLinkedList(): ....restored operation completed.....");
+
+ } catch (Exception ex2) {
+ log.debug("ObjectSaveTest:testLinkedList(): error during restore ["
+ + ex2.getClass().getName()
+ + " : "
+ + ex2.getMessage() + "]");
+ ex2.printStackTrace();
+ }
+
+ // if the save/restore of the object succeeded,
+ // then don't keep the temporary file around
+ boolean removeTmpFile = saved && restored;
+ if (removeTmpFile) {
+ try {
+ theFile.delete();
+ } catch (Exception e) {
+ // just absorb it
+ }
+ }
+
+ assertTrue(restored);
+
+ if (restored_obj != null) {
+ int restored_size = restored_obj.size();
+ if (restored_size == (initial_size - 1)) {
+ comparesOK = true;
+ }
+ }
+
+ // TODO: check for exact entries
+
+ assertTrue(comparesOK);
+
+ // indicate that the temp file was created ok
+ done = true;
+ }
+
+ // this is false when there are problems with the temporary file
+ assertTrue(done);
+
+ log.debug("ObjectSaveTest:testLinkedList(): END ---------------");
+ }
+
+ public class NotSerializableObject implements Externalizable {
+ private String label = "TestObject";
+
+ private String ID = null;
+
+ // make sure we have some objects that don't serialize
+ private PrintStream ps = System.out;
+
+ // default constructor needed for Externalizable interface
+ public NotSerializableObject() {
+ }
+
+ public NotSerializableObject(String identifier) {
+ ID = identifier;
+ ps = System.out;
+ }
+
+ public void setID(String s) {
+ ID = s;
+ }
+
+ public String getID() {
+ return ID;
+ }
+
+ public void writeExternal(java.io.ObjectOutput out) throws IOException {
+ throw new NotSerializableException(
+ "Test Object is not serializable");
+ }
+
+ public void readExternal(java.io.ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ throw new IOException("Test object is not serializable");
+ }
+
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org