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