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/01/21 08:31:35 UTC

svn commit: r736251 - in /camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources: CamelContextResource.java EndpointResource.java ResourceSupport.java ViewableResource.java

Author: jstrachan
Date: Tue Jan 20 23:31:34 2009
New Revision: 736251

URL: http://svn.apache.org/viewvc?rev=736251&view=rev
Log:
almost there in the DRY approach to coding both a human and computer REST interface for  CAMEL-888; still have some crud left around util these issues are resolved: https://jsr311.dev.java.net/issues/show_bug.cgi?id=46 https://jsr311.dev.java.net/issues/show_bug.cgi?id=65 (its the same issue really - needing to be able to prioritise HTML over other formats irrespective of the use of regex)

Added:
    camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ResourceSupport.java   (contents, props changed)
      - copied, changed from r735938, camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ViewableResource.java
Removed:
    camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ViewableResource.java
Modified:
    camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/CamelContextResource.java
    camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/EndpointResource.java

Modified: camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/CamelContextResource.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/CamelContextResource.java?rev=736251&r1=736250&r2=736251&view=diff
==============================================================================
--- camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/CamelContextResource.java (original)
+++ camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/CamelContextResource.java Tue Jan 20 23:31:34 2009
@@ -45,7 +45,7 @@
  */
 @Path("/")
 @Singleton
-public class CamelContextResource extends ViewableResource {
+public class CamelContextResource extends ResourceSupport {
 
     private final CamelContext camelContext;
 
@@ -61,15 +61,16 @@
         return camelContext.getName();
     }
 
-
-
-    // HTML representations
-    //-------------------------------------------------------------------------
-
-    // Its a shame there's not an easier way to bind the explicit views...
-    //-------------------------------------------------------------------------
-
-
+    // TODO remove redunant non-DRY code ASAP
+    //
+    // The following redundant methods are here
+    // until there is a way to specify a higher priority for HTML views
+    //
+    // for more details see these issues
+    //
+    // https://jsr311.dev.java.net/issues/show_bug.cgi?id=65
+    // https://jsr311.dev.java.net/issues/show_bug.cgi?id=46
+    
     @GET
     @Path("endpoints")
     @Produces({MediaType.TEXT_HTML})
@@ -78,34 +79,15 @@
     }
 
     @GET
-    @Path("foo")
-    @Produces({MediaType.TEXT_HTML})
-    public Viewable foo() {
-        return view("foo");
-    }
-
-/*
-    @GET
-    @Path("{view}")
-    @Produces({MediaType.TEXT_HTML})
-    public Viewable genericView(@PathParam("view") String view) {
-        return view(view);
-    }
-
-*/
-
-    @GET
     @Path("routes")
     @Produces({MediaType.TEXT_HTML})
     public Viewable routesView() {
         return view("routes");
     }
 
-
     // XML / JSON representations
     //-------------------------------------------------------------------------
 
-
     @GET
     @Produces({MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     public Camel getCamel() {
@@ -129,15 +111,6 @@
         return getEndpointsDTO().getEndpoints();
     }
 
-/*
-    @GET
-    @Path("endpoints")
-    @Produces({"text/html"})
-    public List<EndpointLink> getEndpoints() {
-        return getEndpointsDTO().getEndpoints();
-    }
-*/
-
     /**
      * Looks up an individual endpoint
      */

Modified: camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/EndpointResource.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/EndpointResource.java?rev=736251&r1=736250&r2=736251&view=diff
==============================================================================
--- camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/EndpointResource.java (original)
+++ camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/EndpointResource.java Tue Jan 20 23:31:34 2009
@@ -22,7 +22,7 @@
 /**
  * @version $Revision$
  */
-public class EndpointResource extends ViewableResource {
+public class EndpointResource extends ResourceSupport {
 
     private final Endpoint endpoint;
 

Copied: camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ResourceSupport.java (from r735938, camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ViewableResource.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ResourceSupport.java?p2=camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ResourceSupport.java&p1=camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ViewableResource.java&r1=735938&r2=736251&rev=736251&view=diff
==============================================================================
--- camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ViewableResource.java (original)
+++ camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ResourceSupport.java Tue Jan 20 23:31:34 2009
@@ -18,6 +18,8 @@
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Produces;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
 import javax.ws.rs.core.MediaType;
 
 import com.sun.jersey.api.view.Viewable;
@@ -27,16 +29,12 @@
  *
  * @version $Revision: 1.1 $
  */
-@Produces({MediaType.TEXT_HTML})
-public abstract class ViewableResource {
+public abstract class ResourceSupport {
 
     @GET
+    @Path("{view:\\w*}")
     @Produces({MediaType.TEXT_HTML})
-    public Viewable index() {
-        return view("index");
-    }
-
-    protected Viewable view(String view) {
+    public Viewable view(@PathParam("view") String view) {
         if (view == null || view.length() == 0) {
             view = "index";
         }

Propchange: camel/trunk/components/camel-rest/src/main/java/org/apache/camel/rest/resources/ResourceSupport.java
------------------------------------------------------------------------------
    svn:eol-style = native