mirror of https://github.com/apache/nifi.git
NIFI-4617:
- Ensuring a charset is specified when convert a string into bytes. - Ensuring the aggregate snapshot is non null before attempting to promote the runStatus. This closes #2278.
This commit is contained in:
parent
5d643edfab
commit
6b75921725
|
@ -362,7 +362,10 @@ public class StatusMerger {
|
||||||
|
|
||||||
merge(target.getAggregateSnapshot(), targetReadablePermission, toMerge.getAggregateSnapshot(), toMergeReadablePermission);
|
merge(target.getAggregateSnapshot(), targetReadablePermission, toMerge.getAggregateSnapshot(), toMergeReadablePermission);
|
||||||
|
|
||||||
|
// ensure the aggregate snapshot was specified before promoting the runStatus to the status dto
|
||||||
|
if (target.getAggregateSnapshot() != null) {
|
||||||
target.setRunStatus(target.getAggregateSnapshot().getRunStatus());
|
target.setRunStatus(target.getAggregateSnapshot().getRunStatus());
|
||||||
|
}
|
||||||
|
|
||||||
if (target.getNodeSnapshots() != null) {
|
if (target.getNodeSnapshots() != null) {
|
||||||
final NodeProcessorStatusSnapshotDTO nodeSnapshot = new NodeProcessorStatusSnapshotDTO();
|
final NodeProcessorStatusSnapshotDTO nodeSnapshot = new NodeProcessorStatusSnapshotDTO();
|
||||||
|
|
|
@ -17,21 +17,6 @@
|
||||||
|
|
||||||
package org.apache.nifi.csv;
|
package org.apache.nifi.csv;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertNotNull;
|
|
||||||
import static org.junit.Assert.assertNull;
|
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.sql.Date;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
import org.apache.commons.csv.CSVFormat;
|
import org.apache.commons.csv.CSVFormat;
|
||||||
import org.apache.commons.lang3.StringEscapeUtils;
|
import org.apache.commons.lang3.StringEscapeUtils;
|
||||||
import org.apache.nifi.logging.ComponentLog;
|
import org.apache.nifi.logging.ComponentLog;
|
||||||
|
@ -46,6 +31,22 @@ import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.sql.Date;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.TimeZone;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
public class TestCSVRecordReader {
|
public class TestCSVRecordReader {
|
||||||
private final DataType doubleDataType = RecordFieldType.DOUBLE.getDataType();
|
private final DataType doubleDataType = RecordFieldType.DOUBLE.getDataType();
|
||||||
private final CSVFormat format = CSVFormat.DEFAULT.withFirstRecordAsHeader().withTrim().withQuote('"');
|
private final CSVFormat format = CSVFormat.DEFAULT.withFirstRecordAsHeader().withTrim().withQuote('"');
|
||||||
|
@ -71,9 +72,9 @@ public class TestCSVRecordReader {
|
||||||
fields.add(new RecordField("name", RecordFieldType.STRING.getDataType()));
|
fields.add(new RecordField("name", RecordFieldType.STRING.getDataType()));
|
||||||
final RecordSchema schema = new SimpleRecordSchema(fields);
|
final RecordSchema schema = new SimpleRecordSchema(fields);
|
||||||
|
|
||||||
try (final InputStream bais = new ByteArrayInputStream(text.getBytes());
|
try (final InputStream bais = new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8));
|
||||||
final CSVRecordReader reader = new CSVRecordReader(bais, Mockito.mock(ComponentLog.class), schema, format, true, false,
|
final CSVRecordReader reader = new CSVRecordReader(bais, Mockito.mock(ComponentLog.class), schema, format, true, false,
|
||||||
RecordFieldType.DATE.getDefaultFormat(), RecordFieldType.TIME.getDefaultFormat(), RecordFieldType.TIMESTAMP.getDefaultFormat(), "UTF-8")) {
|
RecordFieldType.DATE.getDefaultFormat(), RecordFieldType.TIME.getDefaultFormat(), RecordFieldType.TIMESTAMP.getDefaultFormat(), StandardCharsets.UTF_8.name())) {
|
||||||
|
|
||||||
final Record record = reader.nextRecord();
|
final Record record = reader.nextRecord();
|
||||||
final String name = (String)record.getValue("name");
|
final String name = (String)record.getValue("name");
|
||||||
|
|
Loading…
Reference in New Issue