svn commit: r835667 - /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r835667 - /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java

adrianc
Author: adrianc
Date: Fri Nov 13 00:31:39 2009
New Revision: 835667

URL: http://svn.apache.org/viewvc?rev=835667&view=rev
Log:
Small improvement to the Converters class. A converter is registered only once.

Now client code can create local instances of specific converters without interfering with the operation of the factory method.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java?rev=835667&r1=835666&r2=835667&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java Fri Nov 13 00:31:39 2009
@@ -127,11 +127,13 @@
      */
     public static <S, T> void registerConverter(Converter<S, T> converter) {
         String key = converter.getSourceClass().getName().concat(DELIMITER).concat(converter.getTargetClass().getName());
-        synchronized (converterMap) {
-            converterMap.put(key, converter);
-        }
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("Registered converter " + converter.getClass().getName(), module);
+        if (converterMap.get(key) == null) {
+            synchronized (converterMap) {
+                converterMap.put(key, converter);
+            }
+            if (Debug.verboseOn()) {
+                Debug.logVerbose("Registered converter " + converter.getClass().getName(), module);
+            }
         }
     }