diff --git a/src/main/java/edu/tamu/scholars/discovery/etl/model/repo/handler/DataHandler.java b/src/main/java/edu/tamu/scholars/discovery/etl/model/repo/handler/DataHandler.java index b0ccff2f0..0cc420fb7 100644 --- a/src/main/java/edu/tamu/scholars/discovery/etl/model/repo/handler/DataHandler.java +++ b/src/main/java/edu/tamu/scholars/discovery/etl/model/repo/handler/DataHandler.java @@ -22,6 +22,7 @@ public void validateBeforeSave(Data data) { public void validateRequiredAttribute(Data data) { // validate data before create or save // validate extractor, transformer, and loader are all compatible + // validate fields descriptor name/reference key do not have conflicting fields } } diff --git a/src/main/java/edu/tamu/scholars/discovery/etl/transform/FlatMapToSolrInputDocumentTransformer.java b/src/main/java/edu/tamu/scholars/discovery/etl/transform/FlatMapToSolrInputDocumentTransformer.java index c83a1c9b8..8be195bd3 100644 --- a/src/main/java/edu/tamu/scholars/discovery/etl/transform/FlatMapToSolrInputDocumentTransformer.java +++ b/src/main/java/edu/tamu/scholars/discovery/etl/transform/FlatMapToSolrInputDocumentTransformer.java @@ -203,6 +203,10 @@ private void processSimpleStructure(DataFieldDescriptor nestedDescriptor, SolrIn private void processSingleValuedNestedReference(Map data, String parentId, DataFieldDescriptor nestedDescriptor, SolrInputDocument childDocument, int depth) { Object nestedObject = data.remove(nestedDescriptor.getName()); + if (nestedObject == null) { + return; + } + String[] nestedParts = NESTED_DELIMITER_PATTERN.split(nestedObject.toString()); if (nestedParts.length > depth) {