From 5603b0703e9b9f72a5a5da0c8595e96fe1157c43 Mon Sep 17 00:00:00 2001 From: Gustavo Durand Date: Mon, 20 Jun 2016 17:48:24 -0400 Subject: [PATCH] fixed null pointer on optional values for citation (and used functional programming) --- .../java/edu/harvard/iq/dataverse/DataCitation.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/DataCitation.java b/src/main/java/edu/harvard/iq/dataverse/DataCitation.java index 9ee3d0a89f8..b12dd3b63b3 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DataCitation.java +++ b/src/main/java/edu/harvard/iq/dataverse/DataCitation.java @@ -100,9 +100,12 @@ public DataCitation(DatasetVersion dsv) { UNF = dsv.getUNF(); // optional values - for (DatasetFieldType dsfType : dsv.getDataset().getOwner().getCitationDatasetFieldTypes()) { - optionalValues.add(dsv.getDatasetField(dsfType)); - } + dsv.getDataset().getOwner().getCitationDatasetFieldTypes().stream() + .map(dsfType -> dsv.getDatasetField(dsfType)) + .filter(dsf -> dsf != null) + .forEach(dsf -> { + optionalValues.add(dsf); + }); } @@ -166,7 +169,7 @@ public String toString(boolean html) { } else { displayValue = formatString(dsf.getDisplayValue(), html); } - + citation.append(" [").append(dsf.getDatasetFieldType().getDisplayName()).append(":") .append(displayValue) .append("]");