You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2011/06/21 14:28:41 UTC

svn commit: r1137976 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java

Author: andygumbrecht
Date: Tue Jun 21 12:28:41 2011
New Revision: 1137976

URL: http://svn.apache.org/viewvc?rev=1137976&view=rev
Log:
Relates to Revision: 1135936 that allows a file:/ URI as the moduleId.
Check for ':' and replace with '_' in parameter values to prevent a MalformedObjectNameException.

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java?rev=1137976&r1=1137975&r2=1137976&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/monitoring/ObjectNameBuilder.java Tue Jun 21 12:28:41 2011
@@ -47,16 +47,24 @@ public class ObjectNameBuilder {
     }
 
     public ObjectName build() {
+
+        StringBuilder sb = new StringBuilder(domain + ":");
+
         try {
-            StringBuilder sb = new StringBuilder(domain + ":");
             for (Map.Entry<String, String> entry : map.entrySet()) {
-                sb.append(entry.getKey()).append("=").append(entry.getValue()).append(",");
+                String sv = entry.getValue();
+
+                if (null != sv) {
+                    sv = sv.replace(':', '_');
+                }
+
+                sb.append(entry.getKey()).append("=").append(sv).append(",");
             }
             sb.deleteCharAt(sb.lastIndexOf(","));
 
             return new ObjectName(sb.toString());
         } catch (MalformedObjectNameException e) {
-            throw new IllegalStateException(e);
+            throw new IllegalStateException("Failed to build valid name for: " + sb.toString(), e);
         }
     }