Author: jukka
Date: Mon Nov 19 15:14:50 2012
New Revision: 1411237
URL: http://svn.apache.org/viewvc?rev=1411237&view=rev
Log:
TIKA-1027: Allow null values when setting metadata
Modified:
tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
Modified:
tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java?rev=1411237&r1=1411236&r2=1411237&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
(original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
Mon Nov 19 15:14:50 2012
@@ -378,16 +378,19 @@ public class Metadata implements Creativ
/**
* Set metadata name/value. Associate the specified value to the specified
- * metadata name. If some previous values were associated to this name,
they
- * are removed.
- *
- * @param name
- * the metadata name.
- * @param value
- * the metadata value.
+ * metadata name. If some previous values were associated to this name,
+ * they are removed. If the given value is <code>null</code>, then the
+ * metadata entry is removed.
+ *
+ * @param name the metadata name.
+ * @param value the metadata value, or <code>null</code>
*/
public void set(String name, String value) {
- metadata.put(name, new String[] { value });
+ if (value != null) {
+ metadata.put(name, new String[] { value });
+ } else {
+ metadata.remove(name);
+ }
}
/**
@@ -485,7 +488,11 @@ public class Metadata implements Creativ
if(property.getPrimaryProperty().getValueType() !=
Property.ValueType.DATE) {
throw new PropertyTypeException(Property.ValueType.DATE,
property.getPrimaryProperty().getValueType());
}
- set(property, formatDate(date));
+ String dateString = null;
+ if (date != null) {
+ dateString = formatDate(date);
+ }
+ set(property, dateString);
}
/**