diff --git a/app/views/TableRow.java b/app/views/TableRow.java index ee24988..714e508 100644 --- a/app/views/TableRow.java +++ b/app/views/TableRow.java @@ -111,19 +111,21 @@ public String process(JsonNode doc, String property, String param, private String label(JsonNode doc, String value, List properties) { List results = new ArrayList<>(); List resultValues = labelsFor(doc, value, properties); - JsonNode labelNode = doc.get(properties.get(0)).iterator().next().get("label"); - for (int i = 0; i < resultValues.size(); i++) { - String currentValue = resultValues.get(i); - String[] refAndLabel = - refAndLabel(properties.get(i), currentValue, Optional.empty()); - String label = labelNode != null ? labelNode.textValue() : refAndLabel[1]; - String result = - properties.get(i).equals("numbering") || value.equals("--") - ? currentValue - : String.format( - "%s", - refAndLabel[0], label); - results.add(result.replace("Band", "").trim()); + if (doc.get(properties.get(0)) != null) { + JsonNode labelNode = doc.get(properties.get(0)).iterator().next().get("label"); + for (int i = 0; i < resultValues.size(); i++) { + String currentValue = resultValues.get(i); + String[] refAndLabel = + refAndLabel(properties.get(i), currentValue, Optional.empty()); + String label = labelNode != null ? labelNode.textValue() : refAndLabel[1]; + String result = + properties.get(i).equals("numbering") || value.equals("--") + ? currentValue + : String.format( + "%s", + refAndLabel[0], label); + results.add(result.replace("Band", "").trim()); + } } return results.stream().collect(Collectors.joining(", Band ")); } @@ -131,7 +133,7 @@ private String label(JsonNode doc, String value, List properties) { private List labelsFor(JsonNode doc, String value, List keys) { List result = new ArrayList<>(); - if (doc != null) { + if (doc != null && doc.get(keys.get(0)) != null) { JsonNode node = doc.get(keys.get(0)).iterator().next(); JsonNode id = node.get("id"); JsonNode label = node.get("label");