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 2021/12/26 09:41:00 UTC

[camel] branch main updated (62760f3 -> c0a2cce)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 62760f3  CAMEL-17319: Regen
     new 7dc9b6e  CAMEL-17383: camel-management - Add operations to list the registered components, data formats and languages
     new c0a2cce  CAMEL-17383: camel-management - Add operations to list the registered components, data formats and languages

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/org/apache/camel/CamelContext.java   | 11 ++++--
 .../camel/impl/engine/AbstractCamelContext.java    |  5 +++
 .../camel/impl/lw/LightweightCamelContext.java     |  6 +++-
 .../impl/lw/LightweightRuntimeCamelContext.java    |  5 +++
 .../management/mbean/ManagedCamelContextMBean.java | 19 ++++++++++
 .../management/mbean/ManagedCamelContext.java      | 15 ++++++++
 .../camel/management/ManagedCamelContextTest.java  | 41 ++++++++++++++++++++++
 7 files changed, 98 insertions(+), 4 deletions(-)

[camel] 02/02: CAMEL-17383: camel-management - Add operations to list the registered components, data formats and languages

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c0a2cce909fe8ca7cfca8c480ee9e0190ada9254
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Dec 26 10:40:05 2021 +0100

    CAMEL-17383: camel-management - Add operations to list the registered components, data formats and languages
---
 .../src/main/java/org/apache/camel/CamelContext.java     |  7 +++++++
 .../apache/camel/impl/engine/AbstractCamelContext.java   |  5 +++++
 .../apache/camel/impl/lw/LightweightCamelContext.java    |  5 +++++
 .../camel/impl/lw/LightweightRuntimeCamelContext.java    |  5 +++++
 .../api/management/mbean/ManagedCamelContextMBean.java   |  6 ++++++
 .../camel/management/mbean/ManagedCamelContext.java      |  5 +++++
 .../apache/camel/management/ManagedCamelContextTest.java | 16 ++++++++++++++++
 7 files changed, 49 insertions(+)

diff --git a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
index ec39a5b..74138f6 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
@@ -917,6 +917,13 @@ public interface CamelContext extends CamelContextLifecycle, RuntimeConfiguratio
     DataFormat createDataFormat(String name);
 
     /**
+     * Gets a readonly list of names of the data formats currently registered
+     *
+     * @return a readonly list with the names of the data formats
+     */
+    Set<String> getDataFormatNames();
+
+    /**
      * Resolve a transformer given a scheme
      *
      * @param  model data model name.
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 47f50f8..df4e243 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -4345,6 +4345,11 @@ public abstract class AbstractCamelContext extends BaseService
     }
 
     @Override
+    public Set<String> getDataFormatNames() {
+        return Collections.unmodifiableSet(dataformats.keySet());
+    }
+
+    @Override
     public HealthCheckResolver getHealthCheckResolver() {
         if (healthCheckResolver == null) {
             synchronized (lock) {
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
index a2b5772..8fc20d9 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
@@ -710,6 +710,11 @@ public class LightweightCamelContext implements ExtendedCamelContext, CatalogCam
     }
 
     @Override
+    public Set<String> getDataFormatNames() {
+        return delegate.getDataFormatNames();
+    }
+
+    @Override
     public Transformer resolveTransformer(String model) {
         return delegate.resolveTransformer(model);
     }
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
index 0c6a135..55d7836 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
@@ -1011,6 +1011,11 @@ public class LightweightRuntimeCamelContext implements ExtendedCamelContext, Cat
     }
 
     @Override
+    public Set<String> getDataFormatNames() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
     public Transformer resolveTransformer(String model) {
         throw new UnsupportedOperationException();
     }
diff --git a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
index 5cf1e17..ef78ac3 100644
--- a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
+++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
@@ -249,4 +249,10 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean
     @ManagedOperation(description = "The names of the languages currently registered")
     Set<String> languageNames() throws Exception;
 
+    /**
+     * The names of the data formats currently registered
+     */
+    @ManagedOperation(description = "The names of the data formats currently registered")
+    Set<String> dataFormatNames() throws Exception;
+
 }
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index 49e0fac..3ec68aa 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -741,6 +741,11 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
         return context.getLanguageNames();
     }
 
+    @Override
+    public Set<String> dataFormatNames() throws Exception {
+        return context.getDataFormatNames();
+    }
+
     /**
      * Used for sorting the processor mbeans accordingly to their index.
      */
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index 576a0e5..457d2d0 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -28,7 +28,9 @@ import org.apache.camel.api.management.ManagedCamelContext;
 import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.impl.RefDataFormatTest;
 import org.apache.camel.impl.engine.ExplicitCamelContextNameStrategy;
