You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2011/09/14 11:01:38 UTC

svn commit: r1170482 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/ camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/main/java/org/apache/camel/impl/ camel-core/src/main/java/org/apache/camel/management/ camel-core/src/m...

Author: cschneider
Date: Wed Sep 14 09:01:37 2011
New Revision: 1170482

URL: http://svn.apache.org/viewvc?rev=1170482&view=rev
Log:
CAMEL-4428 Introduce ModelCamelContext for all methods that reference model classes. These methods are deprecated in CamelContext

Added:
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelCamelContext.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MainSupport.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java
    camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Wed Sep 14 09:01:37 2011
@@ -310,6 +310,7 @@ public interface CamelContext extends Su
      *
      * @return list of the current route definitions
      */
+    @Deprecated
     List<RouteDefinition> getRouteDefinitions();
 
     /**
@@ -318,6 +319,7 @@ public interface CamelContext extends Su
      * @param id id of the route
      * @return the route definition or <tt>null</tt> if not found
      */
+    @Deprecated
     RouteDefinition getRouteDefinition(String id);
 
     /**
@@ -351,6 +353,7 @@ public interface CamelContext extends Su
      * @throws Exception if the route definitions could not be loaded for whatever reason
      * @return the route definitions
      */
+    @Deprecated
     RoutesDefinition loadRoutesDefinition(InputStream is) throws Exception;
 
     /**
@@ -359,6 +362,7 @@ public interface CamelContext extends Su
      * @param routeDefinitions the route(s) definition to add
      * @throws Exception if the route definitions could not be created for whatever reason
      */
+    @Deprecated
     void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception;
 
     /**
@@ -367,6 +371,7 @@ public interface CamelContext extends Su
      * @param routeDefinition the route definition to add
      * @throws Exception if the route definition could not be created for whatever reason
      */
+    @Deprecated
     void addRouteDefinition(RouteDefinition routeDefinition) throws Exception;
 
     /**
@@ -376,6 +381,7 @@ public interface CamelContext extends Su
      * @param routeDefinitions route(s) definitions to remove
      * @throws Exception if the route definitions could not be removed for whatever reason
      */
+    @Deprecated
     void removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception;
 
     /**
@@ -385,6 +391,7 @@ public interface CamelContext extends Su
      * @param routeDefinition route definition to remove
      * @throws Exception if the route definition could not be removed for whatever reason
      */
+    @Deprecated
     void removeRouteDefinition(RouteDefinition routeDefinition) throws Exception;
 
     /**
@@ -393,6 +400,7 @@ public interface CamelContext extends Su
      * @param route the route to start
      * @throws Exception is thrown if the route could not be started for whatever reason
      */
+    @Deprecated
     void startRoute(RouteDefinition route) throws Exception;
 
     /**
@@ -409,6 +417,7 @@ public interface CamelContext extends Su
      * @param route the route to stop
      * @throws Exception is thrown if the route could not be stopped for whatever reason
      */
+    @Deprecated
     void stopRoute(RouteDefinition route) throws Exception;
 
     /**
@@ -693,6 +702,7 @@ public interface CamelContext extends Su
      *
      * @return the builder
      */
+    @Deprecated
     ErrorHandlerBuilder getErrorHandlerBuilder();
 
     /**
@@ -700,6 +710,7 @@ public interface CamelContext extends Su
      *
      * @param errorHandlerBuilder the builder
      */
+    @Deprecated
     void setErrorHandlerBuilder(ErrorHandlerBuilder errorHandlerBuilder);
 
     /**
@@ -707,6 +718,7 @@ public interface CamelContext extends Su
      *
      * @param dataFormats the data formats
      */
+    @Deprecated
     void setDataFormats(Map<String, DataFormatDefinition> dataFormats);
 
     /**
@@ -714,6 +726,7 @@ public interface CamelContext extends Su
      *
      * @return the data formats available
      */
