You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2008/05/16 07:02:45 UTC
svn commit: r656934 - in /activemq/camel/trunk: apache-camel/
components/camel-spring/src/main/java/org/apache/camel/spring/
tooling/maven/ tooling/maven/camel-maven-plugin/
tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/
tooling...
Author: hadrian
Date: Thu May 15 22:02:44 2008
New Revision: 656934
URL: http://svn.apache.org/viewvc?rev=656934&view=rev
Log:
CAMEL-11. Refactored camel-maven-plugin.
Added:
activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ConvertersMojo.java
- copied, changed from r653488, activemq/camel/trunk/tooling/maven/maven-camel-converters/src/main/java/org/apache/camel/maven/ConvertersMojo.java
Removed:
activemq/camel/trunk/tooling/maven/maven-camel-converters/
Modified:
activemq/camel/trunk/apache-camel/pom.xml
activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/Main.java
activemq/camel/trunk/tooling/maven/camel-maven-plugin/pom.xml
activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/DotMojo.java
activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/resources/camel-maven-plugin.properties
activemq/camel/trunk/tooling/maven/pom.xml
Modified: activemq/camel/trunk/apache-camel/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/apache-camel/pom.xml?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/apache-camel/pom.xml (original)
+++ activemq/camel/trunk/apache-camel/pom.xml Thu May 15 22:02:44 2008
@@ -418,21 +418,27 @@
</execution>
</executions>
</plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <!-- let's generate nice PNG / SVG diagrams from our routes -->
<plugin>
<groupId>org.apache.camel</groupId>
- <artifactId>maven-camel-converters</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <id>camel-converters</id>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- </executions>
+ <artifactId>camel-maven-plugin</artifactId>
+ <reportSets>
+ <reportSet>
+ <configuration/>
+ <reports>
+ <report>converters-report</report>
+ <report>goal2</report>
+ </reports>
+ </reportSet>
+ </reportSets>
</plugin>
</plugins>
- </build>
+ </reporting>
+
<profiles>
<profile>
<id>release</id>
Modified: activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/Main.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/Main.java?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/Main.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/Main.java Thu May 15 22:02:44 2008
@@ -376,7 +376,6 @@
}
if (isAggregateDot()) {
-
generateDot("aggregate", aggregateSpringCamelContext(applicationContext), 1);
}
}
Modified: activemq/camel/trunk/tooling/maven/camel-maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/tooling/maven/camel-maven-plugin/pom.xml?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/tooling/maven/camel-maven-plugin/pom.xml (original)
+++ activemq/camel/trunk/tooling/maven/camel-maven-plugin/pom.xml Thu May 15 22:02:44 2008
@@ -32,6 +32,10 @@
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
</dependency>
@@ -65,12 +69,12 @@
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-api</artifactId>
- <version>2.0.2</version>
+ <version>2.0.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-impl</artifactId>
- <version>2.0.2</version>
+ <version>2.0.4.1</version>
</dependency>
Copied: activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ConvertersMojo.java (from r653488, activemq/camel/trunk/tooling/maven/maven-camel-converters/src/main/java/org/apache/camel/maven/ConvertersMojo.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ConvertersMojo.java?p2=activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ConvertersMojo.java&p1=activemq/camel/trunk/tooling/maven/maven-camel-converters/src/main/java/org/apache/camel/maven/ConvertersMojo.java&r1=653488&r2=656934&rev=656934&view=diff
==============================================================================
--- activemq/camel/trunk/tooling/maven/maven-camel-converters/src/main/java/org/apache/camel/maven/ConvertersMojo.java (original)
+++ activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ConvertersMojo.java Thu May 15 22:02:44 2008
@@ -17,131 +17,515 @@
package org.apache.camel.maven;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
import java.lang.reflect.Method;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.ResourceBundle;
import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.ReportingTypeConverterLoader;
-import org.apache.camel.util.ReportingTypeConverterLoader.TypeMapping;
import org.apache.camel.util.ReportingTypeConverterRegistry;
-
-import org.apache.maven.plugin.AbstractMojo;
+import org.apache.camel.util.ReportingTypeConverterLoader.TypeMapping;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.site.decoration.Body;
+import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.site.decoration.Skin;
+import org.apache.maven.doxia.siterenderer.Renderer;
+import org.apache.maven.doxia.siterenderer.RendererException;
+import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
+import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.reporting.AbstractMavenReport;
+import org.apache.maven.reporting.MavenReportException;
/**
- * Generate report of available type converstions.
- *
- * @goal report
- *
+ * Generate report of available type conversions.
+ *
+ * @goal converters-report
+ * @requiresDependencyResolution runtime
* @phase verify
*/
-public class ConvertersMojo
- extends AbstractMojo {
- private static final String LINE_SEPARATOR =
- "-------------------------------------------------------------------------------\n";
+public class ConvertersMojo extends AbstractMavenReport {
+
+ static private final String WIKI_TYPECONVERER_URL = "http://activemq.apache.org/camel/type-converter.html";
+ static private final String CONVERTER_TYPE_STATIC = "org.apache.camel.impl.converter.StaticMethodTypeConverter";
+ static private final String CONVERTER_TYPE_INSTANCE = "org.apache.camel.impl.converter.InstanceMethodTypeConverter";
+ static private final String REPORT_METHOD_STATIC = "STATIC";
+ static private final String REPORT_METHOD_INSTANCE = "INSTANCE";
+ static private final String REPORT_METHOD_UNKNOWN = "UNKNOWN";
+
+ /**
+ * Base output directory for reports.
+ *
+ * @parameter default-value="${project.build.directory}/site"
+ * @readonly
+ * @required
+ */
+ private File outputDirectory;
+
+ /**
+ * Reference to Maven 2 Project.
+ *
+ * @parameter expression="${project}"
+ * @required
+ * @readonly
+ */
+ private MavenProject project;
+
/**
- * Base directory where all reports are written to.
- *
- * @parameter expression="${project.build.directory}/camel-reports"
+ * Doxia SiteRenderer.
+ *
+ * @component
*/
- private File reportsDirectory;
+ private Renderer renderer;
/**
- * Convenience parameter that allows you to disable report generation.
- *
- * @parameter expression="${generateReports}" default-value="true"
+ * Remote repositories which will be searched for source attachments.
+ *
+ * @parameter expression="${project.remoteArtifactRepositories}"
+ * @required
+ * @readonly
*/
- private boolean generateReports;
+ protected List remoteArtifactRepositories;
+ /**
+ * Local maven repository.
+ *
+ * @parameter expression="${localRepository}"
+ * @required
+ * @readonly
+ */
+ protected ArtifactRepository localRepository;
+
+ /**
+ * The component that is used to resolve additional artifacts required.
+ *
+ * @component
+ */
+ protected ArtifactResolver artifactResolver;
+ /**
+ * The component used for creating artifact instances.
+ *
+ * @component
+ */
+ protected ArtifactFactory artifactFactory;
+
+ /**
+ * Gets resource bundle for given locale.
+ *
+ * @param locale
+ * locale
+ * @return resource bundle
+ */
+ protected ResourceBundle getBundle(final Locale locale) {
+ return ResourceBundle.getBundle("camel-maven-plugin", locale, this
+ .getClass().getClassLoader());
+ }
+ /**
+ * @param locale
+ * report locale.
+ * @return report description.
+ * @see org.apache.maven.reporting.MavenReport#getDescription(Locale)
+ */
+ public String getDescription(final Locale locale) {
+ return getBundle(locale).getString("report.converters.description");
+ }
+
+ /**
+ * @see org.apache.maven.reporting.MavenReport#getName(Locale)
+ */
+ public String getName(final Locale locale) {
+ return getBundle(locale).getString("report.converters.name");
+ }
+
+ /**
+ * @see org.apache.maven.reporting.MavenReport#getOutputName()
+ */
+ public String getOutputName() {
+ return "camel-converters";
+ }
+
+ @Override
+ protected String getOutputDirectory() {
+ return outputDirectory.getAbsolutePath();
+ }
+
+ @Override
+ protected MavenProject getProject() {
+ return this.project;
+ }
+
+ @Override
+ protected Renderer getSiteRenderer() {
+ return renderer;
+ }
+
+ /**
+ * @see org.apache.maven.reporting.AbstractMavenReport#execute()
+ */
public void execute() throws MojoExecutionException {
- getLog().info("Camel report directory: " + reportsDirectory);
+ if (!canGenerateReport()) {
+ return;
+ }
- ReportingTypeConverterLoader loader = new ReportingTypeConverterLoader();
- ReportingTypeConverterRegistry registry = new ReportingTypeConverterRegistry();
try {
+ DecorationModel model = new DecorationModel();
+ model.setBody(new Body());
+ Map<String, Object> attributes = new HashMap<String, Object>();
+ attributes.put("outputEncoding", "UTF-8");
+ attributes.put("project", project);
+ Locale locale = Locale.getDefault();
+
+ SiteRenderingContext siteContext = renderer.createContextForSkin(
+ getSkinArtifactFile(model), attributes, model,
+ getName(locale), locale);
+
+ RenderingContext context = new RenderingContext(
+ getReportOutputDirectory(), getOutputName() + ".html");
+ SiteRendererSink sink = new SiteRendererSink(context);
+ generate(sink, locale);
+
+ Writer writer = new OutputStreamWriter(new FileOutputStream(
+ new File(getReportOutputDirectory(), getOutputName()
+ + ".html")), "UTF-8");
+
+ renderer.generateDocument(writer, sink, siteContext);
+ renderer.copyResources(siteContext, new File(project.getBasedir(),
+ "src/site/resources"), outputDirectory);
+ } catch (IOException e) {
+ throw new MojoExecutionException("Error copying resources.", e);
+ } catch (RendererException e) {
+ throw new MojoExecutionException("Error while rendering report.", e);
+ } catch (MojoFailureException e) {
+ throw new MojoExecutionException(
+ "Cannot find skin artifact for report.", e);
+ } catch (MavenReportException e) {
+ throw new MojoExecutionException("Error generating report.", e);
+ }
+ }
+
+ /**
+ * @see org.apache.maven.reporting.AbstractMavenReport#execute()
+ */
+ @Override
+ protected void executeReport(Locale locale) throws MavenReportException {
+
+ if (!createOutputDirectory(outputDirectory)) {
+ throw new MavenReportException("Failed to create report directory "
+ + outputDirectory.getAbsolutePath());
+ }
+
+ ClassLoader oldClassLoader = Thread.currentThread()
+ .getContextClassLoader();
+ try {
+ // TODO: this badly needs some refactoring
+ // mojo.createClassLoader creates a URLClassLoader with whatever is
+ // in
+ // ${project.testClasspathElements}, reason why we don't see all
+ // converters
+ // in the report. First we need a list of classpath elements the
+ // user
+ // could customize via plugin configuration, and elements of that
+ // list
+ // be added to the URLClassLoader. This should also be factored out
+ // into
+ // a utility class.
+ // TODO: there is some interference with the site plugin that needs
+ // investigated.
+ List<?> list = project.getTestClasspathElements();
+ EmbeddedMojo mojo = new EmbeddedMojo();
+ mojo.setClasspathElements(list);
+ ClassLoader newClassLoader = mojo.createClassLoader(oldClassLoader);
+ Thread.currentThread().setContextClassLoader(newClassLoader);
+
+ ReportingTypeConverterLoader loader = new ReportingTypeConverterLoader();
+ ReportingTypeConverterRegistry registry = new ReportingTypeConverterRegistry();
loader.load(registry);
+ getLog().error(
+ "FOUND type mapping; count = "
+ + loader.getTypeConversions().length);
String[] errors = registry.getErrors();
for (String error : errors) {
getLog().error(error);
}
+
+ generateReport(getSink(), locale, loader.getTypeConversions());
} catch (Exception e) {
- throw new MojoExecutionException(e.getMessage());
+ throw new MavenReportException(
+ "Failed to generate TypeConverters report", e);
+ } finally {
+ Thread.currentThread().setContextClassLoader(oldClassLoader);
}
+ }
- if (generateReports) {
- generateReport(loader.getTypeConversions());
+ private boolean createOutputDirectory(final File outputDir) {
+ if (outputDir.exists()) {
+ if (!outputDir.isDirectory()) {
+ getLog().error(
+ "File with same name already exists: "
+ + outputDir.getAbsolutePath());
+ return false;
+ }
+ } else {
+ if (!outputDir.mkdirs()) {
+ getLog().error(
+ "Cannot make output directory at: "
+ + outputDir.getAbsolutePath());
+ return false;
+ }
}
+ return true;
}
- protected void generateReport(TypeMapping[] mappings) throws MojoExecutionException {
+ private File getSkinArtifactFile(DecorationModel decoration)
+ throws MojoFailureException {
- File f = reportsDirectory;
- if (!f.exists()) {
- f.mkdirs();
+ Skin skin = decoration.getSkin();
+ if (skin == null) {
+ skin = Skin.getDefaultSkin();
}
- File report = new File(f, "camel-converters.txt");
- FileWriter fw = null;
+ String version = skin.getVersion();
+ Artifact artifact;
try {
- fw = new FileWriter(report);
+ if (version == null) {
+ version = Artifact.RELEASE_VERSION;
+ }
+
+ VersionRange versionSpec = VersionRange
+ .createFromVersionSpec(version);
+ artifact = artifactFactory.createDependencyArtifact(skin
+ .getGroupId(), skin.getArtifactId(), versionSpec, "jar",
+ null, null);
+
+ artifactResolver.resolve(artifact, remoteArtifactRepositories,
+ localRepository);
+ return artifact.getFile();
+ } catch (InvalidVersionSpecificationException e) {
+ throw new MojoFailureException("The skin version '" + version
+ + "' is not valid: " + e.getMessage());
+ } catch (ArtifactResolutionException e) {
+ throw new MojoFailureException("Unable to fink skin: "
+ + e.getMessage());
+ } catch (ArtifactNotFoundException e) {
+ throw new MojoFailureException("The skin does not exist: "
+ + e.getMessage());
+ }
+ }
+
+ private String converterType(String converterClassName) {
+ if (CONVERTER_TYPE_STATIC.equals(converterClassName)) {
+ return REPORT_METHOD_STATIC;
+ } else if (CONVERTER_TYPE_INSTANCE.equals(converterClassName)) {
+ return REPORT_METHOD_INSTANCE;
+ } else {
+ return REPORT_METHOD_UNKNOWN;
+ }
+ }
- fw.write("Camel Type Converter definitions\n");
- fw.write(LINE_SEPARATOR);
+ private void generateReport(Sink sink, Locale locale, TypeMapping[] mappings)
+ throws MojoExecutionException {
+ beginReport(sink, locale);
+
+ Set<String> classes;
+ Map<String, Set<String>> packages = new TreeMap<String, Set<String>>();
+ Class<?> prevFrom = null;
+ Class<?> prevTo = null;
+
+ sink.table();
+ tableHeader(sink, locale);
+
+ for (TypeMapping mapping : mappings) {
+ boolean ignored = false;
+ Class<?> from = mapping.getFromType();
+ Class<?> to = mapping.getToType();
+ if (ObjectHelper.equal(from, prevFrom)
+ && ObjectHelper.equal(to, prevTo)) {
+ ignored = true;
+ }
+ prevFrom = from;
+ prevTo = to;
+ Method method = mapping.getMethod();
+ Class<?> methodClass = method.getDeclaringClass();
+ String packageName = methodClass.getPackage().getName();
+ if (packages.containsKey(packageName)) {
+ classes = packages.get(packageName);
+ } else {
+ classes = new TreeSet<String>();
+ packages.put(packageName, classes);
+ }
+ classes.add(methodClass.getName());
- Set<String> packages = new HashSet<String>();
- Set<String> classes = new HashSet<String>();
+ if (ignored) {
+ sink.italic();
+ this.tableRow(sink, from.getSimpleName(), to.getSimpleName(),
+ method.getName(), methodClass, mapping
+ .getConverterType().getName());
+ sink.italic_();
+ } else {
+ this.tableRow(sink, from.getSimpleName(), to.getSimpleName(),
+ method.getName(), methodClass, mapping
+ .getConverterType().getName());
+ }
+ }
+ sink.table_();
- StringBuffer buffer = new StringBuffer();
- Class prevFrom = null;
- Class prevTo = null;
- for (TypeMapping mapping : mappings) {
- boolean ignored = false;
- Class from = mapping.getFromType();
- Class to = mapping.getToType();
- if (ObjectHelper.equal(from, prevFrom) && ObjectHelper.equal(to, prevTo)) {
-
- ignored = true;
- buffer.append(" ");
- }
- prevFrom = from;
- prevTo = to;
- Method method = mapping.getMethod();
- Class methodClass = method.getDeclaringClass();
- packages.add(methodClass.getPackage().getName());
- classes.add(methodClass.getName());
-
- buffer.append(from.getSimpleName() + "=>" + to.getSimpleName());
- buffer.append(" [" + mapping.getConverterType().getSimpleName());
- buffer.append("(" + methodClass.getName() + "." + method.getName() + "())]");
- if (ignored) {
- buffer.append(" - IGNORED replaced by conversion method above");
- }
-
- fw.write(buffer.toString() + "\n");
- buffer.setLength(0);
- }
-
- String summary = "Found " + mappings.length + " type conversion methods in " + classes.size()
- + " classes from " + packages.size() + " packages.";
- fw.write(LINE_SEPARATOR);
- fw.write(summary + "\n");
- getLog().info(summary);
- } catch (IOException e) {
- throw new MojoExecutionException("Error creating report file " + report, e);
- } finally {
- if (fw != null) {
- try {
- fw.close();
- } catch (IOException e) {
- // ignore
- }
+ generatePackageReport(sink, packages);
+
+ endReport(sink);
+ }
+
+ private void generatePackageReport(Sink sink,
+ Map<String, Set<String>> packages) {
+ for (Map.Entry<String, Set<String>> entry : packages.entrySet()) {
+ sink.section2();
+ sink.sectionTitle2();
+ sink.text(entry.getKey());
+ sink.sectionTitle2_();
+ sink.list();
+ for (String clazz : entry.getValue()) {
+ sink.listItem();
+ sink.anchor(clazz);
+ sink.text(clazz);
+ sink.anchor_();
+ sink.listItem_();
}
+ sink.list_();
+ sink.section2_();
}
}
+
+ private void beginReport(Sink sink, Locale locale) {
+ String title = getBundle(locale).getString(
+ "report.converters.report.title");
+ String header = getBundle(locale).getString(
+ "report.converters.report.header");
+ String intro = getBundle(locale).getString(
+ "report.converters.report.intro");
+ String seealso = getBundle(locale).getString(
+ "report.converters.report.seealso");
+
+ sink.head();
+ sink.title();
+ sink.text(title);
+ sink.title_();
+ sink.head_();
+
+ sink.body();
+
+ sink.section1();
+
+ sink.sectionTitle1();
+ sink.text(header);
+ sink.sectionTitle1_();
+
+ sink.paragraph();
+ sink.text(intro);
+ sink.paragraph_();
+ sink.paragraph();
+ sink.text(seealso);
+ sink.list();
+ sink.listItem();
+ sink.link(WIKI_TYPECONVERER_URL);
+ sink.text(WIKI_TYPECONVERER_URL);
+ sink.link_();
+ sink.listItem_();
+ sink.list_();
+ sink.paragraph_();
+ }
+
+ private void tableHeader(Sink sink, Locale locale) {
+ String caption = getBundle(locale).getString(
+ "report.converters.report.table.caption");
+ String head1 = getBundle(locale).getString(
+ "report.converters.report.table.head1");
+ String head2 = getBundle(locale).getString(
+ "report.converters.report.table.head2");
+ String head3 = getBundle(locale).getString(
+ "report.converters.report.table.head3");
+ String head4 = getBundle(locale).getString(
+ "report.converters.report.table.head4");
+ String head5 = getBundle(locale).getString(
+ "report.converters.report.table.head5");
+
+ sink.tableCaption();
+ sink.text(caption);
+ sink.tableCaption_();
+
+ sink.tableRow();
+ sink.tableHeaderCell();
+ sink.text(head1);
+ sink.tableHeaderCell_();
+ sink.tableHeaderCell();
+ sink.text(head2);
+ sink.tableHeaderCell_();
+ sink.tableHeaderCell();
+ sink.text(head3);
+ sink.tableHeaderCell_();
+ sink.tableHeaderCell();
+ sink.text(head4);
+ sink.tableHeaderCell_();
+ sink.tableHeaderCell();
+ sink.text(head5);
+ sink.tableHeaderCell_();
+ sink.tableRow();
+ }
+
+ private void tableRow(Sink sink, String from, String to, String method,
+ Class<?> clazz, String type) {
+
+ sink.tableRow();
+ sink.tableCell();
+ sink.text(from);
+ sink.tableCell_();
+ sink.tableCell();
+ sink.text(to);
+ sink.tableCell_();
+ sink.tableCell();
+ sink.text(method);
+ sink.tableCell_();
+ sink.tableCell();
+ sink.link(clazz.getName());
+ sink.text(clazz.getSimpleName());
+ sink.link_();
+ sink.tableCell_();
+ sink.tableCell();
+ sink.text(converterType(type));
+ sink.tableCell_();
+ sink.tableRow();
+ }
+
+ private void endReport(Sink sink) {
+ sink.section1_();
+
+ sink.body_();
+ sink.flush();
+ sink.close();
+ }
}
Modified: activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/DotMojo.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/DotMojo.java?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/DotMojo.java (original)
+++ activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/DotMojo.java Thu May 15 22:02:44 2008
@@ -152,14 +152,14 @@
* @see org.apache.maven.reporting.MavenReport#getDescription(Locale)
*/
public String getDescription(final Locale locale) {
- return getBundle(locale).getString("report.description");
+ return getBundle(locale).getString("report.dot.description");
}
/**
* @see org.apache.maven.reporting.MavenReport#getName(Locale)
*/
public String getName(final Locale locale) {
- return getBundle(locale).getString("report.name");
+ return getBundle(locale).getString("report.dot.name");
}
/**
Modified: activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java (original)
+++ activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java Thu May 15 22:02:44 2008
@@ -206,7 +206,7 @@
return (String[]) args.toArray(new String[0]);
}
- protected ClassLoader createClassLoader(ClassLoader parent) throws MalformedURLException {
+ public ClassLoader createClassLoader(ClassLoader parent) throws MalformedURLException {
getLog().debug("Using classpath: " + classpathElements);
int size = classpathElements.size();
Modified: activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/resources/camel-maven-plugin.properties
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/resources/camel-maven-plugin.properties?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/resources/camel-maven-plugin.properties (original)
+++ activemq/camel/trunk/tooling/maven/camel-maven-plugin/src/main/resources/camel-maven-plugin.properties Thu May 15 22:02:44 2008
@@ -15,5 +15,19 @@
# specific language governing permissions and limitations
# under the License.
-report.name = Camel EIP Diagram
-report.description = This report generates a graphical diagram of all the Enterprise Integration Patterns in this project
\ No newline at end of file
+report.dot.name = Camel EIP Diagram
+report.dot.description = This report generates a graphical diagram of all the Enterprise Integration Patterns in this project
+report.dot.header=Dot Report
+
+report.converters.name = Camel TypeConverter(s)
+report.converters.description = This report generates a list of available type converters.
+report.converters.report.title = Apache Camel TypeConverters
+report.converters.report.header = TypeConverter(s)
+report.converters.report.table.caption = TypeConverter Table
+report.converters.report.table.head1 = From
+report.converters.report.table.head2 = To
+report.converters.report.table.head3 = Method
+report.converters.report.table.head4 = Class
+report.converters.report.table.head5 = Type
+report.converters.report.intro = List of available TypeConverters for on-the-fly transformation of Messages into another required format.
+report.converters.report.seealso = See also:
Modified: activemq/camel/trunk/tooling/maven/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/tooling/maven/pom.xml?rev=656934&r1=656933&r2=656934&view=diff
==============================================================================
--- activemq/camel/trunk/tooling/maven/pom.xml (original)
+++ activemq/camel/trunk/tooling/maven/pom.xml Thu May 15 22:02:44 2008
@@ -34,7 +34,6 @@
<modules>
<module>camel-maven-plugin</module>
<module>maven-html-to-pdf</module>
- <module>maven-camel-converters</module>
</modules>
<dependencies>