ImportToFilesystemMojo.java

  1. package org.jbehave.core.io.rest.mojo;

  2. import org.apache.maven.plugin.MojoExecutionException;
  3. import org.apache.maven.plugins.annotations.Mojo;
  4. import org.jbehave.core.io.ResourceLoader;
  5. import org.jbehave.core.io.rest.ResourceImporter;
  6. import org.jbehave.core.io.rest.ResourceIndexer;
  7. import org.jbehave.core.io.rest.filesystem.ImportToFilesystem;

  8. /**
  9.  * Mojo to import resources from REST root path to filesystem.
  10.  */
  11. @Mojo(name = "import-to-filesystem", requiresProject = false)
  12. public class ImportToFilesystemMojo extends AbstractFilesystemMojo {

  13.     @Override
  14.     public void execute() throws MojoExecutionException {
  15.         try {
  16.             getLog().info(
  17.                     "Importing to filesystem resources from REST root URI "
  18.                             + restRootURI);
  19.             ResourceImporter importer = createImporter();
  20.             importer.importResources(restRootURI);
  21.         } catch (Exception e) {
  22.             String message = "Failed to import to filesystem resources from REST root URI "
  23.                     + restRootURI;
  24.             getLog().warn(message);
  25.             throw new MojoExecutionException(message, e);
  26.         }
  27.     }

  28.     private ResourceImporter createImporter() {
  29.         ResourceIndexer indexer = newResourceIndexer();
  30.         ResourceLoader loader = newResourceLoader();
  31.         getLog().info(
  32.                 "Creating importer to filesystem using REST provider "
  33.                         + restProvider + " with resourcesPath " + resourcesPath
  34.                         + " and resourcesExt " + resourcesExt);
  35.         return new ImportToFilesystem(indexer, loader, resourcesPath, resourcesExt);
  36.     }

  37. }