package com.jboss.teiid;
import java.sql.ResultSet;
import java.sql.Statement;
import org.teiid.core.types.DataTypeManager;
import com.jboss.teiid.client.util.JDBCUtil;
public class SerializationSizeCaculation extends SerializationCaculation {
public SerializationSizeCaculation() throws Exception {
super();
}
public void countSize() throws Exception {
Statement stmt = conn .createStatement();
String query = "SELECT * FROM SERIALTESTVIEW WHERE id < 10";
ResultSet rs = null;
try {
rs = stmt.executeQuery(query);
while(rs.next()) {
Object obj = rs.getLong(1);
System.out.print(obj.getClass() + " -> " + new MySizeUtility(null).getSize(obj, DataTypeManager.determineDataTypeClass(obj), true, false));
obj = rs.getString(2);
System.out.print(", " + obj.getClass() + " -> " + new MySizeUtility(null).getSize(obj, DataTypeManager.determineDataTypeClass(obj), true, false));
obj = rs.getString(3);
System.out.print(", " + obj.getClass() + " -> " + new MySizeUtility(null).getSize(obj, DataTypeManager.determineDataTypeClass(obj), true, false));
rs.getString(4);
System.out.println(", " + obj.getClass() + " -> " + new MySizeUtility(null).getSize(obj, DataTypeManager.determineDataTypeClass(obj), true, false));
}
} catch (Exception e) {
throw e;
} finally {
JDBCUtil.close(rs, stmt);
JDBCUtil.close(conn);
}
}
public static void main(String[] args) throws Exception {
new SerializationSizeCaculation().countSize();
Object c = '1';
System.out.println(c.getClass() + " -> " + helpTestGetSize(c));
byte[] buf = new byte[1];
System.out.println(buf.getClass() + " -> " + helpTestGetSize(buf));
String str = "123412341234";
System.out.println(str.getClass() + " -> " + helpTestGetSize(str));
Byte x = new Byte((byte) 127) ;
System.out.println(x + " -> " + helpTestGetSize(x));
Integer i = new Integer(2147483647);
System.out.println(i + " -> " + helpTestGetSize(i));
Long l = new Long(9223372036854775807L);
System.out.println(l + " -> " + helpTestGetSize(l));
String cloa = "abcdefghabcd";
System.out.println(cloa + " -> " + helpTestGetSize(cloa));
String clob = "abcdefghigklmnopqrstabcdefghigklmnopqrst";
System.out.println(clob + " -> " + helpTestGetSize(clob));
String cloc = "1234567890123456789012345678901234567890";
System.out.println(cloc + " -> " + helpTestGetSize(cloc));
System.out.println(helpTestGetSize(""));
System.out.println(helpTestGetSize("1"));
System.out.println(helpTestGetSize("12"));
System.out.println(helpTestGetSize("123"));
System.out.println(helpTestGetSize("1234"));
System.out.println(helpTestGetSize("12341"));
System.out.println(helpTestGetSize("123412"));
System.out.println(helpTestGetSize("1234123"));
System.out.println(helpTestGetSize("12341234"));
System.out.println(helpTestGetSize("123412341"));
System.out.println(helpTestGetSize("1234123412"));
System.out.println(helpTestGetSize("12341234123"));
System.out.println(helpTestGetSize("123412341234"));
System.out.println(helpTestGetSize("1234123412341"));
System.out.println(helpTestGetSize("12341234123412"));
System.out.println(helpTestGetSize("123412341234123"));
System.out.println(helpTestGetSize("1234123412341234"));
}
public static long helpTestGetSize(Object obj) {
return new MySizeUtility(null).getSize(obj, DataTypeManager.determineDataTypeClass(obj), true, false);
}
}