You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/04/02 12:50:10 UTC
[camel] 06/09: CAMEL-15105: make the RestBindingJaxbDataFormatFactory a plugin of the context
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
commit 34b6acf25162249dd1decadd8a80e83b7082e838
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Sat Apr 1 17:04:34 2023 +0200
CAMEL-15105: make the RestBindingJaxbDataFormatFactory a plugin of the context
---
.../org/apache/camel/component/rest/RestProducer.java | 2 +-
.../java/org/apache/camel/ExtendedCamelContext.java | 11 -----------
.../apache/camel/impl/engine/AbstractCamelContext.java | 5 -----
.../camel/impl/engine/DefaultCamelContextExtension.java | 17 -----------------
.../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------
.../camel/impl/lw/LightweightCamelContextExtension.java | 12 ------------
.../apache/camel/reifier/rest/RestBindingReifier.java | 3 ++-
.../java/org/apache/camel/support/PluginHelper.java | 17 +++++++++++++++++
8 files changed, 20 insertions(+), 53 deletions(-)
diff --git a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
index e851e786504..fbd78cdfb93 100644
--- a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
+++ b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestProducer.java
@@ -359,7 +359,7 @@ public class RestProducer extends DefaultAsyncProducer {
if (jaxb != null) {
// to setup JAXB we need to use camel-jaxb
- camelContext.getCamelContextExtension().getRestBindingJaxbDataFormatFactory()
+ PluginHelper.getRestBindingJaxbDataFormatFactory(camelContext)
.setupJaxb(camelContext, configuration, type, null, outType, null, jaxb, outJaxb);
}
diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
index 85d871635e3..56407a31044 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -45,7 +45,6 @@ import org.apache.camel.spi.ProcessorExchangeFactory;
import org.apache.camel.spi.ReactiveExecutor;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.ResourceLoader;
-import org.apache.camel.spi.RestBindingJaxbDataFormatFactory;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.RouteStartupOrder;
import org.apache.camel.spi.StartupStepRecorder;
@@ -449,16 +448,6 @@ public interface ExtendedCamelContext {
*/
void setModelToXMLDumper(ModelToXMLDumper modelToXMLDumper);
- /**
- * Gets the {@link RestBindingJaxbDataFormatFactory} to be used.
- */
- RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory();
-
- /**
- * Sets a custom {@link RestBindingJaxbDataFormatFactory} to be used.
- */
- void setRestBindingJaxbDataFormatFactory(RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory);
-
/**
* Internal {@link RouteController} that are only used internally by Camel to perform basic route operations. Do not
* use this as end user.
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 18de2cc7150..61c202c8e9d 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
@@ -218,7 +218,6 @@ public abstract class AbstractCamelContext extends BaseService
volatile BeanProcessorFactory beanProcessorFactory;
volatile ResourceLoader resourceLoader;
volatile ModelToXMLDumper modelToXMLDumper;
- volatile RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory;
volatile UnitOfWorkFactory unitOfWorkFactory;
volatile BeanIntrospection beanIntrospection;
volatile boolean eventNotificationApplicable;
@@ -4198,10 +4197,6 @@ public abstract class AbstractCamelContext extends BaseService
return camelContextExtension.getModelToXMLDumper();
}
- public RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory() {
- return camelContextExtension.getRestBindingJaxbDataFormatFactory();
- }
-
public EndpointUriFactory getEndpointUriFactory(String scheme) {
return camelContextExtension.getEndpointUriFactory(scheme);
}
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
index f0bad898c5b..29a7a12f9ad 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
@@ -35,7 +35,6 @@ import org.apache.camel.ResolveEndpointFailedException;
import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Service;
-import org.apache.camel.catalog.RuntimeCamelCatalog;
import org.apache.camel.spi.AnnotationBasedProcessorFactory;
import org.apache.camel.spi.BeanIntrospection;
import org.apache.camel.spi.BeanProcessorFactory;
@@ -65,7 +64,6 @@ import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.spi.ReactiveExecutor;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.ResourceLoader;
-import org.apache.camel.spi.RestBindingJaxbDataFormatFactory;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.RouteStartupOrder;
import org.apache.camel.spi.StartupStepRecorder;
@@ -485,21 +483,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
camelContext.modelToXMLDumper = camelContext.getInternalServiceManager().addService(modelToXMLDumper);
}
- public RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory() {
- if (camelContext.restBindingJaxbDataFormatFactory == null) {
- synchronized (camelContext.lock) {
- if (camelContext.restBindingJaxbDataFormatFactory == null) {
- setRestBindingJaxbDataFormatFactory(camelContext.createRestBindingJaxbDataFormatFactory());
- }
- }
- }
- return camelContext.restBindingJaxbDataFormatFactory;
- }
-
- public void setRestBindingJaxbDataFormatFactory(RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory) {
- camelContext.restBindingJaxbDataFormatFactory = restBindingJaxbDataFormatFactory;
- }
-
@Override
public ExchangeFactory getExchangeFactory() {
if (camelContext.exchangeFactory == null) {
diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
index d7ec3d7c9a2..8d46b62df44 100644
--- a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
+++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
@@ -57,8 +57,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "Registry": target.setRegistry(property(camelContext, org.apache.camel.spi.Registry.class, value)); return true;
case "resourceloader":
case "ResourceLoader": target.setResourceLoader(property(camelContext, org.apache.camel.spi.ResourceLoader.class, value)); return true;
- case "restbindingjaxbdataformatfactory":
- case "RestBindingJaxbDataFormatFactory": target.setRestBindingJaxbDataFormatFactory(property(camelContext, org.apache.camel.spi.RestBindingJaxbDataFormatFactory.class, value)); return true;
case "startupsteprecorder":
case "StartupStepRecorder": target.setStartupStepRecorder(property(camelContext, org.apache.camel.spi.StartupStepRecorder.class, value)); return true;
case "unitofworkfactory":
@@ -106,8 +104,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "Registry": return org.apache.camel.spi.Registry.class;
case "resourceloader":
case "ResourceLoader": return org.apache.camel.spi.ResourceLoader.class;
- case "restbindingjaxbdataformatfactory":
- case "RestBindingJaxbDataFormatFactory": return org.apache.camel.spi.RestBindingJaxbDataFormatFactory.class;
case "startupsteprecorder":
case "StartupStepRecorder": return org.apache.camel.spi.StartupStepRecorder.class;
case "unitofworkfactory":
@@ -156,8 +152,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "Registry": return target.getRegistry();
case "resourceloader":
case "ResourceLoader": return target.getResourceLoader();
- case "restbindingjaxbdataformatfactory":
- case "RestBindingJaxbDataFormatFactory": return target.getRestBindingJaxbDataFormatFactory();
case "startupsteprecorder":
case "StartupStepRecorder": return target.getStartupStepRecorder();
case "unitofworkfactory":
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
index 0185cc309ce..ac1a2a935f4 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
@@ -36,7 +36,6 @@ import org.apache.camel.ResolveEndpointFailedException;
import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.ServiceStatus;
-import org.apache.camel.catalog.RuntimeCamelCatalog;
import org.apache.camel.spi.AnnotationBasedProcessorFactory;
import org.apache.camel.spi.BeanIntrospection;
import org.apache.camel.spi.BeanProcessorFactory;
@@ -60,7 +59,6 @@ import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.spi.ReactiveExecutor;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.ResourceLoader;
-import org.apache.camel.spi.RestBindingJaxbDataFormatFactory;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.RouteStartupOrder;
import org.apache.camel.spi.StartupStepRecorder;
@@ -408,16 +406,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
throw new UnsupportedOperationException();
}
- @Override
- public RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setRestBindingJaxbDataFormatFactory(RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory) {
- throw new UnsupportedOperationException();
- }
-
@Override
public ResourceLoader getResourceLoader() {
throw new UnsupportedOperationException();
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
index 5c45fbe1ab9..79833129bec 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
@@ -27,6 +27,7 @@ import org.apache.camel.reifier.AbstractReifier;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.PluginHelper;
import org.apache.camel.support.PropertyBindingSupport;
public class RestBindingReifier extends AbstractReifier {
@@ -128,7 +129,7 @@ public class RestBindingReifier extends AbstractReifier {
if (jaxb != null) {
// to setup JAXB we need to use camel-jaxb
- camelContext.getCamelContextExtension().getRestBindingJaxbDataFormatFactory().setupJaxb(
+ PluginHelper.getRestBindingJaxbDataFormatFactory(camelContext).setupJaxb(
camelContext, config,
parseString(definition.getType()), definition.getTypeClass(),
parseString(definition.getOutType()), definition.getOutTypeClass(),
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
index f3bf2e0a77a..0f95f511c41 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
@@ -42,6 +42,7 @@ import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.ProcessorFactory;
+import org.apache.camel.spi.RestBindingJaxbDataFormatFactory;
import org.apache.camel.spi.RouteFactory;
import org.apache.camel.spi.RoutesLoader;
import org.apache.camel.spi.UriFactoryResolver;
@@ -470,4 +471,20 @@ public final class PluginHelper {
public static RuntimeCamelCatalog getRuntimeCamelCatalog(ExtendedCamelContext extendedCamelContext) {
return extendedCamelContext.getContextPlugin(RuntimeCamelCatalog.class);
}
+
+ /**
+ * Gets the {@link RestBindingJaxbDataFormatFactory} to be used.
+ */
+ public static RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory(CamelContext camelContext) {
+ return getRestBindingJaxbDataFormatFactory(camelContext.getCamelContextExtension());
+ }
+
+ /**
+ * Gets the {@link RestBindingJaxbDataFormatFactory} to be used.
+ */
+ public static RestBindingJaxbDataFormatFactory getRestBindingJaxbDataFormatFactory(
+ ExtendedCamelContext extendedCamelContext) {
+ return extendedCamelContext.getContextPlugin(RestBindingJaxbDataFormatFactory.class);
+
+ }
}