r117 - in trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin: . announcement report
Author: tchemit Date: 2010-01-24 16:52:43 +0100 (Sun, 24 Jan 2010) New Revision: 117 Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/DisplayDataMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategory.java Log: Evolution #266: Am?\195?\169liorer la configuration des goals (connexion anonyme ou pas) Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/AbstractRedmineMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -70,16 +70,20 @@ /** * The redmine's server login. * + * <b>Note:</b> : this parameter is mandatory if you not use a {@code anonymous} service. + * configuration. + * * @parameter expression="${redmine.username}" - * @required * @since 1.0.0 */ protected String username; /** * The redmine's server password. * + * <b>Note:</b> : this parameter is mandatory if you not use a {@code anonymous} service. + * configuration. + * * @parameter expression="${redmine.password}" - * @required * @since 1.0.0 */ protected String password; @@ -144,10 +148,6 @@ */ private final boolean requireUser; /** - * flag to knwon if anonymùous service is required - */ - private final boolean anonymous; - /** * the project loaded in init if {@link #requireProject} flag is on */ protected Project releaseProject; @@ -179,11 +179,6 @@ protected boolean initOk = true; public AbstractRedmineMojo(boolean requireProject, boolean requireVersion, boolean requireUser) { - this(false,requireProject,requireVersion,requireUser); - } - - public AbstractRedmineMojo(boolean anonymous, boolean requireProject, boolean requireVersion, boolean requireUser) { - this.anonymous = anonymous; this.requireProject = requireProject; this.requireVersion = requireVersion; this.requireUser = requireUser; @@ -411,16 +406,6 @@ this.encoding = encoding; } - @Override - public boolean isAnonymous() { - return anonymous; - } - - @Override - public void setAnonymous(boolean anonymous) { - //this is a final state, can not modify it after init - } - /////////////////////////////////////////////////////////////////////////// /// Others /////////////////////////////////////////////////////////////////////////// Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/DisplayDataMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/DisplayDataMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/DisplayDataMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -68,31 +68,24 @@ */ protected boolean sortById; /** - * The redmine's server login. + * Flag to know if anonymùous connexion to redmine server is required. * - * Note: This parameter is not used, but override the required parameter of the abstract mojo. + * For this goal, the default value is {@code true} * - * @parameter expression="${redmine.username}" - * @since 1.1.3 - */ - protected String username; - /** - * The redmine's server password. - * - * Note: This parameter is not used, but override the required parameter of the abstract mojo. + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. * - * @parameter expression="${redmine.password}" + * @parameter expression="${anonymous}" default-value="true" * @since 1.1.3 */ - protected String password; + protected boolean anonymous; /** * list of actions to perform */ protected List<RedmineModelEnum> actions; public DisplayDataMojo() { - // no need to be loggued to obtain informations from redmine - super(true,false, false, false); + super(false, false, false); } @Override @@ -136,10 +129,20 @@ } @Override + public boolean isAnonymous() { + return this.anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean checkSkip() { if (actions == null || actions.isEmpty()) { // no data to treate - getLog().warn("no data types detected, you must fill the required parameter dataTypes, will skip goal"); + getLog().warn("No data types detected, you must fill the required parameter types, will skip goal"); return false; } boolean b = super.checkSkip(); @@ -177,6 +180,10 @@ protected List<RedmineModelEnum> getDownloadActions(String dataTypes, RedmineModelEnum... universe) throws MojoFailureException { + if (universe.length == 0) { + throw new MojoFailureException("List of accepted data types is empty!"); + } + List<RedmineModelEnum> results = new ArrayList<RedmineModelEnum>(); List<RedmineModelEnum> universeList = new ArrayList<RedmineModelEnum>(Arrays.asList(universe)); @@ -187,29 +194,28 @@ try { result = RedmineModelEnum.valueOf(dataType.trim()); } catch (Exception e) { - throw new MojoFailureException("could not obtain data type " + dataType + " in " + Arrays.toString(RedmineModelEnum.values())); + throw new MojoFailureException("Unkown data type '" + dataType + "', Accepted types are : " + universeList); } + if (!universeList.contains(result)) { + // can not accept these value + throw new MojoFailureException("The data type '" + result + "' can not be used, Accepted types are : " + universeList); + } + RedmineModelScope scope = result.getScope(); if (scope == RedmineModelScope.project || scope == RedmineModelScope.version) { // check projectId used if (projectId == null || projectId.isEmpty()) { - throw new MojoFailureException("could not use the data type " + result + " since it is not a project requires and projectId was not filled"); + throw new MojoFailureException("The data type '" + result + "', depends on a project, but the 'projectId' was not filled."); } } if (scope == RedmineModelScope.version) { // check versionId use if (versionId == null || versionId.isEmpty()) { - throw new MojoFailureException("could not use the data type " + result + " since it a version requires and versionId was not filled"); + throw new MojoFailureException("The data type '" + result + "', depends on a version, but the 'versionId' was not filled."); } } - - if (!universeList.isEmpty() && !universeList.contains(result)) { - // can not accept these value - getLog().warn("the type " + result + " is not authorized, Accepted types are : " + universeList); - continue; - } results.add(result); } return results; Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/GenerateChangesMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -57,6 +57,19 @@ } /** + * Flag to know if anonymùous connexion to redmine server is required. + * <p/> + * For this goal, the default value is {@code true} + * <p/> + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="true" + * @since 1.1.3 + */ + protected boolean anonymous; + + /** * The path of the <code>changes.xml</code> file that will be converted into an HTML report. * * @parameter expression="${redmine.xmlPath}" default-value="${basedir}/src/changes/changes.xml" @@ -163,6 +176,16 @@ } @Override + public boolean isAnonymous() { + return this.anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean isGoalSkip() { return skipGenerateChanges; } @@ -212,7 +235,8 @@ return; } } - + // connect as anonymous + setAnonymous(true); super.init(); if (!safe && !initOk) { // we are in none safe mode but init is not ok... @@ -450,7 +474,7 @@ //TODO make some logic checks : version must be // build the maven changes.xml as memory model - ChangesDocument doc = buildChangesDocument(releaseProject, releaseVersion, releaseUser, collector); + ChangesDocument doc = buildChangesDocument(releaseVersion, releaseUser, collector); // store the generated file ChangesXpp3Writer xppWriter = new ChangesXpp3Writer(); @@ -465,7 +489,7 @@ cacheChangesFile = xmlPath; } - protected ChangesDocument buildChangesDocument(Project project, Version version, User user, IssuesCollector collector) throws RedmineServiceException { + protected ChangesDocument buildChangesDocument(Version version, User user, IssuesCollector collector) throws RedmineServiceException { ChangesDocument doc = new ChangesDocument(); Properties properties = new Properties(); Author author = new Author(); Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/NextVersionMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -42,6 +42,16 @@ public class NextVersionMojo extends AbstractRedmineMojo { /** + * Flag to know if anonymùous connexion to redmine server is required. + * + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="false" + * @since 1.1.3 + */ + protected boolean anonymous; + /** * The news description to update to redmine server. * <p/> * Note : if not set, no update of the description will be made. @@ -102,6 +112,16 @@ } @Override + public boolean isAnonymous() { + return anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean isGoalSkip() { return skipNextVersion; } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -41,8 +41,17 @@ * @since 1.0.0 */ public class PublishAttachmentsMojo extends AbstractRedmineMojo { - /** + * Flag to know if anonymùous connexion to redmine server is required. + * + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="false" + * @since 1.1.3 + */ + protected boolean anonymous; + /** * The path of a properties files where files to deploy are descriped. * <p/> * The key of a property is the sortor key @@ -95,6 +104,16 @@ } @Override + public boolean isAnonymous() { + return anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean isGoalSkip() { return skipPublishAttachments; } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/PublishNewsMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -34,8 +34,17 @@ * @since 1.0.0 */ public class PublishNewsMojo extends AbstractRedmineMojo { - /** + * Flag to know if anonymùous connexion to redmine server is required. + * + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="false" + * @since 1.1.3 + */ + protected boolean anonymous; + /** * The content file of the news. * * @parameter expression="${redmine.newsContentFile}" @@ -88,6 +97,16 @@ } @Override + public boolean isAnonymous() { + return anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean isGoalSkip() { return skipPublishNews; } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/UpdateVersionMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -38,8 +38,17 @@ * @since 1.0.0 */ public class UpdateVersionMojo extends AbstractRedmineMojo { - /** + * Flag to know if anonymùous connexion to redmine server is required. + * + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="false" + * @since 1.1.3 + */ + protected boolean anonymous; + /** * The news description to update to redmine server. * <p/> * Note : if not set, no update of the description will be made. @@ -98,6 +107,16 @@ } @Override + public boolean isAnonymous() { + return anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean isGoalSkip() { return skipUpdateVersion; } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/announcement/AbstractAnnouncementMojo.java 2010-01-24 15:52:43 UTC (rev 117) @@ -43,6 +43,18 @@ public abstract class AbstractAnnouncementMojo extends AbstractRedmineMojo implements AnnouncementGeneratorConfiguration { /** + * Flag to know if anonymùous connexion to redmine server is required. + * <p/> + * For this goal, the default value is {@code true} + * <p/> + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="true" + * @since 1.1.3 + */ + protected boolean anonymous; + /** * Directory where the template file will be generated. * * @parameter expression="${redmine.templateOutputDirectory}" default-value="${project.build.directory}/generated-sources/announcement" @@ -210,8 +222,17 @@ /////////////////////////////////////////////////////////////////////////// /// AbstractRedmineMojo /////////////////////////////////////////////////////////////////////////// + @Override + public boolean isAnonymous() { + return this.anonymous; + } @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override protected boolean isRunOnce() { return runOnce; } Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/AbstractRedmineReport.java 2010-01-24 15:52:43 UTC (rev 117) @@ -64,6 +64,18 @@ public abstract class AbstractRedmineReport extends AbstractRedmineMojo implements MavenReport, Plugin, RestClientConfiguration { /** + * Flag to know if anonymùous connexion to redmine server is required. + * <p/> + * For this goal, the default value is {@code true} + * <p/> + * <b>Note:</b> If set to {@code false}, you should fill {@link #username} + * and {@link #password} properties. + * + * @parameter expression="${redmine.anonymous}" default-value="true" + * @since 1.1.3 + */ + protected boolean anonymous; + /** * Template strings per system that is used to discover the URL to use to display an issue report. Each key in this * map denotes the (case-sensitive) identifier of the issue tracking system and its value gives the URL template. * <p> @@ -139,6 +151,15 @@ super(requireProject, requireVersion, requireUser); } + @Override + public boolean isAnonymous() { + return this.anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } /////////////////////////////////////////////////////////////////////////// /// Plugin /////////////////////////////////////////////////////////////////////////// Modified: trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategory.java =================================================================== --- trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategory.java 2010-01-24 15:52:13 UTC (rev 116) +++ trunk/maven-jredmine-plugin/src/main/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategory.java 2010-01-24 15:52:43 UTC (rev 117) @@ -72,7 +72,7 @@ * <p/> * To see the internal ids, use the command : * <pre> - * mvn redmine:display-ids -Dtype=<entry key> + * mvn redmine:display-data -Dtypes=<entry key> * </pre> * * @parameter
participants (1)
-
tchemit@users.nuiton.org