in streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java [147:202]
public String convertResultToString(StreamsDatum entry) {
String metadataJson = null;
try {
metadataJson = MAPPER.writeValueAsString(entry.getMetadata());
} catch (JsonProcessingException ex) {
LOGGER.warn("Error converting metadata to a string", ex);
}
String documentJson = null;
try {
if ( entry.getDocument() instanceof String ) {
documentJson = (String) entry.getDocument();
} else {
documentJson = MAPPER.writeValueAsString(entry.getDocument());
}
} catch (JsonProcessingException ex) {
LOGGER.warn("Error converting document to string", ex);
}
if (StringUtils.isBlank(documentJson)) {
return null;
} else {
StringBuilder stringBuilder = new StringBuilder();
Iterator<String> fields = this.fields.iterator();
List<String> fielddata = new ArrayList<>();
Joiner joiner = Joiner.on(fieldDelimiter).useForNull("");
while( fields.hasNext() ) {
String field = fields.next();
if ( field.equals(FieldConstants.DOC) ) {
fielddata.add(documentJson);
} else if ( field.equals(FieldConstants.ID) ) {
fielddata.add(entry.getId());
} else if ( field.equals(FieldConstants.SEQ) ) {
if (entry.getSequenceid() != null) {
fielddata.add(entry.getSequenceid().toString());
} else {
fielddata.add("null");
}
} else if ( field.equals(FieldConstants.TS) ) {
if (entry.getTimestamp() != null) {
fielddata.add(entry.getTimestamp().toString());
} else {
fielddata.add(DateTime.now().toString());
}
} else if ( field.equals(FieldConstants.META) ) {
fielddata.add(metadataJson);
} else if ( entry.getMetadata().containsKey(field)) {
fielddata.add(entry.getMetadata().get(field).toString());
} else {
fielddata.add(null);
}
}
joiner.appendTo(stringBuilder, fielddata);
return stringBuilder.toString();
}
}