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

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


The following commit(s) were added to refs/heads/master by this push:
     new 396cab2  [CAMEL-13511] Introduce a Model interface to hold definitions 
related methods
396cab2 is described below

commit 396cab268fe2c6afec606a95a894350e994f5433
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Mon May 13 16:36:26 2019 +0200

    [CAMEL-13511] Introduce a Model interface to hold definitions related 
methods
---
 .../apache/camel/swagger/RestSwaggerSupport.java   | 18 +++++++--------
 .../test/blueprint/CamelBlueprintTestSupport.java  |  2 +-
 .../org/apache/camel/builder/BuilderSupport.java   | 13 +++--------
 .../camel/builder/ErrorHandlerBuilderRef.java      |  6 ++---
 .../org/apache/camel/builder/RouteBuilder.java     | 26 +++++++++++-----------
 .../main/java/org/apache/camel/model/Model.java    |  2 ++
 .../camel/model/RestContextRefDefinition.java      |  3 ++-
 .../model/RestContextRefDefinitionHelper.java      |  7 +++---
 .../camel/model/RouteContextRefDefinition.java     |  3 ++-
 .../model/RouteContextRefDefinitionHelper.java     |  5 +++--
 .../org/apache/camel/model/RoutesDefinition.java   |  7 +++---
 .../apache/camel/model/rest/RestsDefinition.java   |  8 +++----
 .../org/apache/camel/reifier/RouteReifier.java     | 22 ++++++------------
 .../DefaultManagementObjectStrategy.java           |  2 +-
 .../management/mbean/ManagedCamelContext.java      | 12 +++++-----
 .../camel/management/mbean/ManagedRoute.java       | 10 ++++-----
 .../management/mbean/ManagedRouteController.java   |  5 ++---
 .../management/mbean/ManagedSuspendableRoute.java  |  4 ++--
 18 files changed, 73 insertions(+), 82 deletions(-)

diff --git 
a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
 
b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
index 4644544..285ce02 100644
--- 
a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
+++ 
b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerSupport.java
@@ -47,7 +47,7 @@ import io.swagger.util.Json;
 import io.swagger.util.Yaml;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.model.Model;
 import org.apache.camel.model.ModelHelper;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.RestsDefinition;
@@ -145,8 +145,8 @@ public class RestSwaggerSupport {
     }
 
     public List<RestDefinition> getRestDefinitions(CamelContext camelContext) 
