Author: jstrachan
Date: Thu Mar 12 17:09:00 2009
New Revision: 752938

URL: http://svn.apache.org/viewvc?rev=752938&view=rev
Log:
allow the installed languages to be browsed restfully for CAMEL-1355

Added:
    
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguageResource.java
   (with props)
    
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguagesResource.java
      - copied, changed from r752908, 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java
    
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/
    
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/index.jsp
   (with props)
    
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/
    
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/index.jsp
   (with props)
Modified:
    
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java
    
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource/index.jsp

Modified: 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java?rev=752938&r1=752937&r2=752938&view=diff
==============================================================================
--- 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java
 (original)
+++ 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/CamelContextResource.java
 Thu Mar 12 17:09:00 2009
@@ -122,12 +122,11 @@
     public ConvertersResource getConvertersResource() {
         return new ConvertersResource(this);
     }
-/*
 
-    public List<EndpointLink> getEndpoints() {
-        return getEndpointsResource().getDTO().getEndpoints();
+    @Path("languages")
+    public LanguagesResource getLanguages() {
+        return new LanguagesResource(this);
     }
-*/
 
 
 }

Added: 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguageResource.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguageResource.java?rev=752938&view=auto
==============================================================================
--- 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguageResource.java
 (added)
+++ 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguageResource.java
 Thu Mar 12 17:09:00 2009
@@ -0,0 +1,46 @@
+/**
+ * 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.web.resources;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+
+import org.apache.camel.impl.converter.DefaultTypeConverter;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class LanguageResource extends CamelChildResourceSupport {
+    private static final transient Log LOG = 
LogFactory.getLog(LanguageResource.class);
+    private String id;
+
+    public LanguageResource(CamelContextResource contextResource, String id) {
+        super(contextResource);
+        this.id = id;
+    }
+
+
+    public String getId() {
+        return id;
+    }
+}
\ No newline at end of file

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

Copied: 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguagesResource.java
 (from r752908, 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguagesResource.java?p2=camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguagesResource.java&p1=camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java&r1=752908&r2=752938&rev=752938&view=diff
==============================================================================
--- 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java
 (original)
+++ 
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/LanguagesResource.java
 Thu Mar 12 17:09:00 2009
@@ -19,6 +19,7 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.List;
 
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
@@ -28,49 +29,29 @@
 import org.apache.commons.logging.LogFactory;
 
 /**
+ * Represents the list of languages available in the current camel context
+ *
  * @version $Revision: 1.1 $
  */
-public class ConvertersResource extends CamelChildResourceSupport {
-    private static final transient Log LOG = 
LogFactory.getLog(ConvertersResource.class);
+public class LanguagesResource extends CamelChildResourceSupport {
+    private static final transient Log LOG = 
LogFactory.getLog(LanguagesResource.class);
 
-    public ConvertersResource(CamelContextResource contextResource) {
+    public LanguagesResource(CamelContextResource contextResource) {
         super(contextResource);
     }
 
-    public Map<String, Class> getFromClassTypes() {
-        Map<String, Class> answer = new TreeMap<String, Class>();
-        DefaultTypeConverter converter = getDefaultTypeConverter();
-        if (converter != null) {
-            Set<Class> classes = converter.getFromClassMappings();
-            for (Class aClass : classes) {
-                String name = nameOf(aClass);
-                answer.put(name, aClass);
-            }
-        }
-        return answer;
+    public List<String> getLanguageIds() {
+        return getCamelContext().getLanguageNames();
     }
 
-
     /**
-     * Returns type converters from the given type
+     * Returns a specific language
      */
-    @Path("{type}")
-/*
-    TODO this doesn't work in JAX-RS yet
-
-    public ConvertersFromResource getConvertersFrom(@PathParam("type") Class 
type) {
-*/
-
-    public ConvertersFromResource getConvertersFrom(@PathParam("type") String 
typeName) {
-        Class type = 
getCamelContext().getClassResolver().resolveClass(typeName, 
getClass().getClassLoader());
-        if (type == null) {
+    @Path("{id}")
+    public LanguageResource getLanguage(@PathParam("id") String id) {
+        if (id == null) {
             return null;
         }
-        return new ConvertersFromResource(getContextResource(), type);
-    }
-
-
-    public static String nameOf(Class aClass) {
-        return aClass.getCanonicalName();
+        return new LanguageResource(getContextResource(), id);
     }
-}
+}
\ No newline at end of file

Modified: 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource/index.jsp
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource/index.jsp?rev=752938&r1=752937&r2=752938&view=diff
==============================================================================
--- 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource/index.jsp
 (original)
+++ 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/CamelContextResource/index.jsp
 Thu Mar 12 17:09:00 2009
@@ -27,6 +27,9 @@
 
 <ul>
   <li>
+    <a href="<c:url value='/languages'/>" title="View the available languages 
you can use with Camel">Languages</a>
+  </li>
+  <li>
     <a href="<c:url value='/converters'/>" title="View the available type 
converters currently registered with Camel">Type Converters</a>
   </li>
   <li>

Added: 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/index.jsp
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/index.jsp?rev=752938&view=auto
==============================================================================
--- 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/index.jsp
 (added)
+++ 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/index.jsp
 Thu Mar 12 17:09:00 2009
@@ -0,0 +1,18 @@
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <title>${it.id}</title>
+</head>
+<body>
+
+<h1>${it.id}</h1>
+
+<p>
+  Welcome to the ${it.id} language.
+</p>
+<p>
+  For more information see the <a 
href="http://camel.apache.org/${it.id}.html";>documentation</a>
+</p>
+
+</body>
+</html>

Propchange: 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguageResource/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/index.jsp
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/index.jsp?rev=752938&view=auto
==============================================================================
--- 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/index.jsp
 (added)
+++ 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/index.jsp
 Thu Mar 12 17:09:00 2009
@@ -0,0 +1,25 @@
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <title>Languages</title>
+</head>
+<body>
+
+<h1>Languages</h1>
+
+
+<table>
+  <tr>
+    <th>Language</th>
+    <th>Documentation</th>
+  </tr>
+  <c:forEach items="${it.languageIds}" var="id">
+    <tr>
+      <td><a href="languages/${id}">${id}</a></td>
+      <td><a href="http://camel.apache.org/${id}.html";>documentation</a></td>
+    </tr>
+  </c:forEach>
+</table>
+
+</body>
+</html>

Propchange: 
camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/LanguagesResource/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to