+    @Deprecated
     Map<String, DataFormatDefinition> getDataFormats();
 
     /**
@@ -730,6 +743,7 @@ public interface CamelContext extends Su
      * @param name the data format definition name or a reference to it in the {@link Registry}
      * @return the resolved data format definition, or <tt>null</tt> if not found
      */
+    @Deprecated
     DataFormatDefinition resolveDataFormatDefinition(String name);
 
     /**

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java Wed Sep 14 09:01:37 2011
@@ -26,6 +26,7 @@ import org.apache.camel.Expression;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.builder.xml.XPathBuilder;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,11 +38,11 @@ import org.slf4j.LoggerFactory;
  * @version 
  */
 public abstract class BuilderSupport {
-    private CamelContext context;
+    private ModelCamelContext context;
     private ErrorHandlerBuilder errorHandlerBuilder;
 
     protected BuilderSupport(CamelContext context) {
-        this.context = context;
+        this.context = (ModelCamelContext)context;
     }
 
     // Builder methods
@@ -377,11 +378,16 @@ public abstract class BuilderSupport {
     // Properties
     // -------------------------------------------------------------------------
 
-    public CamelContext getContext() {
+    public ModelCamelContext getContext() {
         return context;
     }
-
+    
+    @Deprecated
     public void setContext(CamelContext context) {
+        this.context = (ModelCamelContext)context;
+    }
+
+    public void setContext(ModelCamelContext context) {
         this.context = context;
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java Wed Sep 14 09:01:37 2011
@@ -20,6 +20,7 @@ import java.util.List;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Processor;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.OnExceptionDefinition;
 import org.apache.camel.spi.RouteContext;
 import org.apache.camel.util.ObjectHelper;
@@ -88,7 +89,7 @@ public class ErrorHandlerBuilderRef exte
                 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(routeContext.getCamelContext());
+                    answer = lookupErrorHandlerBuilder((ModelCamelContext)routeContext.getCamelContext());
                 }
                 if (answer == null) {
                     // the other has also no explicit error handler configured then fallback to the default error handler
@@ -110,7 +111,7 @@ public class ErrorHandlerBuilderRef exte
         return answer;
     }
 
-    protected static ErrorHandlerBuilder lookupErrorHandlerBuilder(CamelContext camelContext) {
+    protected static ErrorHandlerBuilder lookupErrorHandlerBuilder(ModelCamelContext camelContext) {
         ErrorHandlerBuilder answer = camelContext.getErrorHandlerBuilder();
         if (answer instanceof ErrorHandlerBuilderRef) {
             ErrorHandlerBuilderRef other = (ErrorHandlerBuilderRef) answer;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java Wed Sep 14 09:01:37 2011
@@ -25,6 +25,7 @@ import org.apache.camel.impl.DefaultCame
 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.OnCompletionDefinition;
 import org.apache.camel.model.OnExceptionDefinition;
 import org.apache.camel.model.RouteDefinition;
@@ -250,8 +251,8 @@ public abstract class RouteBuilder exten
     
     // Properties
     // -----------------------------------------------------------------------
-    public CamelContext getContext() {
-        CamelContext context = super.getContext();
+    public ModelCamelContext getContext() {
+        ModelCamelContext context = super.getContext();
         if (context == null) {
             context = createContainer();
             setContext(context);
@@ -260,7 +261,7 @@ public abstract class RouteBuilder exten
     }
 
     public void addRoutesToCamelContext(CamelContext context) throws Exception {
-        configureRoutes(context);
+        configureRoutes((ModelCamelContext)context);
         // add routes to Camel by populating them
         populateRoutes();
     }
@@ -272,7 +273,7 @@ public abstract class RouteBuilder exten
      * @return the routes configured
      * @throws Exception can be thrown during configuration
      */
-    public RoutesDefinition configureRoutes(CamelContext context) throws Exception {
+    public RoutesDefinition configureRoutes(ModelCamelContext context) throws Exception {
         setContext(context);
         checkInitialized();
         routeCollection.setCamelContext(context);
@@ -315,7 +316,7 @@ public abstract class RouteBuilder exten
     protected void checkInitialized() throws Exception {
         if (initialized.compareAndSet(false, true)) {
             // Set the CamelContext ErrorHandler here
-            CamelContext camelContext = getContext();
+            ModelCamelContext camelContext = getContext();
             if (camelContext.getErrorHandlerBuilder() != null) {
                 setErrorHandlerBuilder(camelContext.getErrorHandlerBuilder());
             }
@@ -329,7 +330,7 @@ public abstract class RouteBuilder exten
     }
 
     protected void populateRoutes() throws Exception {
-        CamelContext camelContext = getContext();
+        ModelCamelContext camelContext = getContext();
         if (camelContext == null) {
             throw new IllegalArgumentException("CamelContext has not been injected!");
         }
@@ -350,7 +351,7 @@ public abstract class RouteBuilder exten
      *
      * @return the CamelContext
      */
-    protected CamelContext createContainer() {
+    protected ModelCamelContext createContainer() {
         return new DefaultCamelContext();
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Wed Sep 14 09:01:37 2011
@@ -75,6 +75,7 @@ import org.apache.camel.management.JmxSy
 import org.apache.camel.management.ManagementStrategyFactory;
 import org.apache.camel.model.Constants;
 import org.apache.camel.model.DataFormatDefinition;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.processor.interceptor.Debug;
@@ -130,7 +131,7 @@ import org.slf4j.LoggerFactory;
  *
  * @version 
  */
-public class DefaultCamelContext extends ServiceSupport implements CamelContext, SuspendableService {
+public class DefaultCamelContext extends ServiceSupport implements ModelCamelContext, SuspendableService {
     private final transient Logger log = LoggerFactory.getLogger(getClass());
     private JAXBContext jaxbContext;
     private CamelContextNameStrategy nameStrategy = new DefaultCamelContextNameStrategy();

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MainSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MainSupport.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MainSupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MainSupport.java Wed Sep 14 09:01:37 2011
@@ -22,6 +22,7 @@ import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
@@ -33,6 +34,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelException;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
@@ -408,7 +410,7 @@ public abstract class MainSupport extend
             }
             RouteDotGenerator generator = new RouteDotGenerator(outputDir);
             LOG.info("Generating DOT file for routes: " + outputDir + " for: " + camelContext + " with name: " + name);
-            generator.drawRoutes(camelContext);
+            generator.drawRoutes((ModelCamelContext)camelContext);
         }
     }
 
@@ -421,7 +423,7 @@ public abstract class MainSupport extend
         } else {
             CamelContext answer = new DefaultCamelContext();
             for (CamelContext camelContext : camelContexts) {
-                answer.addRouteDefinitions(camelContext.getRouteDefinitions());
+                answer.addRouteDefinitions(((ModelCamelContext)camelContext).getRouteDefinitions());
             }
             return answer;
         }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java Wed Sep 14 09:01:37 2011
@@ -48,6 +48,7 @@ import org.apache.camel.management.mbean
 import org.apache.camel.management.mbean.ManagedSuspendableRoute;
 import org.apache.camel.management.mbean.ManagedThreadPool;
 import org.apache.camel.management.mbean.ManagedThrottler;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.processor.Delayer;
 import org.apache.camel.processor.ErrorHandler;
@@ -64,7 +65,7 @@ import org.apache.camel.spi.RouteContext
 public class DefaultManagementObjectStrategy implements ManagementObjectStrategy {
 
     public Object getManagedObjectForCamelContext(CamelContext context) {
-        ManagedCamelContext mc = new ManagedCamelContext(context);
+        ManagedCamelContext mc = new ManagedCamelContext((ModelCamelContext)context);
         mc.init(context.getManagementStrategy());
         return mc;
     }
@@ -110,9 +111,9 @@ public class DefaultManagementObjectStra
     public Object getManagedObjectForRoute(CamelContext context, Route route) {
         ManagedRoute mr;
         if (route.supportsSuspension()) {
-            mr = new ManagedSuspendableRoute(context, route);
+            mr = new ManagedSuspendableRoute((ModelCamelContext)context, route);
         } else {
-            mr = new ManagedRoute(context, route);
+            mr = new ManagedRoute((ModelCamelContext)context, route);
         }
         mr.init(context.getManagementStrategy());
         return mr;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java Wed Sep 14 09:01:37 2011
@@ -21,12 +21,14 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
+
 import javax.management.ObjectName;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.ServiceStatus;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.ModelHelper;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RoutesDefinition;
@@ -40,9 +42,9 @@ import org.apache.camel.spi.management.M
  */
 @ManagedResource(description = "Managed CamelContext")
 public class ManagedCamelContext {
-    private final CamelContext context;
+    private final ModelCamelContext context;
 
-    public ManagedCamelContext(CamelContext context) {
+    public ManagedCamelContext(ModelCamelContext context) {
         this.context = context;
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java Wed Sep 14 09:01:37 2011
@@ -24,6 +24,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.ManagementStatisticsLevel;
 import org.apache.camel.Route;
 import org.apache.camel.ServiceStatus;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.ModelHelper;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.RoutePolicy;
@@ -37,9 +38,9 @@ public class ManagedRoute extends Manage
     public static final String VALUE_UNKNOWN = "Unknown";
     protected final Route route;
     protected final String description;
-    protected final CamelContext context;
+    protected final ModelCamelContext context;
 
-    public ManagedRoute(CamelContext context, Route route) {
+    public ManagedRoute(ModelCamelContext context, Route route) {
         this.route = route;
         this.context = context;
         this.description = route.toString();

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSuspendableRoute.java Wed Sep 14 09:01:37 2011
@@ -18,15 +18,15 @@ package org.apache.camel.management.mbea
 
 import java.util.concurrent.TimeUnit;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.spi.management.ManagedOperation;
 import org.apache.camel.spi.management.ManagedResource;
 
 @ManagedResource(description = "Managed Suspendable Route")
 public class ManagedSuspendableRoute extends ManagedRoute {
 
-    public ManagedSuspendableRoute(CamelContext context, Route route) {
+    public ManagedSuspendableRoute(ModelCamelContext context, Route route) {
         super(context, route);
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/DataFormatDefinition.java Wed Sep 14 09:01:37 2011
@@ -63,7 +63,7 @@ public class DataFormatDefinition extend
             ObjectHelper.notNull(ref, "ref or type");
 
             // try to let resolver see if it can resolve it, its not always possible
-            type = routeContext.getCamelContext().resolveDataFormatDefinition(ref);
+            type = ((ModelCamelContext)routeContext.getCamelContext()).resolveDataFormatDefinition(ref);
 
             if (type != null) {
                 return type.getDataFormat(routeContext);

Added: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelCamelContext.java?rev=1170482&view=auto
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelCamelContext.java (added)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelCamelContext.java Wed Sep 14 09:01:37 2011
@@ -0,0 +1,134 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.model;
+
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.builder.ErrorHandlerBuilder;
+
+/**
+ * Model level interface for a camel context
+ *
+ */
+public interface ModelCamelContext extends CamelContext {
+    /**
+     * Gets the default error handler builder which is inherited by the routes
+     *
+     * @return the builder
+     */
+    ErrorHandlerBuilder getErrorHandlerBuilder();
+
+    /**
+     * Sets the default error handler builder which is inherited by the routes
+     *
+     * @param errorHandlerBuilder the builder
+     */
+    void setErrorHandlerBuilder(ErrorHandlerBuilder errorHandlerBuilder);
+
+    /**
+     * Returns a list of the current route definitions
+     *
+     * @return list of the current route definitions
+     */
+    List<RouteDefinition> getRouteDefinitions();
+
+    /**
+     * Gets the route definition with the given id
+     *
+     * @param id id of the route
+     * @return the route definition or <tt>null</tt> if not found
+     */
+    RouteDefinition getRouteDefinition(String id);
+
+    /**
+     * Loads a collection of route definitions from the given {@link java.io.InputStream}.
+     *
+     * @param is input stream with the route(s) definition to add
+     * @throws Exception if the route definitions could not be loaded for whatever reason
+     * @return the route definitions
+     */
+    RoutesDefinition loadRoutesDefinition(InputStream is) throws Exception;
+
+    /**
+     * Adds a collection of route definitions to the context
+     *
+     * @param routeDefinitions the route(s) definition to add
+     * @throws Exception if the route definitions could not be created for whatever reason
+     */
+    void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception;
+
+    /**
+     * Add a route definition to the context
+     *
+     * @param routeDefinition the route definition to add
+     * @throws Exception if the route definition could not be created for whatever reason
+     */
+    void addRouteDefinition(RouteDefinition routeDefinition) throws Exception;
+
+    /**
+     * Removes a collection of route definitions from the context - stopping any previously running
+     * routes if any of them are actively running
+     *
+     * @param routeDefinitions route(s) definitions to remove
+     * @throws Exception if the route definitions could not be removed for whatever reason
+     */
+    void removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception;
+
+    /**
+     * Removes a route definition from the context - stopping any previously running
+     * routes if any of them are actively running
+     *
+     * @param routeDefinition route definition to remove
+     * @throws Exception if the route definition could not be removed for whatever reason
+     */
+    void removeRouteDefinition(RouteDefinition routeDefinition) throws Exception;
+
+    /**
+     * Starts the given route if it has been previously stopped
+     *
+     * @param route the route to start
+     * @throws Exception is thrown if the route could not be started for whatever reason
+     */
+    void startRoute(RouteDefinition route) throws Exception;
+    
+    /**
+     * Stops the given route.
+     *
+     * @param route the route to stop
+     * @throws Exception is thrown if the route could not be stopped for whatever reason
+     */
+    void stopRoute(RouteDefinition route) throws Exception;
+
+    /**
+     * Sets the data formats that can be referenced in the routes.
+     *
+     * @param dataFormats the data formats
+     */
+    void setDataFormats(Map<String, DataFormatDefinition> dataFormats);
+
+    /**
+     * Gets the data formats that can be referenced in the routes.
+     *
+     * @return the data formats available
+     */
+    Map<String, DataFormatDefinition> getDataFormats();
+
+}

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java Wed Sep 14 09:01:37 2011
@@ -92,7 +92,7 @@ public class RouteDefinition extends Pro
      *
      * @param context the camel context
      */
-    public void prepare(CamelContext context) {
+    public void prepare(ModelCamelContext context) {
         if (prepared.compareAndSet(false, true)) {
             RouteDefinitionHelper.prepareRoute(context, this);
         }
@@ -151,7 +151,7 @@ public class RouteDefinition extends Pro
         }
     }
 
-    public List<RouteContext> addRoutes(CamelContext camelContext, Collection<Route> routes) throws Exception {
+    public List<RouteContext> addRoutes(ModelCamelContext camelContext, Collection<Route> routes) throws Exception {
         List<RouteContext> answer = new ArrayList<RouteContext>();
 
         ErrorHandlerBuilder handler = camelContext.getErrorHandlerBuilder();
@@ -179,6 +179,11 @@ public class RouteDefinition extends Pro
         ObjectHelper.notNull(camelContext, "CamelContext");
         return CamelContextHelper.getMandatoryEndpoint(camelContext, uri);
     }
+    
+    @Deprecated
+    public RouteDefinition adviceWith(CamelContext camelContext, RouteBuilder builder) throws Exception {
+        return adviceWith((ModelCamelContext)camelContext, builder);
+    }
 
     /**
      * Advices this route with the route builder.
@@ -204,7 +209,7 @@ public class RouteDefinition extends Pro
      * @throws Exception can be thrown from the route builder
      * @see AdviceWithRouteBuilder
      */
-    public RouteDefinition adviceWith(CamelContext camelContext, RouteBuilder builder) throws Exception {
+    public RouteDefinition adviceWith(ModelCamelContext camelContext, RouteBuilder builder) throws Exception {
         ObjectHelper.notNull(camelContext, "CamelContext");
         ObjectHelper.notNull(builder, "RouteBuilder");
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java Wed Sep 14 09:01:37 2011
@@ -81,7 +81,7 @@ public final class RouteDefinitionHelper
      * @param context the camel context
      * @param route   the route
      */
-    public static void prepareRoute(CamelContext context, RouteDefinition route) {
+    public static void prepareRoute(ModelCamelContext context, RouteDefinition route) {
         prepareRoute(context, route, null, null, null, null, null);
     }
 
@@ -98,7 +98,7 @@ public final class RouteDefinitionHelper
      * @param interceptSendToEndpointDefinitions optional list of interceptSendToEndpoints
      * @param onCompletions                      optional list onCompletions
      */
-    public static void prepareRoute(CamelContext context, RouteDefinition route,
+    public static void prepareRoute(ModelCamelContext context, RouteDefinition route,
                                     List<OnExceptionDefinition> onExceptions,
                                     List<InterceptDefinition> intercepts,
                                     List<InterceptFromDefinition> interceptFromDefinitions,
@@ -159,7 +159,7 @@ public final class RouteDefinitionHelper
         }
     }
 
-    private static void initParentAndErrorHandlerBuilder(CamelContext context, RouteDefinition route,
+    private static void initParentAndErrorHandlerBuilder(ModelCamelContext context, RouteDefinition route,
                                                          List<ProcessorDefinition> abstracts, List<OnExceptionDefinition> onExceptions) {
 
         if (context != null) {

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RoutesDefinition.java Wed Sep 14 09:01:37 2011
@@ -24,7 +24,6 @@ import javax.xml.bind.annotation.XmlElem
 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.builder.ErrorHandlerBuilder;
 
@@ -49,7 +48,7 @@ public class RoutesDefinition extends Op
     @XmlTransient
     private List<OnCompletionDefinition> onCompletions = new ArrayList<OnCompletionDefinition>();
     @XmlTransient
-    private CamelContext camelContext;
+    private ModelCamelContext camelContext;
     @XmlTransient
     private ErrorHandlerBuilder errorHandlerBuilder;
 
@@ -116,11 +115,11 @@ public class RoutesDefinition extends Op
         this.onCompletions = onCompletions;
     }
 
-    public CamelContext getCamelContext() {
+    public ModelCamelContext getCamelContext() {
         return camelContext;
     }
 
-    public void setCamelContext(CamelContext camelContext) {
+    public void setCamelContext(ModelCamelContext camelContext) {
         this.camelContext = camelContext;
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java Wed Sep 14 09:01:37 2011
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.RouteDefinition;
 
 /**
@@ -47,7 +48,7 @@ public abstract class GraphGeneratorSupp
 
     public String getRoutesText(CamelContext context) throws IOException {
         // used by web console
-        List<RouteDefinition> routes = context.getRouteDefinitions();
+        List<RouteDefinition> routes = ((ModelCamelContext)context).getRouteDefinitions();
         routeGroupMap = createRouteGroupMap(routes);
         return createRouteMapText();
     }

Modified: camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java?rev=1170482&r1=1170481&r2=1170482&view=diff
==============================================================================
--- camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java Wed Sep 14 09:01:37 2011
@@ -46,6 +46,7 @@ import org.apache.camel.model.Identified
 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.OnCompletionDefinition;
 import org.apache.camel.model.OnExceptionDefinition;
 import org.apache.camel.model.PackageScanDefinition;
@@ -94,7 +95,7 @@ import org.slf4j.LoggerFactory;
  * @version 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-public abstract class AbstractCamelContextFactoryBean<T extends CamelContext> extends IdentifiedType implements RouteContainer {
+public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContext> extends IdentifiedType implements RouteContainer {
     
     /**
      * JVM system property to control lazy loading of type converters.