log("Test File: " + testFile, Project.MSG_INFO);
try {
String line_separator = System.getProperty("line.separator");
VariableSizeWriter writer = new VariableSizeWriter(new FileWriter(testFile), 1000);
writer.writeString(response.getCode(), CODE_LENGTH);
writer.writeString(line_separator, line_separator.length());
writer.writeNumeric(response.getVersion(), VERSION_LENGTH);
writer.writeString(line_separator, line_separator.length());
if (response.getGroupField() == null) {
writer.writeNumeric(RESPONSE_CODE_LENGTH + response.getFieldsLength(), DATA_LENGTH_LENGTH);
} else {
int hasMoreEntriesSize = response.getHasMoreEntriesFlag() ? MORE_ENTRIES_FLAG_LENGTH : 0;
writer.writeNumeric(RESPONSE_CODE_LENGTH +
response.getFieldsLength() +
String.valueOf(response.getGroupField().getMaxOccurs()).length() +
hasMoreEntriesSize +
response.getGroupField().getBlockLength(),
DATA_LENGTH_LENGTH);
}
writer.writeString(line_separator, line_separator.length());
writer.writeNumeric("0", RESPONSE_CODE_LENGTH);
writer.writeString(line_separator, line_separator.length());
writeFields(writer, response.getFields());
if (response.getGroupField() != null) {
writer.writeNumeric("1", String.valueOf(response.getGroupField().getMaxOccurs()).length()); // num. ocorr�ncias
writer.writeString(line_separator, line_separator.length());
if (response.getGroupField().getHasMoreEntriesFlag()) {
writer.writeString("N", MORE_ENTRIES_FLAG_LENGTH); // num. ocorr�ncias
writer.writeString(line_separator, line_separator.length());
}
writeFields(writer, response.getGroupField().getFields());
}
writer.close();
} catch (IOException e) {
System.out.println("Could not create test file: " + testFile + " (" + e + ")");
}