System information

Appendix D. JAVA Example Code
D-12
static void ParseTblDefs()
{
try
{
int logger_resp = in_packet.read_byte();
if(logger_resp == 0)
{
int returned_offset = in_packet.read_int();
byte[] fragment = in_packet.read_bytes(in_packet.whats_left());
if(table_defs_buffer == null)
table_defs_buffer = new Packet();
table_defs_buffer.add_bytes(fragment,fragment.length);
file_offset += fragment.length;
if(fragment.length == 128)
{
System.out.println("ParseTableDefs received fragment offset
" + file_offset);
CreateTableDef();
SendPb();
}
else
{
// verify the FSL file version
int fsl_version = table_defs_buffer.read_byte();
System.out.println("ParseTableDefs received complete file");
if(fsl_version != 1)
throw new Exception("Invalid final storage labels version
" + fsl_version);
// now attempt to read each table definition
// from the buffer
int table_no = 1;
table_defs.clear();
while(table_defs_buffer.whats_left() > 0)
{
TableDef table_def = new
TableDef(table_no,table_defs_buffer);
System.out.println(
"Read def for table " + table_def.table_name + ", " +
table_no);
table_defs.addElement(table_def);
++table_no;
}
}
}
else
System.out.println("ParseTableDefs error: " + logger_resp);
}
catch(Exception e)
{
System.out.println("Parse Table Defs Exception: " + e.toString());
}
}