You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/02/04 10:32:24 UTC
[1/2] git commit: CAMEL-7164: Expose more information in JMX for type
converter registry.
Updated Branches:
refs/heads/camel-2.12.x b0adea066 -> a5af43c13
refs/heads/master 6733d2120 -> d4059b2d9
CAMEL-7164: Expose more information in JMX for type converter registry.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d4059b2d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d4059b2d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d4059b2d
Branch: refs/heads/master
Commit: d4059b2d9a71b544facd9b7ef5ed5edfcbcee125
Parents: 6733d21
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Feb 4 10:32:48 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Feb 4 10:32:48 2014 +0100
----------------------------------------------------------------------
.../management/mbean/CamelOpenMBeanTypes.java | 42 ++++++++++++++++++++
.../ManagedTypeConverterRegistryMBean.java | 5 +++
.../converter/BaseTypeConverterRegistry.java | 8 ++++
.../mbean/ManagedTypeConverterRegistry.java | 24 +++++++++++
.../apache/camel/spi/TypeConverterRegistry.java | 11 +++++
.../ManagedTypeConverterRegistryTest.java | 5 +++
.../camel/core/osgi/OsgiTypeConverter.java | 5 +++
.../osgi/test/MockTypeConverterRegistry.java | 4 ++
8 files changed, 104 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
new file mode 100644
index 0000000..6cbdb30
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.api.management.mbean;
+
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenDataException;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+import javax.management.openmbean.TabularType;
+
+/**
+ * Various JMX openmbean types used by Camel.
+ */
+public final class CamelOpenMBeanTypes {
+
+ private CamelOpenMBeanTypes() {
+ }
+
+ public static TabularType listTypeConvertersTabularType() throws OpenDataException {
+ CompositeType ct = listTypeConvertersCompositeType();
+ return new TabularType("listTypeConverters", "Lists all the type converters in the registry (from -> to)", ct, new String[]{"from", "to"});
+ }
+
+ public static CompositeType listTypeConvertersCompositeType() throws OpenDataException {
+ return new CompositeType("types", "From/To types", new String[]{"from", "to"},
+ new String[]{"From type", "To type"}, new OpenType[]{SimpleType.STRING, SimpleType.STRING});
+ }
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
index 89070de..650b62c 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
@@ -16,6 +16,8 @@
*/
package org.apache.camel.api.management.mbean;
+import javax.management.openmbean.TabularData;
+
import org.apache.camel.api.management.ManagedAttribute;
import org.apache.camel.api.management.ManagedOperation;
@@ -48,4 +50,7 @@ public interface ManagedTypeConverterRegistryMBean extends ManagedServiceMBean {
@ManagedOperation(description = "Checks whether a type converter exists for converting (from -> to)")
boolean hasTypeConverter(String fromType, String toType);
+ @ManagedOperation(description = "Lists all the type converters in the registry (from -> to)")
+ TabularData listTypeConverters();
+
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
index 0c726d2..5443e75 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
@@ -513,6 +513,14 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
return null;
}
+ public List<Class[]> listAllTypeConvertersFromTo() {
+ List<Class[]> answer = new ArrayList<Class[]>(typeMappings.size());
+ for (TypeMapping mapping : typeMappings.keySet()) {
+ answer.add(new Class[]{mapping.getFromType(), mapping.getToType()});
+ }
+ return answer;
+ }
+
/**
* Loads the core type converters which is mandatory to use Camel
*/
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
index 1a735d8..f4e4bc3 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
@@ -16,8 +16,16 @@
*/
package org.apache.camel.management.mbean;
+import java.util.List;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.TabularData;
+import javax.management.openmbean.TabularDataSupport;
+
import org.apache.camel.CamelContext;
import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.CamelOpenMBeanTypes;
import org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean;
import org.apache.camel.spi.TypeConverterRegistry;
import org.apache.camel.util.ObjectHelper;
@@ -81,4 +89,20 @@ public class ManagedTypeConverterRegistry extends ManagedService implements Mana
}
}
+ public TabularData listTypeConverters() {
+ try {
+ TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTypeConvertersTabularType());
+ List<Class[]> converters = registry.listAllTypeConvertersFromTo();
+ for (Class[] entry : converters) {
+ CompositeType ct = CamelOpenMBeanTypes.listTypeConvertersCompositeType();
+ String from = entry[0].getCanonicalName();
+ String to = entry[1].getCanonicalName();
+ CompositeData data = new CompositeDataSupport(ct, new String[]{"from", "to"}, new Object[]{from, to});
+ answer.put(data);
+ }
+ return answer;
+ } catch (Exception e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
index b56d40f..3896fbc 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
@@ -16,8 +16,12 @@
*/
package org.apache.camel.spi;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.camel.StaticService;
import org.apache.camel.TypeConverter;
+import org.apache.camel.util.KeyValueHolder;
/**
* Registry for type converters.
@@ -108,6 +112,13 @@ public interface TypeConverterRegistry extends StaticService {
TypeConverter lookup(Class<?> toType, Class<?> fromType);
/**
+ * Gets a read-only list of the type converter from / to classes
+ *
+ * @return a list containing fromType/toType class names
+ */
+ List<Class[]> listAllTypeConvertersFromTo();
+
+ /**
* Sets the injector to be used for creating new instances during type conversions.
*
* @param injector the injector
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
index c2b6a32..e93d0d0 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
@@ -20,6 +20,7 @@ import java.util.Set;
import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import javax.management.openmbean.TabularData;
import org.apache.camel.builder.RouteBuilder;
@@ -98,6 +99,10 @@ public class ManagedTypeConverterRegistryTest extends ManagementTestSupport {
has = (Boolean) mbeanServer.invoke(name, "hasTypeConverter", new Object[]{"java.math.BigInteger", "int"}, new String[]{"java.lang.String", "java.lang.String"});
assertFalse("Should not have type converter", has.booleanValue());
+
+ // we have more than 150 converters out of the box
+ TabularData data = (TabularData) mbeanServer.invoke(name, "listTypeConverters", null, null);
+ assertTrue("Should be more than 150 converters, was: " + data.size(), data.size() >= 150);
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
index a9a3810..e5452fe 100644
--- a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
+++ b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
@@ -17,6 +17,7 @@
package org.apache.camel.core.osgi;
import java.util.Collections;
+import java.util.List;
import java.util.Set;
import org.apache.camel.Exchange;
@@ -139,6 +140,10 @@ public class OsgiTypeConverter extends ServiceSupport implements TypeConverter,
return getDelegate().lookup(toType, fromType);
}
+ public List<Class[]> listAllTypeConvertersFromTo() {
+ return getDelegate().listAllTypeConvertersFromTo();
+ }
+
public void setInjector(Injector injector) {
getDelegate().setInjector(injector);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/d4059b2d/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
index d43bc9d..45ef590 100644
--- a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
+++ b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
@@ -52,6 +52,10 @@ public class MockTypeConverterRegistry implements TypeConverterRegistry {
return null;
}
+ public List<Class[]> listAllTypeConvertersFromTo() {
+ return null;
+ }
+
public void setInjector(Injector injector) {
// do nothing
}
[2/2] git commit: CAMEL-7164: Expose more information in JMX for type
converter registry.
Posted by da...@apache.org.
CAMEL-7164: Expose more information in JMX for type converter registry.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a5af43c1
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a5af43c1
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a5af43c1
Branch: refs/heads/camel-2.12.x
Commit: a5af43c139cea27be3d0f5acc325d2088e1d2f12
Parents: b0adea0
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Feb 4 10:32:48 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Feb 4 10:33:12 2014 +0100
----------------------------------------------------------------------
.../management/mbean/CamelOpenMBeanTypes.java | 42 ++++++++++++++++++++
.../ManagedTypeConverterRegistryMBean.java | 5 +++
.../converter/BaseTypeConverterRegistry.java | 8 ++++
.../mbean/ManagedTypeConverterRegistry.java | 24 +++++++++++
.../apache/camel/spi/TypeConverterRegistry.java | 11 +++++
.../ManagedTypeConverterRegistryTest.java | 5 +++
.../camel/core/osgi/OsgiTypeConverter.java | 5 +++
.../osgi/test/MockTypeConverterRegistry.java | 4 ++
8 files changed, 104 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
new file mode 100644
index 0000000..6cbdb30
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.api.management.mbean;
+
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenDataException;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+import javax.management.openmbean.TabularType;
+
+/**
+ * Various JMX openmbean types used by Camel.
+ */
+public final class CamelOpenMBeanTypes {
+
+ private CamelOpenMBeanTypes() {
+ }
+
+ public static TabularType listTypeConvertersTabularType() throws OpenDataException {
+ CompositeType ct = listTypeConvertersCompositeType();
+ return new TabularType("listTypeConverters", "Lists all the type converters in the registry (from -> to)", ct, new String[]{"from", "to"});
+ }
+
+ public static CompositeType listTypeConvertersCompositeType() throws OpenDataException {
+ return new CompositeType("types", "From/To types", new String[]{"from", "to"},
+ new String[]{"From type", "To type"}, new OpenType[]{SimpleType.STRING, SimpleType.STRING});
+ }
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
index 89070de..650b62c 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTypeConverterRegistryMBean.java
@@ -16,6 +16,8 @@
*/
package org.apache.camel.api.management.mbean;
+import javax.management.openmbean.TabularData;
+
import org.apache.camel.api.management.ManagedAttribute;
import org.apache.camel.api.management.ManagedOperation;
@@ -48,4 +50,7 @@ public interface ManagedTypeConverterRegistryMBean extends ManagedServiceMBean {
@ManagedOperation(description = "Checks whether a type converter exists for converting (from -> to)")
boolean hasTypeConverter(String fromType, String toType);
+ @ManagedOperation(description = "Lists all the type converters in the registry (from -> to)")
+ TabularData listTypeConverters();
+
}
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
index 0c726d2..5443e75 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
@@ -513,6 +513,14 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
return null;
}
+ public List<Class[]> listAllTypeConvertersFromTo() {
+ List<Class[]> answer = new ArrayList<Class[]>(typeMappings.size());
+ for (TypeMapping mapping : typeMappings.keySet()) {
+ answer.add(new Class[]{mapping.getFromType(), mapping.getToType()});
+ }
+ return answer;
+ }
+
/**
* Loads the core type converters which is mandatory to use Camel
*/
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
index 1a735d8..f4e4bc3 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTypeConverterRegistry.java
@@ -16,8 +16,16 @@
*/
package org.apache.camel.management.mbean;
+import java.util.List;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.TabularData;
+import javax.management.openmbean.TabularDataSupport;
+
import org.apache.camel.CamelContext;
import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.CamelOpenMBeanTypes;
import org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean;
import org.apache.camel.spi.TypeConverterRegistry;
import org.apache.camel.util.ObjectHelper;
@@ -81,4 +89,20 @@ public class ManagedTypeConverterRegistry extends ManagedService implements Mana
}
}
+ public TabularData listTypeConverters() {
+ try {
+ TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listTypeConvertersTabularType());
+ List<Class[]> converters = registry.listAllTypeConvertersFromTo();
+ for (Class[] entry : converters) {
+ CompositeType ct = CamelOpenMBeanTypes.listTypeConvertersCompositeType();
+ String from = entry[0].getCanonicalName();
+ String to = entry[1].getCanonicalName();
+ CompositeData data = new CompositeDataSupport(ct, new String[]{"from", "to"}, new Object[]{from, to});
+ answer.put(data);
+ }
+ return answer;
+ } catch (Exception e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java b/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
index b56d40f..3896fbc 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/TypeConverterRegistry.java
@@ -16,8 +16,12 @@
*/
package org.apache.camel.spi;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.camel.StaticService;
import org.apache.camel.TypeConverter;
+import org.apache.camel.util.KeyValueHolder;
/**
* Registry for type converters.
@@ -108,6 +112,13 @@ public interface TypeConverterRegistry extends StaticService {
TypeConverter lookup(Class<?> toType, Class<?> fromType);
/**
+ * Gets a read-only list of the type converter from / to classes
+ *
+ * @return a list containing fromType/toType class names
+ */
+ List<Class[]> listAllTypeConvertersFromTo();
+
+ /**
* Sets the injector to be used for creating new instances during type conversions.
*
* @param injector the injector
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
index bc9e1e4..0af9503 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedTypeConverterRegistryTest.java
@@ -20,6 +20,7 @@ import java.util.Set;
import javax.management.Attribute;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import javax.management.openmbean.TabularData;
import org.apache.camel.builder.RouteBuilder;
@@ -98,6 +99,10 @@ public class ManagedTypeConverterRegistryTest extends ManagementTestSupport {
has = (Boolean) mbeanServer.invoke(name, "hasTypeConverter", new Object[]{"java.math.BigInteger", "int"}, new String[]{"java.lang.String", "java.lang.String"});
assertFalse("Should not have type converter", has.booleanValue());
+
+ // we have more than 150 converters out of the box
+ TabularData data = (TabularData) mbeanServer.invoke(name, "listTypeConverters", null, null);
+ assertTrue("Should be more than 150 converters, was: " + data.size(), data.size() >= 150);
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
index a9a3810..e5452fe 100644
--- a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
+++ b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
@@ -17,6 +17,7 @@
package org.apache.camel.core.osgi;
import java.util.Collections;
+import java.util.List;
import java.util.Set;
import org.apache.camel.Exchange;
@@ -139,6 +140,10 @@ public class OsgiTypeConverter extends ServiceSupport implements TypeConverter,
return getDelegate().lookup(toType, fromType);
}
+ public List<Class[]> listAllTypeConvertersFromTo() {
+ return getDelegate().listAllTypeConvertersFromTo();
+ }
+
public void setInjector(Injector injector) {
getDelegate().setInjector(injector);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/a5af43c1/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
index d43bc9d..45ef590 100644
--- a/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
+++ b/components/camel-core-osgi/src/test/java/org/apache/camel/core/osgi/test/MockTypeConverterRegistry.java
@@ -52,6 +52,10 @@ public class MockTypeConverterRegistry implements TypeConverterRegistry {
return null;
}
+ public List<Class[]> listAllTypeConvertersFromTo() {
+ return null;
+ }
+
public void setInjector(Injector injector) {
// do nothing
}