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.