Skip to content

Commit aff6887

Browse files
authored
Merge pull request #486 from marklogic/feature/and-more-polaris
Another batch of Polaris fixes
2 parents cd0cfac + 4104d5b commit aff6887

File tree

5 files changed

+15
-7
lines changed

5 files changed

+15
-7
lines changed

marklogic-spark-api/src/main/java/com/marklogic/spark/core/extraction/TikaTextExtractor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class TikaTextExtractor implements TextExtractor {
2626

2727
@Override
2828
public Optional<ExtractionResult> extractText(DocumentInputs inputs) {
29+
Objects.requireNonNull(inputs);
2930
if (inputs.getContent() == null) {
3031
return Optional.empty();
3132
}

marklogic-spark-connector/src/main/java/com/marklogic/spark/reader/document/DocumentRowSchema.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,9 @@ private static void addPermissionsToMetadata(InternalRow row, DocumentMetadataHa
9393
ArrayData caps = capabilities.getArray(i);
9494
DocumentMetadataHandle.Capability[] capArray = new DocumentMetadataHandle.Capability[caps.numElements()];
9595
for (int j = 0; j < caps.numElements(); j++) {
96-
String value = caps.get(j, DataTypes.StringType).toString();
97-
capArray[j] = DocumentMetadataHandle.Capability.valueOf(value.toUpperCase());
96+
Object value = caps.get(j, DataTypes.StringType);
97+
Objects.requireNonNull(value);
98+
capArray[j] = DocumentMetadataHandle.Capability.valueOf(value.toString().toUpperCase());
9899
}
99100
metadata.getPermissions().add(role, capArray);
100101
}
@@ -118,9 +119,11 @@ private static void addMetadataValuesToMetadata(InternalRow row, DocumentMetadat
118119
ArrayData keys = properties.keyArray();
119120
ArrayData values = properties.valueArray();
120121
for (int i = 0; i < keys.numElements(); i++) {
121-
String key = keys.get(i, DataTypes.StringType).toString();
122-
String value = values.get(i, DataTypes.StringType).toString();
123-
metadata.getMetadataValues().put(key, value);
122+
Object key = keys.get(i, DataTypes.StringType);
123+
Object value = values.get(i, DataTypes.StringType);
124+
if (key != null && value != null) {
125+
metadata.getMetadataValues().put(key.toString(), value.toString());
126+
}
124127
}
125128
}
126129
}

marklogic-spark-connector/src/main/java/com/marklogic/spark/reader/document/OpticTriplesReader.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ private void readNextBatchOfTriples(List<String> uris) {
112112
.where(op.cts.documentQuery(op.xs.stringSeq(uris.toArray(new String[0]))));
113113

114114
if (documentContext.hasOption(Options.READ_TRIPLES_GRAPHS)) {
115-
String[] graphs = documentContext.getStringOption(Options.READ_TRIPLES_GRAPHS).split(",");
115+
String value = documentContext.getStringOption(Options.READ_TRIPLES_GRAPHS);
116+
Objects.requireNonNull(value);
117+
String[] graphs = value.split(",");
116118
plan = plan.where(op.in(op.col(GRAPH_COLUMN), op.xs.stringSeq(graphs)));
117119
}
118120

marklogic-spark-connector/src/main/java/com/marklogic/spark/writer/WriteContext.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ private void forEachOptionStartingWith(final String prefix, BiConsumer<String, S
166166
public Format getDocumentFormat() {
167167
if (hasOption(Options.WRITE_DOCUMENT_TYPE)) {
168168
String value = getStringOption(Options.WRITE_DOCUMENT_TYPE);
169+
Objects.requireNonNull(value);
169170
try {
170171
return Format.valueOf(value.toUpperCase());
171172
} catch (IllegalArgumentException e) {

marklogic-spark-connector/src/main/java/com/marklogic/spark/writer/file/ContentWriter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class ContentWriter {
6767
}
6868

6969
void writeContent(InternalRow row, OutputStream outputStream) throws IOException {
70+
Objects.requireNonNull(outputStream);
7071
if (this.isStreamingFiles) {
7172
streamDocumentToFile(row, outputStream);
7273
} else if (this.prettyPrint) {
@@ -146,10 +147,10 @@ private void prettyPrintContent(InternalRow row, OutputStream outputStream) thro
146147
} else if ("XML".equalsIgnoreCase(format)) {
147148
prettyPrintXml(content, outputStream);
148149
} else {
150+
Objects.requireNonNull(content);
149151
if (this.encoding != null) {
150152
outputStream.write(new String(content).getBytes(this.encoding));
151153
} else {
152-
Objects.requireNonNull(content);
153154
outputStream.write(content);
154155
}
155156
}

0 commit comments

Comments
 (0)