18 package testsuite.clusterj;
20 import java.sql.PreparedStatement;
21 import java.sql.ResultSet;
22 import java.sql.SQLException;
23 import java.util.List;
25 import testsuite.clusterj.model.BitTypes;
26 import testsuite.clusterj.model.IdBase;
50 static int NUMBER_OF_INSTANCES = 10;
59 return NUMBER_OF_INSTANCES;
69 Class<? extends IdBase> getModelClass() {
78 int length = (int)Math.pow(2, j);
81 boolean data = (i % 2) == 0;
82 if (
getDebug()) System.out.println(
"BitTypesTest.getColumnValue Column data for " + i +
", " + j
83 +
" is (boolean)" + data);
89 for (
int d = 0; d < length; ++d) {
90 data = (data * 2) + (
int)(Math.random() * 2);
92 if (
getDebug()) System.out.println(
"BitTypesTest.getColumnValue Column data for " + i +
", " + j
93 +
" is (byte)" + data);
94 return Byte.valueOf((byte)data);
99 for (
int d = 0; d < length; ++d) {
100 data = (data * 2) + (
int)(Math.random() * 2);
102 if (
getDebug()) System.out.println(
"BitTypesTest.getColumnValue Column data for " + i +
", " + j
103 +
" is (short)" + data);
104 return Short.valueOf((
short)data);
110 for (
int d = 0; d < length; ++d) {
111 data = (data * 2) + ((
int)(Math.random() * 2));
113 if (
getDebug()) System.out.println(
"BitTypesTest.getColumnValue Column data for " + i +
", " + j
114 +
" is (int)" + data);
116 data = Math.abs(data);
117 return Integer.valueOf(data);
123 for (
int d = 0; d < length / 8; ++d) {
124 data = (data * 256) + (i * 16) + d;
126 if (
getDebug()) System.out.println(
"BitTypesTest.getColumnValue Column data for " + i +
", " + j
127 +
" is (long)" + data);
128 return Long.valueOf(data);
131 fail(
"Bad length: " + length);
143 protected void verify(
String where, List<Object[]> expecteds, List<Object[]> actuals) {
145 for (
int i = 0;
i < expecteds.size(); ++
i) {
146 Object[] expected = expecteds.get(
i);
147 Object[] actual = actuals.get(
i);
148 errorIfNotEqual(where +
" got failure on id for row " +
i,
i, actual[0]);
149 for (
int j = 1; j < expected.length; ++j) {
150 if (
getDebug()) System.out.println(
"BitTypesTest.verify for " +
i +
", " + j
151 +
" is (" + actual[j].getClass().getName() +
")" + actual[j]);
154 Boolean expectedColumn = (Boolean)expected[j];
155 Boolean actualColumn = (Boolean)actual[j];
156 errorIfNotEqual(where +
" got failure on comparison of data for row "
157 +
i +
" column " + j,
158 expectedColumn, actualColumn);
162 byte expectedColumn = (Byte)expected[j];
163 byte actualColumn = (Byte)actual[j];
165 errorIfNotEqual(where +
" got failure on comparison of data for row "
166 +
i +
" column " + j,
167 Integer.toHexString(expectedColumn), Integer.toHexString(actualColumn));
171 short expectedColumn = (Short)expected[j];
172 short actualColumn = (Short)actual[j];
174 errorIfNotEqual(where +
" got failure on comparison of data for row "
175 +
i +
" column " + j,
176 Integer.toHexString(expectedColumn), Integer.toHexString(actualColumn));
181 int expectedColumn = (Integer)expected[j];
182 int actualColumn = (Integer)actual[j];
184 errorIfNotEqual(where +
" got failure on comparison of data for row "
185 +
i +
" column " + j,
186 Integer.toHexString(expectedColumn), Integer.toHexString(actualColumn));
191 long expectedColumn = (Long)expected[j];
192 long actualColumn = (Long)actual[j];
194 errorIfNotEqual(where +
" got failure on comparison of data for row "
195 +
i +
" column " + j,
196 Long.toHexString(expectedColumn), Long.toHexString(actualColumn));
200 fail(
"Bad value for j: " + j);
206 public void testWriteJDBCReadNDB() {
211 public void testWriteNDBReadJDBC() {
217 public void testWriteNDBReadNDB() {
222 public void testWriteJDBCReadJDBC() {
228 static ColumnDescriptor bit1 =
new ColumnDescriptor
229 (
"bit1",
new InstanceHandler() {
230 public void setFieldValue(IdBase instance, Object value) {
231 ((BitTypes)instance).setBit1((Boolean)value);
233 public Object getFieldValue(IdBase instance) {
234 return ((BitTypes)instance).getBit1();
236 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
237 throws SQLException {
238 preparedStatement.setBoolean(j, (Boolean)value);
240 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
241 String value = rs.getString(j);
242 if (value.length() == 0) {
245 return (Byte.parseByte(value) == 0x01)?Boolean.TRUE:Boolean.FALSE;
249 static ColumnDescriptor bit2 =
new ColumnDescriptor
250 (
"bit2",
new InstanceHandler() {
251 public void setFieldValue(IdBase instance, Object value) {
252 ((BitTypes)instance).setBit2((Byte)value);
254 public Object getFieldValue(IdBase instance) {
255 return (Byte)((BitTypes)instance).getBit2();
257 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
258 throws SQLException {
259 preparedStatement.setByte(j, (Byte)value);
261 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
262 String value = rs.getString(j);
263 if (value.length() == 0) {
266 return Byte.parseByte(value);
270 static ColumnDescriptor bit4 =
new ColumnDescriptor
271 (
"bit4",
new InstanceHandler() {
272 public void setFieldValue(IdBase instance, Object value) {
273 ((BitTypes)instance).setBit4((Short)value);
275 public Object getFieldValue(IdBase instance) {
276 return (Short)((BitTypes)instance).getBit4();
278 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
279 throws SQLException {
280 preparedStatement.setShort(j, (Short)value);
282 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
283 String value = rs.getString(j);
284 if (value.length() == 0) {
287 return Short.parseShort(value);
291 static ColumnDescriptor bit8 =
new ColumnDescriptor
292 (
"bit8",
new InstanceHandler() {
293 public void setFieldValue(IdBase instance, Object value) {
294 ((BitTypes)instance).setBit8((Integer)value);
296 public Object getFieldValue(IdBase instance) {
297 return (Integer)((BitTypes)instance).getBit8();
299 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
300 throws SQLException {
301 preparedStatement.setInt(j, (Integer)value);
303 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
304 String value = rs.getString(j);
305 if (value.length() == 0) {
308 return Integer.parseInt(value) & 0xff;
312 static ColumnDescriptor bit16 =
new ColumnDescriptor
313 (
"bit16",
new InstanceHandler() {
314 public void setFieldValue(IdBase instance, Object value) {
315 ((BitTypes)instance).setBit16((Long)value);
317 public Object getFieldValue(IdBase instance) {
318 return ((BitTypes)instance).getBit16();
320 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
321 throws SQLException {
322 preparedStatement.setLong(j, (Long)value);
324 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
325 String value = rs.getString(j);
326 if (value.length() == 0) {
329 return Long.parseLong(value);
333 static ColumnDescriptor bit32 =
new ColumnDescriptor
334 (
"bit32",
new InstanceHandler() {
335 public void setFieldValue(IdBase instance, Object value) {
336 ((BitTypes)instance).setBit32((Integer)value);
338 public Object getFieldValue(IdBase instance) {
339 return ((BitTypes)instance).getBit32();
341 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
342 throws SQLException {
343 preparedStatement.setInt(j, (Integer)value);
345 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
346 String value = rs.getString(j);
347 if (value.length() == 0) {
350 return Integer.parseInt(value);
354 static ColumnDescriptor bit64 =
new ColumnDescriptor
355 (
"bit64",
new InstanceHandler() {
356 public void setFieldValue(IdBase instance, Object value) {
357 ((BitTypes)instance).setBit64((Long)value);
359 public Object getFieldValue(IdBase instance) {
360 return ((BitTypes)instance).getBit64();
362 public void setPreparedStatementValue(PreparedStatement preparedStatement,
int j, Object value)
363 throws SQLException {
364 preparedStatement.setLong(j, (Long)value);
366 public Object getResultSetValue(ResultSet rs,
int j)
throws SQLException {
367 String value = rs.getString(j);
368 if (value.length() == 0) {
371 return Long.parseLong(value);
375 protected static ColumnDescriptor[] columnDescriptors =
new ColumnDescriptor[] {
387 return columnDescriptors;