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

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


The following commit(s) were added to refs/heads/main by this push:
     new 8795282  CAMEL-16846: ensure that the operation is present for 
producers otherwise they may throw NPEs (#5926)
8795282 is described below

commit 87952821766989e7c2588e071a249b180603ad8e
Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com>
AuthorDate: Wed Aug 4 16:09:54 2021 +0200

    CAMEL-16846: ensure that the operation is present for producers otherwise 
they may throw NPEs (#5926)
---
 .../camel/component/kubernetes/KubernetesHelper.java    | 17 +++++++++++++++++
 .../config_maps/KubernetesConfigMapsProducer.java       |  9 ++-------
 .../KubernetesCustomResourcesProducer.java              |  8 ++------
 .../deployments/KubernetesDeploymentsProducer.java      |  9 ++-------
 .../component/kubernetes/hpa/KubernetesHPAProducer.java |  9 ++-------
 .../namespaces/KubernetesNamespacesProducer.java        |  9 ++-------
 .../kubernetes/nodes/KubernetesNodesProducer.java       |  9 ++-------
 .../KubernetesPersistentVolumesProducer.java            |  9 ++-------
 .../KubernetesPersistentVolumesClaimsProducer.java      |  9 ++-------
 .../kubernetes/pods/KubernetesPodsProducer.java         |  9 ++-------
 .../KubernetesReplicationControllersProducer.java       |  9 ++-------
 .../KubernetesResourcesQuotaProducer.java               |  9 ++-------
 .../kubernetes/secrets/KubernetesSecretsProducer.java   |  9 ++-------
 .../KubernetesServiceAccountsProducer.java              |  9 ++-------
 .../kubernetes/services/KubernetesServicesProducer.java |  9 ++-------
 .../build_configs/OpenshiftBuildConfigsProducer.java    |  9 ++-------
 .../openshift/builds/OpenshiftBuildsProducer.java       |  9 ++-------
 17 files changed, 49 insertions(+), 111 deletions(-)

diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesHelper.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesHelper.java
index 47754cd..bcde9da 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesHelper.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesHelper.java
@@ -23,6 +23,7 @@ import io.fabric8.kubernetes.client.ConfigBuilder;
 import io.fabric8.kubernetes.client.DefaultKubernetesClient;
 import io.fabric8.kubernetes.client.KubernetesClient;
 import io.fabric8.kubernetes.client.Watch;
+import org.apache.camel.Exchange;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -110,4 +111,20 @@ public final class KubernetesHelper {
         }
     }
 
+    public static String extractOperation(AbstractKubernetesEndpoint endpoint, 
Exchange exchange) {
+        String operation;
+
+        if 
(ObjectHelper.isEmpty(endpoint.getKubernetesConfiguration().getOperation())) {
+            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
+        } else {
+            operation = endpoint.getKubernetesConfiguration().getOperation();
+        }
+
+        if (ObjectHelper.isEmpty(operation)) {
+            throw new IllegalArgumentException("The kubernetes producer for 
this component requires a operation to proceed");
+        }
+
+        return operation;
+    }
+
 }
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
index 4aad154..94f57eb 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/config_maps/KubernetesConfigMapsProducer.java
@@ -26,6 +26,7 @@ import 
io.fabric8.kubernetes.client.dsl.FilterWatchListMultiDeletable;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -48,13 +49,7 @@ public class KubernetesConfigMapsProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
index 530a210..c234de8 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/customresources/KubernetesCustomResourcesProducer.java
@@ -25,6 +25,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -49,14 +50,9 @@ public class KubernetesCustomResourcesProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
         String namespace;
 
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
         if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getNamespace()))
 {
             namespace = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, 
String.class);
         } else {
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
index 8e33d61..4f5eb468c 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/deployments/KubernetesDeploymentsProducer.java
@@ -27,6 +27,7 @@ import 
io.fabric8.kubernetes.client.dsl.RollableScalableResource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -49,13 +50,7 @@ public class KubernetesDeploymentsProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
index 552f42f..738c6c2 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/hpa/KubernetesHPAProducer.java
@@ -27,6 +27,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -49,13 +50,7 @@ public class KubernetesHPAProducer extends DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
index eab02d2..959562d 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/namespaces/KubernetesNamespacesProducer.java
@@ -26,6 +26,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -48,13 +49,7 @@ public class KubernetesNamespacesProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
index 739a80e..2cbe37d 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/nodes/KubernetesNodesProducer.java
@@ -27,6 +27,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -49,13 +50,7 @@ public class KubernetesNodesProducer extends DefaultProducer 
{
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesProducer.java
index d509d38..2e967d7 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes/KubernetesPersistentVolumesProducer.java
@@ -25,6 +25,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -47,13 +48,7 @@ public class KubernetesPersistentVolumesProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
index 7a93162..d20b400 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/persistent_volumes_claims/KubernetesPersistentVolumesClaimsProducer.java
@@ -28,6 +28,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -50,13 +51,7 @@ public class KubernetesPersistentVolumesClaimsProducer 
extends DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
index 18e77bb..f2eb11b 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/pods/KubernetesPodsProducer.java
@@ -26,6 +26,7 @@ import 
io.fabric8.kubernetes.client.dsl.FilterWatchListMultiDeletable;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -48,13 +49,7 @@ public class KubernetesPodsProducer extends DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
index 7e2a117..ce899af 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/replication_controllers/KubernetesReplicationControllersProducer.java
@@ -28,6 +28,7 @@ import 
io.fabric8.kubernetes.client.dsl.RollableScalableResource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -50,13 +51,7 @@ public class KubernetesReplicationControllersProducer 
extends DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
index 816b77b..45f7226 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/resources_quota/KubernetesResourcesQuotaProducer.java
@@ -28,6 +28,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -50,13 +51,7 @@ public class KubernetesResourcesQuotaProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
index 8b58d1d..9665597 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/secrets/KubernetesSecretsProducer.java
@@ -26,6 +26,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -48,13 +49,7 @@ public class KubernetesSecretsProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
index 90e8a8b..5bba97c 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/service_accounts/KubernetesServiceAccountsProducer.java
@@ -26,6 +26,7 @@ import io.fabric8.kubernetes.client.dsl.Resource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -48,13 +49,7 @@ public class KubernetesServiceAccountsProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
index cb42e24..3f9ba9f 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/services/KubernetesServicesProducer.java
@@ -28,6 +28,7 @@ import io.fabric8.kubernetes.client.dsl.ServiceResource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -50,13 +51,7 @@ public class KubernetesServicesProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
index 8183756..b9326af 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/build_configs/OpenshiftBuildConfigsProducer.java
@@ -28,6 +28,7 @@ import io.fabric8.openshift.client.dsl.BuildConfigResource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -50,13 +51,7 @@ public class OpenshiftBuildConfigsProducer extends 
DefaultProducer {
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
index ef5d169..01451f4 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/openshift/builds/OpenshiftBuildsProducer.java
@@ -28,6 +28,7 @@ import io.fabric8.openshift.client.dsl.BuildResource;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.kubernetes.AbstractKubernetesEndpoint;
 import org.apache.camel.component.kubernetes.KubernetesConstants;
+import org.apache.camel.component.kubernetes.KubernetesHelper;
 import org.apache.camel.component.kubernetes.KubernetesOperations;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.support.MessageHelper;
@@ -50,13 +51,7 @@ public class OpenshiftBuildsProducer extends DefaultProducer 
{
 
     @Override
     public void process(Exchange exchange) throws Exception {
-        String operation;
-
-        if 
(ObjectHelper.isEmpty(getEndpoint().getKubernetesConfiguration().getOperation()))
 {
-            operation = 
exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_OPERATION, 
String.class);
-        } else {
-            operation = 
getEndpoint().getKubernetesConfiguration().getOperation();
-        }
+        String operation = KubernetesHelper.extractOperation(getEndpoint(), 
exchange);
 
         switch (operation) {
 

Reply via email to