throws Exception {
-        ModelCamelContext context = 
camelContext.adapt(ModelCamelContext.class);
-        List<RestDefinition> rests = context.getRestDefinitions();
+        Model model = camelContext.getExtension(Model.class);
+        List<RestDefinition> rests = model.getRestDefinitions();
         if (rests.isEmpty()) {
             return null;
         }
@@ -154,7 +154,7 @@ public class RestSwaggerSupport {
         // use a routes definition to dump the rests
         RestsDefinition def = new RestsDefinition();
         def.setRests(rests);
-        String xml = ModelHelper.dumpModelAsXml(context, def);
+        String xml = ModelHelper.dumpModelAsXml(camelContext, def);
 
         // if resolving placeholders we parse the xml, and resolve the 
property placeholders during parsing
         final AtomicBoolean changed = new AtomicBoolean();
@@ -163,7 +163,7 @@ public class RestSwaggerSupport {
             @Override
             public String transform(String text) {
                 try {
-                    String after = context.resolvePropertyPlaceholders(text);
+                    String after = 
camelContext.resolvePropertyPlaceholders(text);
                     if (!changed.get()) {
                         changed.set(!text.equals(after));
                     }
@@ -176,10 +176,10 @@ public class RestSwaggerSupport {
         });
         // okay there were some property placeholder replaced so re-create the 
model
         if (changed.get()) {
-            xml = context.getTypeConverter().mandatoryConvertTo(String.class, 
dom);
-            RestsDefinition model = ModelHelper.createModelFromXml(context, 
xml, RestsDefinition.class);
-            if (model != null) {
-                return model.getRests();
+            xml = 
camelContext.getTypeConverter().mandatoryConvertTo(String.class, dom);
+            def = ModelHelper.createModelFromXml(camelContext, xml, 
RestsDefinition.class);
+            if (def != null) {
+                return def.getRests();
             }
         }
 
diff --git 
a/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintTestSupport.java
 
b/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintTestSupport.java
index 13957dd..ee37f9e 100644
--- 
a/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintTestSupport.java
+++ 
b/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintTestSupport.java
@@ -502,7 +502,7 @@ public abstract class CamelBlueprintTestSupport extends 
CamelTestSupport {
             throw new IllegalArgumentException("getCamelContextCreationTimeout 
cannot return a negative value.");
         }
         // must override context so we use the correct one in testing
-        context = (ModelCamelContext) answer;
+        context = answer.adapt(ModelCamelContext.class);
         return answer;
     }
    
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java 
b/core/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
index 2bbc804..8e3b79f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
@@ -19,14 +19,12 @@ package org.apache.camel.builder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Expression;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.language.ExchangePropertyExpression;
 import org.apache.camel.model.language.HeaderExpression;
 import org.apache.camel.model.language.JsonPathExpression;
@@ -39,14 +37,14 @@ import org.apache.camel.util.ObjectHelper;
  * href="http://camel.apache.org/dsl.html";>Java DSL</a>
  */
 public abstract class BuilderSupport {
-    private ModelCamelContext context;
+    private CamelContext context;
     private ErrorHandlerBuilder errorHandlerBuilder;
 
     protected BuilderSupport() {
     }
 
     protected BuilderSupport(CamelContext context) {
-        this.context = context != null ? 
context.adapt(ModelCamelContext.class) : null;
+        this.context = context;
     }
 
     // Builder methods
@@ -391,17 +389,12 @@ public abstract class BuilderSupport {
     // Properties
     // 
-------------------------------------------------------------------------
 
-    public ModelCamelContext getContext() {
+    public CamelContext getContext() {
         return context;
     }
 
     public void setContext(CamelContext context) {
         ObjectHelper.notNull(context, "CamelContext", this);
-        this.context = context.adapt(ModelCamelContext.class);
-    }
-
-    public void setContext(ModelCamelContext context) {
-        ObjectHelper.notNull(context, "CamelContext", this);
         this.context = context;
     }
 
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
 
b/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
index 296ed3b..d7aa51f 100644
--- 
a/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
+++ 
b/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
@@ -20,9 +20,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.Processor;
-import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.OnExceptionDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.RouteContext;
@@ -133,7 +133,7 @@ public class ErrorHandlerBuilderRef extends 
ErrorHandlerBuilderSupport {
                 if (!isErrorHandlerBuilderConfigured(otherRef)) {
                     // the other has also no explicit error handler configured 
then fallback to the handler
                     // configured on the parent camel context
-                    answer = 
lookupErrorHandlerBuilder((ModelCamelContext)routeContext.getCamelContext());
+                    answer = 
lookupErrorHandlerBuilder(routeContext.getCamelContext());
                 }
                 if (answer == null) {
                     // the other has also no explicit error handler configured 
then fallback to the default error handler
@@ -156,7 +156,7 @@ public class ErrorHandlerBuilderRef extends 
ErrorHandlerBuilderSupport {
         return answer;
     }
 
-    protected static ErrorHandlerFactory 
lookupErrorHandlerBuilder(ModelCamelContext camelContext) {
+    protected static ErrorHandlerFactory 
lookupErrorHandlerBuilder(CamelContext camelContext) {
         ErrorHandlerFactory answer = camelContext.getErrorHandlerFactory();
         if (answer instanceof ErrorHandlerBuilderRef) {
             ErrorHandlerBuilderRef other = (ErrorHandlerBuilderRef) answer;
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java 
b/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
index a9ffd6a..668e2c2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -30,7 +30,7 @@ import org.apache.camel.model.FromDefinition;
 import org.apache.camel.model.InterceptDefinition;
 import org.apache.camel.model.InterceptFromDefinition;
 import org.apache.camel.model.InterceptSendToEndpointDefinition;
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.model.Model;
 import org.apache.camel.model.OnCompletionDefinition;
 import org.apache.camel.model.OnExceptionDefinition;
 import org.apache.camel.model.RouteDefinition;
@@ -378,8 +378,8 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
     
     public void addRoutesToCamelContext(CamelContext context) throws Exception 
{
         // must configure routes before rests
-        configureRoutes((ModelCamelContext) context);
-        configureRests((ModelCamelContext) context);
+        configureRoutes(context);
+        configureRests(context);
 
         // but populate rests before routes, as we want to turn rests into 
routes
         populateRests();
@@ -395,7 +395,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
      * @return the routes configured
      * @throws Exception can be thrown during configuration
      */
-    public RoutesDefinition configureRoutes(ModelCamelContext context) throws 
Exception {
+    public RoutesDefinition configureRoutes(CamelContext context) throws 
Exception {
         setContext(context);
         checkInitialized();
         routeCollection.setCamelContext(context);
@@ -409,7 +409,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
      * @return the rests configured
      * @throws Exception can be thrown during configuration
      */
-    public RestsDefinition configureRests(ModelCamelContext context) throws 
Exception {
+    public RestsDefinition configureRests(CamelContext context) throws 
Exception {
         setContext(context);
         restCollection.setCamelContext(context);
         return restCollection;
@@ -426,7 +426,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
     protected void checkInitialized() throws Exception {
         if (initialized.compareAndSet(false, true)) {
             // Set the CamelContext ErrorHandler here
-            ModelCamelContext camelContext = getContext();
+            CamelContext camelContext = getContext();
             if (camelContext.getErrorHandlerFactory() instanceof 
ErrorHandlerBuilder) {
                 setErrorHandlerBuilder((ErrorHandlerBuilder) 
camelContext.getErrorHandlerFactory());
             }
@@ -440,16 +440,16 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
     }
 
     protected void populateRoutes() throws Exception {
-        ModelCamelContext camelContext = getContext();
+        CamelContext camelContext = getContext();
         if (camelContext == null) {
             throw new IllegalArgumentException("CamelContext has not been 
injected!");
         }
         getRouteCollection().setCamelContext(camelContext);
-        camelContext.addRouteDefinitions(getRouteCollection().getRoutes());
+        
camelContext.getExtension(Model.class).addRouteDefinitions(getRouteCollection().getRoutes());
     }
 
     protected void populateRests() throws Exception {
-        ModelCamelContext camelContext = getContext();
+        CamelContext camelContext = getContext();
         if (camelContext == null) {
             throw new IllegalArgumentException("CamelContext has not been 
injected!");
         }
@@ -467,7 +467,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
             }
         }
         // cannot add rests as routes yet as we need to initialize this 
specially
-        camelContext.addRestDefinitions(getRestCollection().getRests(), false);
+        
camelContext.getExtension(Model.class).addRestDefinitions(getRestCollection().getRests(),
 false);
 
         // convert rests api-doc into routes so they are routes for runtime
         for (RestConfiguration config : camelContext.getRestConfigurations()) {
@@ -476,7 +476,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
                 // to the CamelContext, as we only want to setup rest-api once
                 // so we check all existing routes if they have rest-api route 
already added
                 boolean hasRestApi = false;
-                for (RouteDefinition route : 
camelContext.getRouteDefinitions()) {
+                for (RouteDefinition route : 
camelContext.getExtension(Model.class).getRouteDefinitions()) {
                     FromDefinition from = route.getInput();
                     if (from.getUri() != null && 
from.getUri().startsWith("rest-api:")) {
                         hasRestApi = true;
@@ -496,7 +496,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
     }
 
     protected void populateTransformers() {
-        ModelCamelContext camelContext = getContext();
+        CamelContext camelContext = getContext();
         if (camelContext == null) {
             throw new IllegalArgumentException("CamelContext has not been 
injected!");
         }
@@ -506,7 +506,7 @@ public abstract class RouteBuilder extends BuilderSupport 
implements RoutesBuild
     }
 
     protected void populateValidators() {
-        ModelCamelContext camelContext = getContext();
+        CamelContext camelContext = getContext();
         if (camelContext == null) {
             throw new IllegalArgumentException("CamelContext has not been 
injected!");
         }
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/Model.java 
b/core/camel-core/src/main/java/org/apache/camel/model/Model.java
index f3b77be..47d6638 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/Model.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/Model.java
@@ -258,6 +258,8 @@ public interface Model {
 
     /**
      * Start all routes from this model.
+     *
+     * @throws Exception
      */
     void startRouteDefinitions() throws Exception;
 
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinition.java
 
b/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinition.java
index 6f5787e..e8a8843 100644
--- 
a/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinition.java
+++ 
b/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinition.java
@@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.spi.Metadata;
 
@@ -55,7 +56,7 @@ public class RestContextRefDefinition {
         this.ref = ref;
     }
     
-    public List<RestDefinition> lookupRests(ModelCamelContext camelContext) {
+    public List<RestDefinition> lookupRests(CamelContext camelContext) {
         return RestContextRefDefinitionHelper.lookupRests(camelContext, ref);
     }
 
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
 
b/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
index 3eae3af..cb47f78 100644
--- 
a/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
+++ 
b/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
@@ -29,6 +29,7 @@ import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.model.language.NamespaceAwareExpression;
 import org.apache.camel.model.rest.RestDefinition;
@@ -53,14 +54,14 @@ public final class RestContextRefDefinitionHelper {
      * as a {@link org.apache.camel.model.RestContextRefDefinition} can be 
re-used with multiple {@link org.apache.camel.model.ModelCamelContext} and each
      * context should have their own instances of the routes. This is to 
ensure no side-effects and sharing
      * of instances between the contexts. For example such as property 
placeholders may be context specific
-     * so the routes should not use placeholders from another {@link 
org.apache.camel.model.ModelCamelContext}.
+     * so the routes should not use placeholders from another {@link 
org.apache.camel.CamelContext}.
      *
      * @param camelContext the CamelContext
      * @param ref          the id of the {@link 
org.apache.camel.model.RestContextRefDefinition} to lookup and get the routes.
      * @return the rests.
      */
     @SuppressWarnings("unchecked")
-    public static synchronized List<RestDefinition> 
lookupRests(ModelCamelContext camelContext, String ref) {
+    public static synchronized List<RestDefinition> lookupRests(CamelContext 
camelContext, String ref) {
         ObjectHelper.notNull(camelContext, "camelContext");
         ObjectHelper.notNull(ref, "ref");
 
@@ -88,7 +89,7 @@ public final class RestContextRefDefinitionHelper {
         return clones;
     }
 
-    private static synchronized JAXBContext getOrCreateJAXBContext(final 
ModelCamelContext camelContext) throws JAXBException {
+    private static synchronized JAXBContext getOrCreateJAXBContext(final 
CamelContext camelContext) throws JAXBException {
         if (jaxbContext == null) {
             // must use classloader from CamelContext to have JAXB working
             jaxbContext = 
camelContext.getModelJAXBContextFactory().newJAXBContext();
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinition.java
 
b/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinition.java
index 28b99f4..f003a1c 100644
--- 
a/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinition.java
+++ 
b/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinition.java
@@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.spi.Metadata;
 
 /**
@@ -54,7 +55,7 @@ public class RouteContextRefDefinition {
         this.ref = ref;
     }
     
-    public List<RouteDefinition> lookupRoutes(ModelCamelContext camelContext) {
+    public List<RouteDefinition> lookupRoutes(CamelContext camelContext) {
         return RouteContextRefDefinitionHelper.lookupRoutes(camelContext, ref);
     }
 
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
 
b/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
index 8dc94ba..967390e 100644
--- 
a/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
+++ 
b/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
@@ -29,6 +29,7 @@ import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.model.language.NamespaceAwareExpression;
 import org.apache.camel.support.CamelContextHelper;
@@ -58,7 +59,7 @@ public final class RouteContextRefDefinitionHelper {
      * @return the routes.
      */
     @SuppressWarnings("unchecked")
-    public static synchronized List<RouteDefinition> 
lookupRoutes(ModelCamelContext camelContext, String ref) {
+    public static synchronized List<RouteDefinition> lookupRoutes(CamelContext 
camelContext, String ref) {
         ObjectHelper.notNull(camelContext, "camelContext");
         ObjectHelper.notNull(ref, "ref");
 
@@ -86,7 +87,7 @@ public final class RouteContextRefDefinitionHelper {
         return clones;
     }
 
-    private static synchronized JAXBContext getOrCreateJAXBContext(final 
ModelCamelContext camelContext) throws JAXBException {
+    private static synchronized JAXBContext getOrCreateJAXBContext(final 
CamelContext camelContext) throws JAXBException {
         if (jaxbContext == null) {
             jaxbContext = 
camelContext.getModelJAXBContextFactory().newJAXBContext();
         }
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java 
b/core/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
index 80f5e0b..b857e54 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
@@ -25,6 +25,7 @@ import javax.xml.bind.annotation.XmlElementRef;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.spi.AsEndpointUri;
@@ -50,7 +51,7 @@ public class RoutesDefinition extends 
OptionalIdentifiedDefinition<RoutesDefinit
     @XmlTransient
     private List<OnCompletionDefinition> onCompletions = new ArrayList<>();
     @XmlTransient
-    private ModelCamelContext camelContext;
+    private CamelContext camelContext;
     @XmlTransient
     private ErrorHandlerFactory errorHandlerFactory;
 
@@ -121,11 +122,11 @@ public class RoutesDefinition extends 
OptionalIdentifiedDefinition<RoutesDefinit
         this.onCompletions = onCompletions;
     }
 
-    public ModelCamelContext getCamelContext() {
+    public CamelContext getCamelContext() {
         return camelContext;
     }
 
-    public void setCamelContext(ModelCamelContext camelContext) {
+    public void setCamelContext(CamelContext camelContext) {
         this.camelContext = camelContext;
     }
 
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/model/rest/RestsDefinition.java
 
b/core/camel-core/src/main/java/org/apache/camel/model/rest/RestsDefinition.java
index 9130c18..7453f18 100644
--- 
a/core/camel-core/src/main/java/org/apache/camel/model/rest/RestsDefinition.java
+++ 
b/core/camel-core/src/main/java/org/apache/camel/model/rest/RestsDefinition.java
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlElementRef;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.CamelContext;
 import org.apache.camel.model.OptionalIdentifiedDefinition;
 import org.apache.camel.spi.Metadata;
 
@@ -39,7 +39,7 @@ public class RestsDefinition extends 
OptionalIdentifiedDefinition<RestsDefinitio
     @XmlElementRef
     private List<RestDefinition> rests = new ArrayList<>();
     @XmlTransient
-    private ModelCamelContext camelContext;
+    private CamelContext camelContext;
 
     public RestsDefinition() {
     }
@@ -72,11 +72,11 @@ public class RestsDefinition extends 
OptionalIdentifiedDefinition<RestsDefinitio
         this.rests = rests;
     }
 
-    public ModelCamelContext getCamelContext() {
+    public CamelContext getCamelContext() {
         return camelContext;
     }
 
-    public void setCamelContext(ModelCamelContext camelContext) {
+    public void setCamelContext(CamelContext camelContext) {
         this.camelContext = camelContext;
     }
 
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java 
b/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java
index 52f689b..3fbffa9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java
@@ -33,7 +33,7 @@ import org.apache.camel.builder.AdviceWithTask;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultRouteContext;
 import org.apache.camel.model.FromDefinition;
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.model.Model;
 import org.apache.camel.model.ModelHelper;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.model.ProcessorDefinitionHelper;
@@ -53,10 +53,6 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         super((RouteDefinition) definition);
     }
 
-    public static RouteDefinition adviceWith(RouteDefinition definition, 
CamelContext camelContext, RouteBuilder builder) throws Exception {
-        return adviceWith(definition, 
camelContext.adapt(ModelCamelContext.class), builder);
-    }
-
     /**
      * Advices this route with the route builder.
      * <p/>
@@ -82,7 +78,7 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
      * @throws Exception can be thrown from the route builder
      * @see AdviceWithRouteBuilder
      */
-    public static RouteDefinition adviceWith(RouteDefinition definition, 
ModelCamelContext camelContext, RouteBuilder builder) throws Exception {
+    public static RouteDefinition adviceWith(RouteDefinition definition, 
CamelContext camelContext, RouteBuilder builder) throws Exception {
         return new RouteReifier(definition).adviceWith(camelContext, builder);
     }
 
@@ -91,7 +87,7 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         throw new UnsupportedOperationException("Not implemented for 
RouteDefinition");
     }
 
-    public Route addRoutes(ModelCamelContext camelContext) throws Exception {
+    public Route addRoutes(CamelContext camelContext) throws Exception {
         @SuppressWarnings("deprecation")
         ErrorHandlerFactory handler = camelContext.getErrorHandlerFactory();
         if (handler != null) {
@@ -114,10 +110,6 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         return CamelContextHelper.getMandatoryEndpoint(camelContext, uri);
     }
 
-    public RouteDefinition adviceWith(CamelContext camelContext, RouteBuilder 
builder) throws Exception {
-        return adviceWith((ModelCamelContext)camelContext, builder);
-    }
-
     /**
      * Advices this route with the route builder.
      * <p/>
@@ -143,7 +135,7 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
      * @see AdviceWithRouteBuilder
      */
     @SuppressWarnings("deprecation")
-    public RouteDefinition adviceWith(ModelCamelContext camelContext, 
RouteBuilder builder) throws Exception {
+    public RouteDefinition adviceWith(CamelContext camelContext, RouteBuilder 
builder) throws Exception {
         ObjectHelper.notNull(camelContext, "CamelContext");
         ObjectHelper.notNull(builder, "RouteBuilder");
 
@@ -176,7 +168,7 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         String beforeAsXml = ModelHelper.dumpModelAsXml(camelContext, 
definition);
 
         // stop and remove this existing route
-        camelContext.removeRouteDefinition(definition);
+        
camelContext.getExtension(Model.class).removeRouteDefinition(definition);
 
         // any advice with tasks we should execute first?
         if (builder instanceof AdviceWithRouteBuilder) {
@@ -190,7 +182,7 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         RouteDefinition merged = routes.route(definition);
 
         // add the new merged route
-        camelContext.getRouteDefinitions().add(0, merged);
+        camelContext.getExtension(Model.class).getRouteDefinitions().add(0, 
merged);
 
         // log the merged route at info level to make it easier to end users 
to spot any mistakes they may have made
         log.info("AdviceWith route after: {}", merged);
@@ -202,7 +194,7 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         if (camelContext instanceof StatefulService) {
             StatefulService service = (StatefulService) camelContext;
             if (service.isStarted()) {
-                camelContext.addRouteDefinition(merged);
+                
camelContext.getExtension(Model.class).addRouteDefinition(merged);
             }
         }
         return merged;
diff --git 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index 5fc0630..75ae709 100644
--- 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -172,7 +172,7 @@ import 
org.apache.camel.support.processor.validation.PredicateValidatingProcesso
 public class DefaultManagementObjectStrategy implements 
ManagementObjectStrategy {
 
     public Object getManagedObjectForCamelContext(CamelContext context) {
-        ManagedCamelContext mc = new 
ManagedCamelContext((ModelCamelContext)context);
+        ManagedCamelContext mc = new ManagedCamelContext(context);
         mc.init(context.getManagementStrategy());
         return mc;
     }
diff --git 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index f3144b3..37e1577 100644
--- 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -46,7 +46,7 @@ import 
org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
 import org.apache.camel.api.management.mbean.ManagedProcessorMBean;
 import org.apache.camel.api.management.mbean.ManagedRouteMBean;
 import org.apache.camel.api.management.mbean.ManagedStepMBean;
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.model.Model;
 import org.apache.camel.model.ModelHelper;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RoutesDefinition;
@@ -62,11 +62,11 @@ public class ManagedCamelContext extends 
ManagedPerformanceCounter implements Ti
 
     private static final Logger LOG = 
LoggerFactory.getLogger(ManagedCamelContext.class);
 
-    private final ModelCamelContext context;
+    private final CamelContext context;
     private final LoadTriplet load = new LoadTriplet();
     private final String jmxDomain;
 
-    public ManagedCamelContext(ModelCamelContext context) {
+    public ManagedCamelContext(CamelContext context) {
         this.context = context;
         this.jmxDomain = 
context.getManagementStrategy().getManagementAgent().getMBeanObjectDomainName();
     }
@@ -362,7 +362,7 @@ public class ManagedCamelContext extends 
ManagedPerformanceCounter implements Ti
 
     @Override
     public String dumpRestsAsXml(boolean resolvePlaceholders) throws Exception 
{
-        List<RestDefinition> rests = context.getRestDefinitions();
+        List<RestDefinition> rests = 
context.getExtension(Model.class).getRestDefinitions();
         if (rests.isEmpty()) {
             return null;
         }
@@ -410,7 +410,7 @@ public class ManagedCamelContext extends 
ManagedPerformanceCounter implements Ti
 
     @Override
     public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean 
resolveDelegateEndpoints) throws Exception {
-        List<RouteDefinition> routes = context.getRouteDefinitions();
+        List<RouteDefinition> routes = 
context.getExtension(Model.class).getRouteDefinitions();
         if (routes.isEmpty()) {
             return null;
         }
@@ -436,7 +436,7 @@ public class ManagedCamelContext extends 
ManagedPerformanceCounter implements Ti
         InputStream is = 
context.getTypeConverter().mandatoryConvertTo(InputStream.class, xml);
         try {
             // add will remove existing route first
-            context.addRouteDefinitions(is);
+            context.getExtension(Model.class).addRouteDefinitions(is);
         } catch (Exception e) {
             // log the error as warn as the management api may be invoked 
remotely over JMX which does not propagate such exception
             String msg = "Error updating routes from xml: " + xml + " due: " + 
e.getMessage();
diff --git 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index 387d436..1e6732e 100644
--- 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -49,7 +49,7 @@ import 
org.apache.camel.api.management.mbean.ManagedProcessorMBean;
 import org.apache.camel.api.management.mbean.ManagedRouteMBean;
 import org.apache.camel.api.management.mbean.ManagedStepMBean;
 import org.apache.camel.api.management.mbean.RouteError;
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.model.Model;
 import org.apache.camel.model.ModelHelper;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.InflightRepository;
@@ -68,11 +68,11 @@ public class ManagedRoute extends ManagedPerformanceCounter 
implements TimerList
 
     protected final Route route;
     protected final String description;
-    protected final ModelCamelContext context;
+    protected final CamelContext context;
     private final LoadTriplet load = new LoadTriplet();
     private final String jmxDomain;
 
-    public ManagedRoute(ModelCamelContext context, Route route) {
+    public ManagedRoute(CamelContext context, Route route) {
         this.route = route;
         this.context = context;
         this.description = route.getDescription();
@@ -328,7 +328,7 @@ public class ManagedRoute extends ManagedPerformanceCounter 
implements TimerList
     @Override
     public String dumpRouteAsXml(boolean resolvePlaceholders, boolean 
resolveDelegateEndpoints) throws Exception {
         String id = route.getId();
-        RouteDefinition def = context.getRouteDefinition(id);
+        RouteDefinition def = 
context.getExtension(Model.class).getRouteDefinition(id);
         if (def != null) {
             return ModelHelper.dumpModelAsXml(context, def, 
resolvePlaceholders, resolveDelegateEndpoints);
         }
@@ -357,7 +357,7 @@ public class ManagedRoute extends ManagedPerformanceCounter 
implements TimerList
 
         try {
             // add will remove existing route first
-            context.addRouteDefinition(def);
+            context.getExtension(Model.class).addRouteDefinition(def);
         } catch (Exception e) {
             // log the error as warn as the management api may be invoked 
remotely over JMX which does not propagate such exception
             String msg = "Error updating route: " + def.getId() + " from xml: 
" + xml + " due: " + e.getMessage();
diff --git 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRouteController.java
 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRouteController.java
index c140920..c81d3b5 100644
--- 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRouteController.java
+++ 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedRouteController.java
@@ -23,14 +23,13 @@ import java.util.stream.Collectors;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
 import org.apache.camel.api.management.mbean.ManagedRouteControllerMBean;
-import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.spi.ManagementStrategy;
 import org.apache.camel.spi.RouteController;
 
 public class ManagedRouteController implements ManagedRouteControllerMBean {
-    private final ModelCamelContext context;
+    private final CamelContext context;
 
-    public ManagedRouteController(ModelCamelContext context) {
+    public ManagedRouteController(CamelContext context) {
         this.context = context;
     }
 
diff --git 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java
 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java
index a2f823d..43bb3af 100644
--- 
a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java
+++ 
b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java
@@ -18,15 +18,15 @@ package org.apache.camel.management.mbean;
 
 import java.util.concurrent.TimeUnit;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedSuspendableRouteMBean;
-import org.apache.camel.model.ModelCamelContext;
 
 @ManagedResource(description = "Managed Suspendable Route")
 public class ManagedSuspendableRoute extends ManagedRoute implements 
ManagedSuspendableRouteMBean {
 
-    public ManagedSuspendableRoute(ModelCamelContext context, Route route) {
+    public ManagedSuspendableRoute(CamelContext context, Route route) {
         super(context, route);
     }
 

Reply via email to