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;
     }
 }