Author: jstrachan Date: Thu Feb 19 16:43:41 2009 New Revision: 745921 URL: http://svn.apache.org/viewvc?rev=745921&view=rev Log: CAMEL-1355 include the javadoc comments in the auto-generated WADL and browsable API
Added: camel/trunk/components/camel-web/src/main/resources/application-doc.xml (with props) camel/trunk/components/camel-web/src/main/resources/application-grammars.xml (with props) Modified: camel/trunk/components/camel-web/pom.xml camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java Modified: camel/trunk/components/camel-web/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=745921&r1=745920&r2=745921&view=diff ============================================================================== --- camel/trunk/components/camel-web/pom.xml (original) +++ camel/trunk/components/camel-web/pom.xml Thu Feb 19 16:43:41 2009 @@ -228,8 +228,8 @@ <goals> <goal>javadoc</goal> </goals> - <!--<phase>compile</phase>--> - <phase>package</phase> + <phase>compile</phase> + <!--<phase>package</phase>--> </execution> </executions> @@ -238,7 +238,7 @@ <encoding>UTF-8</encoding> <verbose>false</verbose> <show>public</show> - <subpackages>com.sun.jersey.samples.generatewadl.resources</subpackages> + <subpackages>org.apache.camel.web.resources</subpackages> <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet> <docletArtifacts> @@ -310,6 +310,72 @@ </configuration> </plugin> + + <plugin> + <groupId>com.sun.jersey.contribs</groupId> + <artifactId>maven-wadl-plugin</artifactId> + <version>${jersey-version}</version> + <executions> + <execution> + <id>generate</id> + <goals> + <goal>generate</goal> + </goals> + <phase>compile</phase> + </execution> + </executions> + <configuration> + <wadlFile>${project.build.outputDirectory}/application.wadl</wadlFile> + <formatWadlFile>true</formatWadlFile> + <baseUri>http://www.example.com/api</baseUri> + <packagesResourceConfig> + <param>org.apache.camel.web.resources</param> + </packagesResourceConfig> + <wadlGenerators> + <wadlGeneratorDescription> + <className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc</className> + <properties> + <property> + <name>applicationDocsFile</name> + <value>${basedir}/src/main/resources/application-doc.xml</value> + </property> + </properties> + </wadlGeneratorDescription> + <wadlGeneratorDescription> + <className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport</className> + <properties> + <property> + <name>grammarsFile</name> + <value>${basedir}/src/main/resources/application-grammars.xml</value> + </property> + </properties> + </wadlGeneratorDescription> + <wadlGeneratorDescription> + <className>com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport</className> + <properties> + <property> + <name>resourceDocFile</name> + <value>${project.build.outputDirectory}/resourcedoc.xml</value> + </property> + </properties> + </wadlGeneratorDescription> + <!-- + <wadlGeneratorDescription> + <className>com.sun.jersey.samples.generatewadl.util.ExampleWadlGenerator</className> + <properties> + <property> + <name>resourceDocFile</name> + <value>${project.build.outputDirectory}/resourcedoc.xml</value> + </property> + </properties> + </wadlGeneratorDescription> + --> + </wadlGenerators> + </configuration> + + </plugin> + + <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> 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=745921&r1=745920&r2=745921&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 16:43:41 2009 @@ -17,19 +17,42 @@ package org.apache.camel.web.util; import com.sun.jersey.api.core.PackagesResourceConfig; +import com.sun.jersey.api.core.ResourceConfig; +import com.sun.jersey.api.wadl.config.WadlGeneratorConfig; +import com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc; +import com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport; +import com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport; +import org.apache.camel.web.resources.CamelContextResource; +import org.apache.camel.web.resources.Constants; import javax.ws.rs.core.MediaType; import java.util.HashMap; import java.util.Map; -import org.apache.camel.web.resources.Constants; - /** * @version $Revision$ */ public class CamelResourceConfig extends PackagesResourceConfig { public CamelResourceConfig() { - super("org.apache.camel.web"); + super(createProperties()); + } + + protected static Map<String, Object> createProperties() { + Map<String, Object> properties = new HashMap<String, Object>(); + + properties.put(PackagesResourceConfig.PROPERTY_PACKAGES, CamelContextResource.class.getPackage().getName()); + + WadlGeneratorConfig config = WadlGeneratorConfig + .generator(WadlGeneratorApplicationDoc.class) + .prop("applicationDocsFile", "classpath:/application-doc.xml") + .generator(WadlGeneratorGrammarsSupport.class) + .prop("grammarsFile", "classpath:/application-grammars.xml") + .generator(WadlGeneratorResourceDocSupport.class) + .prop("resourceDocFile", "classpath:/resourcedoc.xml") + .build(); + + properties.put(ResourceConfig.PROPERTY_WADL_GENERATOR_CONFIG, config); + return properties; } public Map<String, MediaType> getMediaTypeMappings() { Added: camel/trunk/components/camel-web/src/main/resources/application-doc.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/resources/application-doc.xml?rev=745921&view=auto ============================================================================== --- camel/trunk/components/camel-web/src/main/resources/application-doc.xml (added) +++ camel/trunk/components/camel-web/src/main/resources/application-doc.xml Thu Feb 19 16:43:41 2009 @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<applicationDocs targetNamespace="http://research.sun.com/wadl/2006/10"> + + <doc xml:lang="en" title="Apache Camel Web Console and API"> + <p> + For more on the REST API please see<a href="http://camel.apache.org/web-console.html">the Web Console documentation</a>. + </p> + </doc> + +</applicationDocs> \ No newline at end of file Propchange: camel/trunk/components/camel-web/src/main/resources/application-doc.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: camel/trunk/components/camel-web/src/main/resources/application-grammars.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/resources/application-grammars.xml?rev=745921&view=auto ============================================================================== --- camel/trunk/components/camel-web/src/main/resources/application-grammars.xml (added) +++ camel/trunk/components/camel-web/src/main/resources/application-grammars.xml Thu Feb 19 16:43:41 2009 @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<grammars xmlns="http://research.sun.com/wadl/2006/10" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xi="http://www.w3.org/1999/XML/xinclude"> + <include href="camel-web.xsd" /> +</grammars> \ No newline at end of file Propchange: camel/trunk/components/camel-web/src/main/resources/application-grammars.xml ------------------------------------------------------------------------------ svn:eol-style = native