+import org.apache.camel.spi.DataFormat;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.DisabledOnOs;
@@ -237,6 +239,20 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
         Assertions.assertTrue(names.contains("seda"));
     }
 
+    @Test
+    public void testDataFormatNames() throws Exception {
+        context.getRegistry().bind("reverse", new RefDataFormatTest.MyReverseDataFormat());
+        DataFormat df = context.resolveDataFormat("reverse");
+        assertNotNull(df);
+
+        MBeanServer mbeanServer = getMBeanServer();
+        ObjectName on = getContextObjectName();
+
+        Set<String> names = (Set<String>) mbeanServer.invoke(on, "dataFormatNames", null, null);
+        Assertions.assertEquals(1, names.size());
+        Assertions.assertTrue(names.contains("reverse"));
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {

[camel] 01/02: CAMEL-17383: camel-management - Add operations to list the registered components, data formats and languages

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7dc9b6ea4be62af9eaadebee93fec7befac26e34
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Dec 26 10:30:42 2021 +0100

    CAMEL-17383: camel-management - Add operations to list the registered components, data formats and languages
---
 .../main/java/org/apache/camel/CamelContext.java   |  4 +---
 .../camel/impl/lw/LightweightCamelContext.java     |  1 -
 .../management/mbean/ManagedCamelContextMBean.java | 13 +++++++++++
 .../management/mbean/ManagedCamelContext.java      | 10 +++++++++
 .../camel/management/ManagedCamelContextTest.java  | 25 ++++++++++++++++++++++
 5 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
index c9116f4..ec39a5b 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
@@ -788,10 +788,8 @@ public interface CamelContext extends CamelContextLifecycle, RuntimeConfiguratio
     /**
      * Gets a readonly list with the names of the languages currently registered.
      *
-     * @return     a readonly list with the names of the languages
-     * @deprecated not in use
+     * @return a readonly list with the names of the languages
      */
-    @Deprecated
     Set<String> getLanguageNames();
 
     /**
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
index 5c1732c..a2b5772 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
@@ -665,7 +665,6 @@ public class LightweightCamelContext implements ExtendedCamelContext, CatalogCam
     }
 
     @Override
-    @Deprecated
     public Set<String> getLanguageNames() {
         return delegate.getLanguageNames();
     }
diff --git a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
index b2470b3..5cf1e17 100644
--- a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
+++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
@@ -17,6 +17,7 @@
 package org.apache.camel.api.management.mbean;
 
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.api.management.ManagedAttribute;
@@ -236,4 +237,16 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean
     @ManagedOperation(description = "Reset counters")
     void reset(boolean includeRoutes) throws Exception;
 
+    /**
+     * The names of the components currently registered
+     */
+    @ManagedOperation(description = "The names of the components currently registered")
+    Set<String> componentNames() throws Exception;
+
+    /**
+     * The names of the languages currently registered
+     */
+    @ManagedOperation(description = "The names of the languages currently registered")
+    Set<String> languageNames() throws Exception;
+
 }
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index e3808f5..49e0fac 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -731,6 +731,16 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
         }
     }
 
+    @Override
+    public Set<String> componentNames() throws Exception {
+        return context.getComponentNames();
+    }
+
+    @Override
+    public Set<String> languageNames() throws Exception {
+        return context.getLanguageNames();
+    }
+
     /**
      * Used for sorting the processor mbeans accordingly to their index.
      */
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index bc2d07b..576a0e5 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.management;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
@@ -28,6 +29,7 @@ import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.engine.ExplicitCamelContextNameStrategy;
+import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.condition.DisabledOnOs;
 import org.junit.jupiter.api.condition.OS;
@@ -212,6 +214,29 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
         assertFalse(registered, "Should not be registered " + seda);
     }
 
+    @Test
+    public void testLanguageNames() throws Exception {
+        MBeanServer mbeanServer = getMBeanServer();
+        ObjectName on = getContextObjectName();
+
+        Set<String> names = (Set<String>) mbeanServer.invoke(on, "languageNames", null, null);
+        Assertions.assertEquals(2, names.size());
+        Assertions.assertTrue(names.contains("constant"));
+        Assertions.assertTrue(names.contains("simple"));
+    }
+
+    @Test
+    public void testComponentNames() throws Exception {
+        MBeanServer mbeanServer = getMBeanServer();
+        ObjectName on = getContextObjectName();
+
+        Set<String> names = (Set<String>) mbeanServer.invoke(on, "componentNames", null, null);
+        Assertions.assertEquals(3, names.size());
+        Assertions.assertTrue(names.contains("direct"));
+        Assertions.assertTrue(names.contains("mock"));
+        Assertions.assertTrue(names.contains("seda"));
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {