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 <claus.ib...@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(); } }