Coverage Report - org.jbehave.core.io.rest.mojo.AbstractFilesystemMojo
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractFilesystemMojo
5%
1/20
0%
0/16
7.333
 
 1  
 package org.jbehave.core.io.rest.mojo;
 2  
 
 3  
 import org.apache.maven.plugin.AbstractMojo;
 4  
 import org.jbehave.core.io.ResourceLoader;
 5  
 import org.jbehave.core.io.rest.RESTClient.Type;
 6  
 import org.jbehave.core.io.rest.ResourceIndexer;
 7  
 import org.jbehave.core.io.rest.ResourceUploader;
 8  
 import org.jbehave.core.io.rest.confluence.IndexFromConfluence;
 9  
 import org.jbehave.core.io.rest.confluence.LoadFromConfluence;
 10  
 import org.jbehave.core.io.rest.redmine.IndexFromRedmine;
 11  
 import org.jbehave.core.io.rest.redmine.LoadFromRedmine;
 12  
 import org.jbehave.core.io.rest.redmine.UploadToRedmine;
 13  
 import org.jbehave.core.io.rest.xwiki.IndexFromXWiki;
 14  
 import org.jbehave.core.io.rest.xwiki.LoadFromXWiki;
 15  
 import org.jbehave.core.io.rest.xwiki.UploadToXWiki;
 16  
 
 17  
 /**
 18  
  * Abstract mojo for filesystem import/export operations.
 19  
  */
 20  1
 public abstract class AbstractFilesystemMojo extends AbstractMojo {
 21  
 
 22  
     private static final String REDMINE = "redmine";
 23  
     private static final String XWIKI = "xwiki";
 24  
     private static final String CONFLUENCE = "confluence";
 25  
 
 26  
     /**
 27  
      * The REST provider.  Currently supported are "redmine" and "xwiki".  Also supported is "confluence" for import only.
 28  
      *
 29  
      * @parameter default-value="xwiki" expression="${jbehave.rest.provider}
 30  
      */
 31  
     String restProvider;
 32  
 
 33  
     /**
 34  
      * The root URI of the REST API
 35  
      *
 36  
      * @parameter expression="${jbehave.rest.rootURI}
 37  
      * @required
 38  
      */
 39  
     String restRootURI;
 40  
 
 41  
     /**
 42  
      * The username to access the REST API. May be null if no security enabled.
 43  
      *
 44  
      * @parameter expression="${jbehave.rest.username}
 45  
      */
 46  
     String restUsername;
 47  
 
 48  
     /**
 49  
      * The password to access the REST API. May be null if no security enabled.
 50  
      *
 51  
      * @parameter expression="${jbehave.rest.password}
 52  
      */
 53  
     String restPassword;
 54  
 
 55  
     /**
 56  
          * The path of the filesystem in which the resources are found
 57  
          *
 58  
          * @parameter default-value="src/main/resources/stories"
 59  
          *            expression="${jbehave.rest.resourcesPath}
 60  
          */
 61  
         String resourcesPath;
 62  
 
 63  
         /**
 64  
          * The extension of the resources
 65  
          *
 66  
          * @parameter default-value=".story" expression="${jbehave.rest.resourcesExt}
 67  
          */
 68  
         String resourcesExt;
 69  
 
 70  
     ResourceIndexer newResourceIndexer() {
 71  0
         if (restProvider.equals(REDMINE)) {
 72  0
             return new IndexFromRedmine(restUsername, restPassword);
 73  
         }
 74  0
         if (restProvider.equals(XWIKI)) {
 75  0
             return new IndexFromXWiki(restUsername, restPassword);
 76  
         }
 77  0
         if (restProvider.equals(CONFLUENCE)) {
 78  0
             return new IndexFromConfluence(restUsername, restPassword);
 79  
         }
 80  0
         throw new RuntimeException("Unsupported ResourceIndexer provider " + restProvider);
 81  
     }
 82  
 
 83  
     ResourceLoader newResourceLoader() {
 84  0
         if (restProvider.equals(REDMINE)) {
 85  0
             return new LoadFromRedmine(Type.JSON, restUsername, restPassword);
 86  
         }
 87  0
         if (restProvider.equals(XWIKI)) {
 88  0
             return new LoadFromXWiki(Type.JSON, restUsername, restPassword);
 89  
         }
 90  0
         if (restProvider.equals(CONFLUENCE)) {
 91  0
             return new LoadFromConfluence(restUsername, restPassword);
 92  
         }
 93  
 
 94  0
         throw new RuntimeException("Unsupported ResourceLoader provider " + restProvider);
 95  
     }
 96  
 
 97  
     ResourceUploader newResourceUploader() {
 98  0
         if (restProvider.equals(REDMINE)) {
 99  0
             return new UploadToRedmine(Type.JSON, restUsername, restPassword);
 100  
         }
 101  0
         if (restProvider.equals(XWIKI)) {
 102  0
             return new UploadToXWiki(Type.XML, restUsername, restPassword);
 103  
         }
 104  
 
 105  0
         throw new RuntimeException("Unsupported ResourceUploader provider " + restProvider);
 106  
     }
 107  
 
 108  
 }