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 2022/10/05 01:51:26 UTC

[camel] 04/09: CAMEL-18574: camel-core - Add disabled option to EIPs

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

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

commit 4e65461009278de9ce33fac446effa6fe2fc55a2
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Oct 4 17:16:50 2022 -0500

    CAMEL-18574: camel-core - Add disabled option to EIPs
---
 .../apache/camel/processor/DisabledProcessor.java    | 12 ++++++++++++
 .../org/apache/camel/reifier/DisabledReifier.java    |  4 +++-
 .../api/management/mbean/ManagedDisabledMBean.java}  | 18 +++++-------------
 .../management/DefaultManagementObjectStrategy.java  |  4 ++++
 .../camel/management/mbean/ManagedDisabled.java}     | 20 ++++++++++++--------
 5 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/DisabledProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/DisabledProcessor.java
index 3a92b821041..7797ebab16a 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/DisabledProcessor.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/DisabledProcessor.java
@@ -29,6 +29,7 @@ public class DisabledProcessor extends AsyncProcessorSupport implements IdAware,
 
     private String id;
     private String routeId;
+    private String nodeType;
 
     @Override
     public boolean process(Exchange exchange, AsyncCallback callback) {
@@ -62,6 +63,17 @@ public class DisabledProcessor extends AsyncProcessorSupport implements IdAware,
         this.routeId = routeId;
     }
 
+    /**
+     * Node type that was disabled
+     */
+    public String getNodeType() {
+        return nodeType;
+    }
+
+    public void setNodeType(String nodeType) {
+        this.nodeType = nodeType;
+    }
+
     @Override
     protected void doStart() throws Exception {
         // noop
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
index 6b7961abb9a..999bdbaeeb6 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
@@ -29,6 +29,8 @@ public class DisabledReifier extends ProcessorReifier {
 
     @Override
     public Processor createProcessor() {
-        return new DisabledProcessor();
+        DisabledProcessor answer = new DisabledProcessor();
+        answer.setNodeType(definition.getShortName());
+        return answer;
     }
 }
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedDisabledMBean.java
similarity index 62%
copy from core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
copy to core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedDisabledMBean.java
index 6b7961abb9a..ae542b91732 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
+++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedDisabledMBean.java
@@ -14,21 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.reifier;
+package org.apache.camel.api.management.mbean;
 
-import org.apache.camel.Processor;
-import org.apache.camel.Route;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.processor.DisabledProcessor;
+import org.apache.camel.api.management.ManagedAttribute;
 
-public class DisabledReifier extends ProcessorReifier {
+public interface ManagedDisabledMBean extends ManagedProcessorMBean {
 
-    public DisabledReifier(Route route, ProcessorDefinition<?> definition) {
-        super(route, definition);
-    }
+    @ManagedAttribute(description = "The node type that was disabled")
+    String getNodeType();
 
-    @Override
-    public Processor createProcessor() {
-        return new DisabledProcessor();
-    }
 }
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index 08a9aa6d026..fc234018808 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -47,6 +47,7 @@ import org.apache.camel.management.mbean.ManagedConvertBody;
 import org.apache.camel.management.mbean.ManagedCustomLoadBalancer;
 import org.apache.camel.management.mbean.ManagedDataFormat;
 import org.apache.camel.management.mbean.ManagedDelayer;
+import org.apache.camel.management.mbean.ManagedDisabled;
 import org.apache.camel.management.mbean.ManagedDynamicRouter;
 import org.apache.camel.management.mbean.ManagedEndpoint;
 import org.apache.camel.management.mbean.ManagedEnricher;
@@ -126,6 +127,7 @@ import org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition;
 import org.apache.camel.processor.ChoiceProcessor;
 import org.apache.camel.processor.ClaimCheckProcessor;
 import org.apache.camel.processor.Delayer;
+import org.apache.camel.processor.DisabledProcessor;
 import org.apache.camel.processor.DynamicRouter;
 import org.apache.camel.processor.Enricher;
 import org.apache.camel.processor.ExchangePatternProcessor;
@@ -344,6 +346,8 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
                 answer = new ManagedClaimCheck(context, (ClaimCheckProcessor) target, definition);
             } else if (target instanceof Delayer) {
                 answer = new ManagedDelayer(context, (Delayer) target, definition);
+            } else if (target instanceof DisabledProcessor) {
+                answer = new ManagedDisabled(context, (DisabledProcessor) target, definition);
             } else if (target instanceof Throttler) {
                 answer = new ManagedThrottler(context, (Throttler) target, definition);
             } else if (target instanceof DynamicRouter) {
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDisabled.java
similarity index 58%
copy from core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
copy to core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDisabled.java
index 6b7961abb9a..74ae15bf48b 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/DisabledReifier.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedDisabled.java
@@ -14,21 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.reifier;
+package org.apache.camel.management.mbean;
 
-import org.apache.camel.Processor;
-import org.apache.camel.Route;
+import org.apache.camel.CamelContext;
+import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.api.management.mbean.ManagedDisabledMBean;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.processor.DisabledProcessor;
 
-public class DisabledReifier extends ProcessorReifier {
+@ManagedResource(description = "Managed Disabled Processor")
+public class ManagedDisabled extends ManagedProcessor implements ManagedDisabledMBean {
+    private final DisabledProcessor processor;
 
-    public DisabledReifier(Route route, ProcessorDefinition<?> definition) {
-        super(route, definition);
+    public ManagedDisabled(CamelContext context, DisabledProcessor processor, ProcessorDefinition<?> definition) {
+        super(context, processor, definition);
+        this.processor = processor;
     }
 
     @Override
-    public Processor createProcessor() {
-        return new DisabledProcessor();
+    public String getNodeType() {
+        return processor.getNodeType();
     }
 }