Skip to content

Commit afd9ab1

Browse files
committed
Adding null check for XMLStreamWriter.writeCharacters().
1 parent 363e9ea commit afd9ab1

File tree

6 files changed

+40
-20
lines changed

6 files changed

+40
-20
lines changed

marklogic-client-api/src/main/java/com/marklogic/client/alerting/RuleDefinition.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,8 @@ public void write(OutputStream out) throws IOException {
255255

256256
serializer.writeStartElement(RequestConstants.RESTAPI_PREFIX,
257257
"name", RequestConstants.RESTAPI_NS);
258-
serializer.writeCharacters(getName());
258+
if(getName() != null)
259+
serializer.writeCharacters(getName());
259260
serializer.writeEndElement();
260261

261262
serializer.writeStartElement(RequestConstants.RESTAPI_PREFIX,
@@ -471,7 +472,8 @@ public void process(Object original, String type, String value) {
471472
serializer.writeAttribute("xsi",
472473
XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type",
473474
type);
474-
serializer.writeCharacters(value);
475+
if(value != null)
476+
serializer.writeCharacters(value);
475477
} catch (XMLStreamException e) {
476478
throw new MarkLogicIOException(e);
477479
}

marklogic-client-api/src/main/java/com/marklogic/client/example/util/Bootstrapper.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,8 @@ public String toXMLString()
439439
writer.writeDefaultNamespace("http://marklogic.com/rest-api");
440440

441441
writer.writeStartElement("name");
442-
writer.writeCharacters(server);
442+
if(server != null)
443+
writer.writeCharacters(server);
443444
writer.writeEndElement();
444445

445446
if (group != null && group.length() > 0) {
@@ -449,7 +450,8 @@ public String toXMLString()
449450
}
450451

451452
writer.writeStartElement("database");
452-
writer.writeCharacters(database);
453+
if(database != null)
454+
writer.writeCharacters(database);
453455
writer.writeEndElement();
454456

455457
if (modulesDatabase != null && modulesDatabase.length() > 0) {
@@ -459,7 +461,8 @@ public String toXMLString()
459461
}
460462

461463
writer.writeStartElement("port");
462-
writer.writeCharacters(String.valueOf(port));
464+
if(String.valueOf(port) != null)
465+
writer.writeCharacters(String.valueOf(port));
463466
writer.writeEndElement();
464467

465468
writer.writeEndElement();

marklogic-client-api/src/main/java/com/marklogic/client/impl/DOMWriter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ public void serializeAttributes(NamedNodeMap attributes) throws XMLStreamExcepti
136136
}
137137
}
138138
public void serializeText(Text text) throws XMLStreamException {
139-
serializer.writeCharacters(text.getData());
139+
if(text != null && text.getData() != null)
140+
serializer.writeCharacters(text.getData());
140141
}
141142
public void serializeCDATASection(CDATASection cdata) throws XMLStreamException {
142143
serializer.writeCData(cdata.getData());

marklogic-client-api/src/main/java/com/marklogic/client/impl/DocumentMetadataPatchBuilderImpl.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,8 @@ public void process(Object original, String type, String value) {
329329
serializer.writeNamespace("xs", XMLConstants.W3C_XML_SCHEMA_NS_URI);
330330
serializer.writeAttribute(
331331
"xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type", type);
332-
serializer.writeCharacters(value);
332+
if(value != null)
333+
serializer.writeCharacters(value);
333334
} catch(XMLStreamException e) {
334335
throw new MarkLogicIOException(e);
335336
}
@@ -357,7 +358,8 @@ public void write(XMLOutputSerializer out) throws Exception {
357358
XMLStreamWriter serializer = out.getSerializer();
358359
writeStartInsert(out, "/rapi:metadata/rapi:collections", "last-child", null);
359360
serializer.writeStartElement("rapi", "collection", REST_API_NS);
360-
serializer.writeCharacters(collection);
361+
if(collection != null)
362+
serializer.writeCharacters(collection);
361363
serializer.writeEndElement();
362364
serializer.writeEndElement();
363365
}
@@ -416,7 +418,8 @@ public void write(XMLOutputSerializer out) throws Exception {
416418
null
417419
);
418420
serializer.writeStartElement("rapi", "collection", REST_API_NS);
419-
serializer.writeCharacters(newCollection);
421+
if(newCollection != null)
422+
serializer.writeCharacters(newCollection);
420423
serializer.writeEndElement();
421424
serializer.writeEndElement();
422425
}
@@ -458,7 +461,8 @@ public void write(XMLOutputSerializer out) throws Exception {
458461
serializer.writeStartElement("rapi", "permission", REST_API_NS);
459462

460463
serializer.writeStartElement("rapi", "role-name", REST_API_NS);
461-
serializer.writeCharacters(role);
464+
if(role != null)
465+
serializer.writeCharacters(role);
462466
serializer.writeEndElement();
463467

464468
for (Capability capability: capabilities) {
@@ -542,7 +546,8 @@ public void write(XMLOutputSerializer out) throws Exception {
542546
serializer.writeStartElement("rapi", "permission", REST_API_NS);
543547

544548
serializer.writeStartElement("rapi", "role-name", REST_API_NS);
545-
serializer.writeCharacters(newRole);
549+
if(newRole != null)
550+
serializer.writeCharacters(newRole);
546551
serializer.writeEndElement();
547552

548553
for (Capability capability: newCapabilities) {
@@ -752,7 +757,8 @@ public void write(JSONStringWriter serializer) {
752757
public void write(XMLOutputSerializer out) throws Exception {
753758
XMLStreamWriter serializer = out.getSerializer();
754759
writeStartReplace(out, "/rapi:metadata/rapi:quality", null);
755-
serializer.writeCharacters(String.valueOf(quality));
760+
if(String.valueOf(quality) != null)
761+
serializer.writeCharacters(String.valueOf(quality));
756762
serializer.writeEndElement();
757763
}
758764
}
@@ -788,7 +794,8 @@ public void write(XMLOutputSerializer out) throws Exception {
788794

789795
serializer.writeStartElement("rapi", "metadata-value", REST_API_NS);
790796
serializer.writeAttribute("key", key);
791-
serializer.writeCharacters(value);
797+
if(value != null)
798+
serializer.writeCharacters(value);
792799
serializer.writeEndElement();
793800

794801
serializer.writeEndElement();
@@ -855,7 +862,8 @@ public void write(XMLOutputSerializer out) throws Exception {
855862
);
856863
serializer.writeStartElement("rapi", "metadata-value", REST_API_NS);
857864
serializer.writeAttribute("key", key);
858-
serializer.writeCharacters(value);
865+
if(value != null)
866+
serializer.writeCharacters(value);
859867
serializer.writeEndElement();
860868

861869
serializer.writeEndElement();

marklogic-client-api/src/main/java/com/marklogic/client/impl/DocumentPatchBuilderImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ public void write(XMLOutputSerializer out) throws Exception {
128128
serializer.flush();
129129
out.getWriter().write(inputAsString);
130130
} else {
131-
serializer.writeCharacters(inputAsString);
131+
if(inputAsString != null)
132+
serializer.writeCharacters(inputAsString);
132133
}
133134
serializer.writeEndElement();
134135
}

marklogic-client-api/src/main/java/com/marklogic/client/io/DocumentMetadataHandle.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,8 @@ private void sendMetadataValuesImpl(XMLStreamWriter serializer) throws XMLStream
812812
for (Map.Entry<String, String> value : getMetadataValues().entrySet()) {
813813
serializer.writeStartElement("rapi", "metadata-value", REST_API_NS);
814814
serializer.writeAttribute("key", value.getKey());
815-
serializer.writeCharacters(value.getValue());
815+
if(value.getValue() != null)
816+
serializer.writeCharacters(value.getValue());
816817
serializer.writeEndElement();
817818
}
818819

@@ -825,7 +826,8 @@ private void sendCollectionsImpl(XMLStreamWriter serializer) throws XMLStreamExc
825826

826827
for (String collection: getCollections()) {
827828
serializer.writeStartElement("rapi", "collection", REST_API_NS);
828-
serializer.writeCharacters(collection);
829+
if(collection != null)
830+
serializer.writeCharacters(collection);
829831
serializer.writeEndElement();
830832
}
831833

@@ -839,7 +841,8 @@ private void sendPermissionsImpl(XMLStreamWriter serializer) throws XMLStreamExc
839841
serializer.writeStartElement("rapi", "permission", REST_API_NS);
840842

841843
serializer.writeStartElement("rapi", "role-name", REST_API_NS);
842-
serializer.writeCharacters(permission.getKey());
844+
if(permission.getKey() != null)
845+
serializer.writeCharacters(permission.getKey());
843846
serializer.writeEndElement();
844847

845848
for (Capability capability: permission.getValue()) {
@@ -897,7 +900,8 @@ private void sendPropertiesImpl(final XMLStreamWriter serializer) throws XMLStre
897900
private void sendQualityImpl(XMLStreamWriter serializer) throws XMLStreamException {
898901
if ( qualityModified == false ) return;
899902
serializer.writeStartElement("rapi", "quality", REST_API_NS);
900-
serializer.writeCharacters(String.valueOf(getQuality()));
903+
if(String.valueOf(getQuality()) != null)
904+
serializer.writeCharacters(String.valueOf(getQuality()));
901905
serializer.writeEndElement();
902906
}
903907
static private class ValueSerializer implements ValueConverter.ValueProcessor {
@@ -913,7 +917,8 @@ public void process(Object original, String type, String value) {
913917
try {
914918
serializer.writeAttribute(
915919
"xsi", XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type", type);
916-
serializer.writeCharacters(value);
920+
if(value != null)
921+
serializer.writeCharacters(value);
917922
} catch(XMLStreamException e) {
918923
throw new MarkLogicIOException(e);
919924
}

0 commit comments

Comments
 (0)