public String getXML() {
    StringBuilder retval = new StringBuilder( 300 );

    retval
      .append( "    " ).append(
        XMLHandler.addTagValue( "connection", databaseMeta == null ? "" : databaseMeta.getName() ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "commit", commitSize ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "bind_size", bindSize ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "read_size", readSize ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "errors", maxErrors ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "schema", schemaName ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "table", tableName ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "load_method", loadMethod ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "load_action", loadAction ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "sqlldr", sqlldr ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "control_file", controlFile ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "data_file", dataFile ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "log_file", logFile ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "bad_file", badFile ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "discard_file", discardFile ) );

    retval.append( "    " ).append( XMLHandler.addTagValue( "direct_path", directPath ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "erase_files", eraseFiles ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "encoding", encoding ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "dbname_override", dbNameOverride ) );

    retval.append( "    " ).append( XMLHandler.addTagValue( "character_set", characterSetName ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "fail_on_warning", failOnWarning ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "fail_on_error", failOnError ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "parallel", parallel ) );
    retval.append( "    " ).append( XMLHandler.addTagValue( "alt_rec_term", altRecordTerm ) );

    for ( int i = 0; i < fieldTable.length; i++ ) {
      retval.append( "      <mapping>" ).append( Const.CR );
      retval.append( "        " ).append( XMLHandler.addTagValue( "stream_name", fieldTable[i] ) );
      retval.append( "        " ).append( XMLHandler.addTagValue( "field_name", fieldStream[i] ) );
      retval.append( "        " ).append( XMLHandler.addTagValue( "date_mask", dateMask[i] ) );
      retval.append( "      </mapping>" ).append( Const.CR );
    }

    return retval.toString();
  }
@Test
  public void testGetXML() {
    OraBulkLoaderMeta oraBulkLoaderMeta = new OraBulkLoaderMeta();
    oraBulkLoaderMeta.setFieldTable( new String[] { "fieldTable1", "fieldTable2" } );
    oraBulkLoaderMeta.setFieldStream( new String[] { "fieldStreamValue1" } );
    oraBulkLoaderMeta.setDateMask( new String[] {} );

    oraBulkLoaderMeta.afterInjectionSynchronization();
    //run without exception
    oraBulkLoaderMeta.getXML();
    Assert.assertEquals( oraBulkLoaderMeta.getFieldStream().length, oraBulkLoaderMeta.getDateMask().length );
  }