Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.mapdb;
  
  
  
  import javax.swing.*;
  import java.io.*;
 import java.util.Set;
 
 @SuppressWarnings({ "unchecked""rawtypes" })
 public class SerializerPojoTest extends TestCase {
 
 
     enum Order
     {
         ASCENDING,
         DESCENDING
     }
     private byte[] serialize(Object ithrows IOException {
         DataOutput2 in = new DataOutput2();
         .serialize(ini);
         return in.copyBytes();
     }
 
     private Object deserialize(byte[] bufthrows IOException {
         return .deserialize(new DataInput2(ByteBuffer.wrap(buf),0),-1);
     }
 
 
     public void testEnum() throws Exception{
         Order o = .;
         o = (Order) UtilsTest.clone(o);
         assertEquals(o,. );
         assertEquals(o.ordinal(),. .ordinal());
         assertEquals(o.name(),. .name());
 
         o = .;
         o = (Order) UtilsTest.clone(o);
         assertEquals(o,. );
         assertEquals(o.ordinal(),. .ordinal());
         assertEquals(o.name(),. .name());
 
     }
 
 
     static class Extr  implements  Externalizable{
 
         public Extr(){}
 
         int aaa = 11;
         String  l = "agfa";
 
         @Override public void writeExternal(ObjectOutput outthrows IOException {
             out.writeObject();
             out.writeInt();
 
         }
 
         @Override  public void readExternal(ObjectInput inthrows IOExceptionClassNotFoundException {
              = (Stringin.readObject();
              = in.readInt()+1;
 
         }
     }
 
     public void testExternalizable() throws Exception{
         Extr e = new Extr();
         e.aaa = 15;
         e.l = "pakla";
 
         e = (Extrdeserialize(serialize(e));
         assertEquals(e.aaa, 16); //was incremented during serialization
         assertEquals(e.l,"pakla");
 
     }
 
 
     static class Bean1 implements Serializable {
 
     	private static final long serialVersionUID = -2549023895082866523L;
 
 		public boolean equals(Object o) {
             if (this == oreturn true;
             if (o == null || getClass() != o.getClass()) return false;
 
             Bean1 bean1 = (Bean1o;
 
             if (Double.compare(bean1.doubleField) != 0) return false;
             if (Float.compare(bean1.floatField) != 0) return false;
             if ( != bean1.intFieldreturn false;
            if ( != bean1.longFieldreturn false;
            if ( != null ? !.equals(bean1.field1) : bean1.field1 != nullreturn false;
            if ( != null ? !.equals(bean1.field2) : bean1.field2 != nullreturn false;
            return true;
        }
        protected String field1 = null;
        protected String field2 = null;
        protected int intField = .;
        protected long longField = .;
        protected double doubleField = .;
        protected float floatField = .;
        transient int getCalled = 0;
        transient int setCalled = 0;
        public String getField2() {
            ++;
            return ;
        }
        public void setField2(String field2) {
            ++;
            this. = field2;
        }
        Bean1(String field1String field2) {
            this. = field1;
            this. = field2;
        }
        Bean1() {
        }
    }
    static class Bean2 extends Bean1 {
		private static final long serialVersionUID = 8376654194053933530L;
		public boolean equals(Object o) {
            if (this == oreturn true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            Bean2 bean2 = (Bean2o;
            if ( != null ? !.equals(bean2.field3) : bean2.field3 != nullreturn false;
            return true;
        }
        @Override
        public int hashCode() {
            return  != null ? .hashCode() : 0;
        }
        private String field3 = null;
        Bean2(String field1String field2String field3) {
            super(field1field2);
            this. = field3;
        }
        Bean2() {
        }
    }
    Bean1 b = new Bean1("aa""bb");
    Bean2 b2 = new Bean2("aa""bb""cc");
    public void testGetFieldValue1() throws Exception {
        assertEquals("aa".getFieldValue(new SerializerPojo.FieldInfo("field1",false,String.class.getName(),.getClass()), ));
    }
    public void testGetFieldValue2() throws Exception {
        assertEquals("bb".getFieldValue(new SerializerPojo.FieldInfo("field2",false,String.class.getName(),.getClass()), ));
        assertEquals(0, .);
    }
    public void testGetFieldValue3() throws Exception {
        assertEquals("aa".getFieldValue(new SerializerPojo.FieldInfo("field1",false,String.class.getName(),.getClass()), ));
    }
    public void testGetFieldValue4() throws Exception {
        assertEquals("bb".getFieldValue(new SerializerPojo.FieldInfo("field2",false,String.class.getName(),.getClass()), ));
        assertEquals(0, .);
    }
    public void testGetFieldValue5() throws Exception {
        assertEquals("cc".getFieldValue(new SerializerPojo.FieldInfo("field3",false,String.class.getName(),.getClass()), ));
    }
    public void testSerializable() throws Exception {
        assertEquals(, UtilsTest.clone());
    }
    public void testRecursion() throws Exception {
        AbstractMap.SimpleEntry b = new AbstractMap.SimpleEntry("abcd"null);
        b.setValue(b.getKey());
        AbstractMap.SimpleEntry bx = (AbstractMap.SimpleEntry) UtilsTest.clone(b);
        assertEquals(bxb);
        assert (bx.getKey() == bx.getValue());
    }
    public void testRecursion2() throws Exception {
        AbstractMap.SimpleEntry b = new AbstractMap.SimpleEntry("abcd"null);
        b.setValue(b);
        AbstractMap.SimpleEntry bx = (AbstractMap.SimpleEntry) UtilsTest.clone(b);
        assertTrue(bx == bx.getValue());
        assertEquals(bx.getKey(), "abcd");
    }
    public void testRecursion3() throws Exception {
        ArrayList l = new ArrayList();
        l.add("123");
        l.add(l);
        ArrayList l2 = (ArrayList) UtilsTest.clone(l);
        assertTrue(l2.size() == 2);
        assertEquals(l2.get(0), "123");
        assertTrue(l2.get(1) == l2);
    }
    public void testPersistedSimple() throws Exception {
        File f = UtilsTest.tempDbFile();
        DB r1 = DBMaker.newFileDB(f).make();
        long recid = r1.engine.put("AA",r1.getDefaultSerializer());
        r1.commit();
        r1.close();
         r1 = DBMaker.newFileDB(f).make();
        String a2 = (Stringr1.engine.get(recidr1.getDefaultSerializer());
        r1.close();
        assertEquals("AA"a2);
    }
    public void testPersisted() throws Exception {
        Bean1 b1 = new Bean1("abc""dcd");
        File f = UtilsTest.tempDbFile();
        DB r1 = DBMaker.newFileDB(f).make();
        long recid = r1.engine.put(b1r1.getDefaultSerializer());
        r1.commit();
        r1.close();
        r1 = DBMaker.newFileDB(f).make();
        Bean1 b2 = (Bean1r1.engine.get(recid,r1.getDefaultSerializer());
        r1.close();
        assertEquals(b1b2);
    }
        Object[] o = new Object[]{
                new GregorianCalendar(1,1,1),
                new JLabel("aa")
        };
        for(Object oo:o){
            DB db = DBMaker.newMemoryDB().make();
            long recid = db.engine.put(oodb.getDefaultSerializer());
            assertEquals(oodb.engine.get(reciddb.getDefaultSerializer()));
        }
    }
    public static class test_pojo_reload_TestClass implements Serializable
    {
        private String name;
        public test_pojo_reload_TestClass(String name) {
            this. = name;
        }
    }

    

Author(s):
Jan Sileny
    public  void test_pojo_reload() throws IOException {
        File f = UtilsTest.tempDbFile();
        DB db = DBMaker.newFileDB(f).make();
        Set set = db.getHashSet("testSerializerPojo");
        set.add(new test_pojo_reload_TestClass("test"));
        db.commit();
//        System.out.println(((SerializerPojo)db.defaultSerializer).registered);
        int prevsize = ((SerializerPojo)db.getDefaultSerializer())..size();
        db.close();
        db = DBMaker.newFileDB(f).deleteFilesAfterClose().make();
        set = db.getHashSet("testSerializerPojo");
        set.add(new test_pojo_reload_TestClass("test2"));
        db.commit();
        int newsize = ((SerializerPojo)db.getDefaultSerializer())..size();
//        System.out.println(((SerializerPojo)db.defaultSerializer).registered);
        db.close();
        assertEquals(prevsizenewsize);
    }
    public static class test_transient implements Serializable{
        transient int aa = 11;
        transient String ss = "aa";
        int bb = 11;
    }
    public void test_transient(){
        test_transient t = new test_transient();
        t.aa = 12;
        t.ss = "bb";
        t.bb = 13;
        t = (test_transient) UtilsTest.clone(t);
        assertEquals(0,t.aa);
        assertEquals(null,t.ss);
        assertEquals(13,t.bb);
    }
    public void test_transient2(){
        test_transient t = new test_transient();
        t.aa = 12;
        t.ss = "bb";
        t.bb = 13;
        t = outputStreamClone(t);
        assertEquals(0,t.aa);
        assertEquals(null,t.ss);
        assertEquals(13,t.bb);
    }

    
clone value using serialization
    public static <E> E outputStreamClone(E value){
        try{
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            new ObjectOutputStream(out).writeObject(value);
            ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(out.toByteArray()));
            return (E) in.readObject();
        }catch(Exception ee){
            throw new IOError(ee);
        }
    }
    public void testIssue177() throws UnknownHostException {
        DB db = DBMaker.newMemoryDB().cacheDisable().make();
        InetAddress value = InetAddress.getByName("127.0.0.1");
        long recid = db.engine.put(valuedb.getDefaultSerializer());
        Object value2 = db.engine.get(recid,db.getDefaultSerializer());
        assertEquals(value,value2);
    }
New to GrepCode? Check out our FAQ X