You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/12/10 17:32:16 UTC
[06/15] camel git commit: CAMEL-8044: Camel commands should be more
reusable for remote JVMs
CAMEL-8044: Camel commands should be more reusable for remote JVMs
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7a0f2e8e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7a0f2e8e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7a0f2e8e
Branch: refs/heads/master
Commit: 7a0f2e8eacd51c4788c723b7194176f2566e47e7
Parents: 1c323ae
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Dec 10 13:33:50 2014 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Dec 10 13:33:50 2014 +0100
----------------------------------------------------------------------
.../camel/commands/AbstractCamelController.java | 22 ++++++++++++++++++--
.../apache/camel/commands/CamelController.java | 6 +++---
.../apache/camel/commands/RestShowCommand.java | 13 +++---------
3 files changed, 26 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/7a0f2e8e/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
index bbe9b03..43a90c6 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import javax.xml.bind.JAXBException;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
@@ -33,10 +34,13 @@ import org.apache.camel.Route;
import org.apache.camel.catalog.CamelComponentCatalog;
import org.apache.camel.catalog.DefaultCamelComponentCatalog;
import org.apache.camel.commands.internal.RegexUtil;
+import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.rest.RestDefinition;
+import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.spi.RestRegistry;
import org.apache.camel.util.JsonSchemaHelper;
+import org.apache.camel.util.ObjectHelper;
/**
* Abstract {@link org.apache.camel.commands.CamelController} that implementators should extend.
@@ -120,12 +124,26 @@ public abstract class AbstractCamelController implements CamelController {
}
@SuppressWarnings("deprecation")
- public List<RestDefinition> getRestDefinitions(String camelContextName) {
+ public String getRestModelAsXml(String camelContextName) {
CamelContext context = this.getCamelContext(camelContextName);
if (context == null) {
return null;
}
- return context.getRestDefinitions();
+
+ List<RestDefinition> rests = context.getRestDefinitions();
+ if (rests == null || rests.isEmpty()) {
+ return null;
+ }
+ // use a rests definition to dump the rests
+ RestsDefinition def = new RestsDefinition();
+ def.setRests(rests);
+ String xml;
+ try {
+ xml = ModelHelper.dumpModelAsXml(def);
+ } catch (JAXBException e) {
+ throw ObjectHelper.wrapRuntimeCamelException(e);
+ }
+ return xml;
}
public List<Endpoint> getEndpoints(String camelContextName) {
http://git-wip-us.apache.org/repos/asf/camel/blob/7a0f2e8e/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
index f6d2b89..18ea7f6 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java
@@ -91,12 +91,12 @@ public interface CamelController {
List<Endpoint> getEndpoints(String camelContextName);
/**
- * Return the definition of the REST services for the given Camel context.
+ * Return the definition of the REST services as XML for the given Camel context.
*
* @param camelContextName the Camel context.
- * @return the <code>RouteDefinition</code>.
+ * @return the REST model as xml
*/
- List<RestDefinition> getRestDefinitions(String camelContextName);
+ String getRestModelAsXml(String camelContextName);
/**
* Return the REST services
http://git-wip-us.apache.org/repos/asf/camel/blob/7a0f2e8e/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RestShowCommand.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RestShowCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RestShowCommand.java
index 63f2310..328fa0d 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RestShowCommand.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/RestShowCommand.java
@@ -17,12 +17,8 @@
package org.apache.camel.commands;
import java.io.PrintStream;
-import java.util.List;
import org.apache.camel.CamelContext;
-import org.apache.camel.model.ModelHelper;
-import org.apache.camel.model.rest.RestDefinition;
-import org.apache.camel.model.rest.RestsDefinition;
/**
* Command to show the REST marshaled in XML.
@@ -35,15 +31,12 @@ public class RestShowCommand extends AbstractContextCommand {
@Override
protected Object performContextCommand(CamelController camelController, CamelContext camelContext, PrintStream out, PrintStream err) throws Exception {
- List<RestDefinition> rests = camelController.getRestDefinitions(context);
- if (rests == null || rests.isEmpty()) {
+ String xml = camelController.getRestModelAsXml(context);
+ if (xml == null) {
out.println("There are no REST services in CamelContext with name: " + context);
return null;
}
- // use a routes definition to dump the rests
- RestsDefinition def = new RestsDefinition();
- def.setRests(rests);
- out.println(ModelHelper.dumpModelAsXml(def));
+ out.println(xml);
return null;
}
}