You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2009/02/19 10:38:52 UTC
svn commit: r745790 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/view/
components/camel-web/src/main/java/org/apache/camel/web/resources/
components/camel-web/src/main/java/org/apache/camel/web/util/
Author: jstrachan
Date: Thu Feb 19 09:38:51 2009
New Revision: 745790
URL: http://svn.apache.org/viewvc?rev=745790&view=rev
Log:
added GraphViz DOT support for CAMEL-1355 so you can ask for /routes.dot or use Accept text/vnd.graphiz on /routes
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/view/GraphGeneratorSupport.java
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java
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=745790&r1=745789&r2=745790&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 Thu Feb 19 09:38:51 2009
@@ -20,6 +20,7 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -69,6 +70,17 @@
this.dir = dir;
}
+ public String getRoutesText(CamelContext context) throws IOException {
+ List<RouteType> routes = context.getRouteDefinitions();
+ routeGroupMap = createRouteGroupMap(routes);
+
+ StringWriter buffer = new StringWriter();
+ PrintWriter writer = new PrintWriter(buffer);
+ generateFile(writer, routeGroupMap);
+ writer.close();
+ return buffer.toString();
+ }
+
public void drawRoutes(CamelContext context) throws IOException {
File parent = new File(dir);
if (makeParentDirs) {
Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java?rev=745790&r1=745789&r2=745790&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java (original)
+++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/Constants.java Thu Feb 19 09:38:51 2009
@@ -24,4 +24,6 @@
public static final String HTML_MIME_TYPES = "text/html;qs=5";
public static final String DATA_MIME_TYPES = "text/xml,application/xml,application/json";
+
+ public static final String DOT_MIMETYPE = "text/vnd.graphviz";
}
Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java?rev=745790&r1=745789&r2=745790&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java (original)
+++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/RoutesResource.java Thu Feb 19 09:38:51 2009
@@ -18,6 +18,7 @@
package org.apache.camel.web.resources;
import org.apache.camel.CamelContext;
+import org.apache.camel.view.RouteDotGenerator;
import org.apache.camel.model.RouteType;
import org.apache.camel.model.RoutesType;
@@ -27,6 +28,7 @@
import javax.ws.rs.PathParam;
import javax.ws.rs.core.MediaType;
import java.util.List;
+import java.io.IOException;
/**
* @version $Revision: 1.1 $
@@ -54,6 +56,13 @@
return answer;
}
+ @GET
+ @Produces(Constants.DOT_MIMETYPE)
+ public String getDot() throws IOException {
+ RouteDotGenerator generator = new RouteDotGenerator("/tmp/camel");
+ return generator.getRoutesText(getCamelContext());
+ }
+
/**
* Looks up an individual route
*/
Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java?rev=745790&r1=745789&r2=745790&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java (original)
+++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java Thu Feb 19 09:38:51 2009
@@ -22,6 +22,8 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.camel.web.resources.Constants;
+
/**
* @version $Revision$
*/
@@ -35,6 +37,7 @@
m.put("html", MediaType.TEXT_HTML_TYPE);
m.put("xml", MediaType.APPLICATION_XML_TYPE);
m.put("json", MediaType.APPLICATION_JSON_TYPE);
+ m.put("dot", MediaType.valueOf(Constants.DOT_MIMETYPE));
return m;
}
}
\ No newline at end of file