Please... please... please... put more context into the commit log.
"MapEditor does not work" tells me nothing about what was actually
changed. When auditing changes it helps to have some context to the
change in the commit log so that its easy to comprehend what the
change was, with out having to dig around, or bounce into JIRA, etc.
I've mentioned this a few times before... while its is good to
include the JIRA issue ID, only including that ID, or in this case
the ID and the issue subject, in the SVN commit message is not
sufficient.
Please... please... please... try to put some more meaningful context
into commit messages.
Thanks,
--jason
On Nov 27, 2006, at 2:54 AM, [EMAIL PROTECTED] wrote:
Author: vamsic007
Date: Mon Nov 27 02:54:38 2006
New Revision: 479586
URL: http://svn.apache.org/viewvc?view=rev&rev=479586
Log:
GERONIMO-2458 MapEditor does not work
Modified:
geronimo/server/trunk/modules/geronimo-common/src/main/java/org/
apache/geronimo/common/propertyeditor/MapEditor.java
Modified: geronimo/server/trunk/modules/geronimo-common/src/main/
java/org/apache/geronimo/common/propertyeditor/MapEditor.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
geronimo-common/src/main/java/org/apache/geronimo/common/
propertyeditor/MapEditor.java?view=diff&rev=479586&r1=479585&r2=479586
======================================================================
========
--- geronimo/server/trunk/modules/geronimo-common/src/main/java/org/
apache/geronimo/common/propertyeditor/MapEditor.java (original)
+++ geronimo/server/trunk/modules/geronimo-common/src/main/java/org/
apache/geronimo/common/propertyeditor/MapEditor.java Mon Nov 27
02:54:38 2006
@@ -19,17 +19,22 @@
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.util.Iterator;
import java.util.Properties;
import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
/**
- * A property editor for [EMAIL PROTECTED] java.util.Properties}.
+ * A property editor for [EMAIL PROTECTED] java.util.Map}.
*
* @version $Rev$ $Date$
*/
public class MapEditor
extends TextPropertyEditorSupport
{
+ private static final Log log = LogFactory.getLog
(MapEditor.class);
/**
*
* @throws PropertyEditorException An IOException occured.
@@ -50,11 +55,30 @@
Map map = (Map) getValue();
if (!(map instanceof Properties)) {
Properties p = new Properties();
- if (map != null) {
- p.putAll(map);
+ if(map != null) {
+ if(!map.containsKey(null) && !map.containsValue
(null)) {
+ p.putAll(map);
+ } else {
+ // Map contains null keys or values. Replace
null with empty string.
+ log.warn("Map contains null keys or values.
Replacing null values with empty string.");
+ for(Iterator itr = map.entrySet().iterator();
itr.hasNext(); ) {
+ Map.Entry entry = (Map.Entry) itr.next();
+ Object key = entry.getKey();
+ Object value = entry.getValue();
+ if(key == null) {
+ key = "";
+ }
+ if(value == null) {
+ value = "";
+ }
+ p.put(key, value);
+ }
+ }
+ map = p;
}
- map = p;
}
- return map.toString();
+ PropertiesEditor pe = new PropertiesEditor();
+ pe.setValue(map);
+ return pe.getAsText();
}
}