private void initBinaryDataFields() throws KettleException { try { data.hasEncoding = !Const.isEmpty(meta.getEncoding()); data.binarySeparator = new byte[] {}; data.binaryEnclosure = new byte[] {}; data.binaryNewline = new byte[] {}; if (data.hasEncoding) { if (!Const.isEmpty(meta.getSeparator())) data.binarySeparator = environmentSubstitute(meta.getSeparator()).getBytes(meta.getEncoding()); if (!Const.isEmpty(meta.getEnclosure())) data.binaryEnclosure = environmentSubstitute(meta.getEnclosure()).getBytes(meta.getEncoding()); if (!Const.isEmpty(meta.getNewline())) data.binaryNewline = meta.getNewline().getBytes(meta.getEncoding()); } else { if (!Const.isEmpty(meta.getSeparator())) data.binarySeparator = environmentSubstitute(meta.getSeparator()).getBytes(); if (!Const.isEmpty(meta.getEnclosure())) data.binaryEnclosure = environmentSubstitute(meta.getEnclosure()).getBytes(); if (!Const.isEmpty(meta.getNewline())) data.binaryNewline = environmentSubstitute(meta.getNewline()).getBytes(); } data.binaryNullValue = new byte[meta.getOutputFields().length][]; for (int i = 0; i < meta.getOutputFields().length; i++) { data.binaryNullValue[i] = null; String nullString = meta.getOutputFields()[i].getNullString(); if (!Const.isEmpty(nullString)) { if (data.hasEncoding) { data.binaryNullValue[i] = nullString.getBytes(meta.getEncoding()); } else { data.binaryNullValue[i] = nullString.getBytes(); } } } } catch (Exception e) { throw new KettleException("Unexpected error while encoding binary fields", e); } }