Author: olamy Date: Mon Nov 21 14:16:08 2011 New Revision: 1204511 URL: http://svn.apache.org/viewvc?rev=1204511&view=rev Log: call jira soap service to create issue and load patch file
Modified: maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/CreatePatchMojo.java maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraPatchTracker.java maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraSession.java Modified: maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/CreatePatchMojo.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/CreatePatchMojo.java?rev=1204511&r1=1204510&r2=1204511&view=diff ============================================================================== --- maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/CreatePatchMojo.java (original) +++ maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/CreatePatchMojo.java Mon Nov 21 14:16:08 2011 @@ -19,7 +19,10 @@ package org.apache.maven.plugins.patchtr import org.apache.commons.lang.StringUtils; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugins.patchtracker.tracking.PatchTracker; +import org.apache.maven.plugins.patchtracker.tracking.PatchTrackerException; import org.apache.maven.plugins.patchtracker.tracking.PatchTrackerRequest; +import org.apache.maven.plugins.patchtracker.tracking.PatchTrackerResult; import org.apache.maven.project.MavenProject; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; @@ -31,6 +34,8 @@ import org.apache.maven.scm.repository.S import org.apache.maven.scm.repository.ScmRepositoryException; import org.apache.maven.settings.Server; import org.apache.maven.settings.Settings; +import org.codehaus.plexus.PlexusContainer; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.components.interactivity.Prompter; import org.codehaus.plexus.components.interactivity.PrompterException; @@ -130,6 +135,11 @@ public class CreatePatchMojo */ private Prompter prompter; + /** + * @component + */ + private PlexusContainer plexusContainer; + public void execute() throws MojoExecutionException { @@ -143,6 +153,26 @@ public class CreatePatchMojo getLog().debug( patchTrackerRequest.toString() ); + String system = getPatchTrackerSystem(); + + getLog().debug( "patch tracker system:" + system ); + + try + { + PatchTracker patchTracker = (PatchTracker) plexusContainer.lookup( PatchTracker.class.getName(), system ); + PatchTrackerResult result = patchTracker.createPatch( patchTrackerRequest ); + getLog().info( "issue created with id:" + result.getPatchId() + ", url:" + result.getPatchUrl() ); + } + catch ( ComponentLookupException e ) + { + throw new MojoExecutionException( e.getMessage(), e ); + } + catch ( PatchTrackerException e ) + { + throw new MojoExecutionException( e.getMessage(), e ); + } + + } @@ -290,7 +320,7 @@ public class CreatePatchMojo } protected String getPatchTrackerSystem() - throws PrompterException, MojoExecutionException + throws MojoExecutionException { String value = project.getIssueManagement() == null ? "" : project.getIssueManagement().getSystem(); @@ -300,8 +330,15 @@ public class CreatePatchMojo value = system; } - return getValue( value, "path tracker system id ?", Arrays.asList( "jira" ), true, - "you must configure a patch system or at least use interactive mode", "jira" ); + try + { + return getValue( value, "path tracker system id ?", Arrays.asList( "jira" ), true, + "you must configure a patch system or at least use interactive mode", "jira" ); + } + catch ( PrompterException e ) + { + throw new MojoExecutionException( e.getMessage(), e ); + } } protected String getValue( String currentValue, String message, List<String> possibleValues, boolean mandatory, Modified: maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraPatchTracker.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraPatchTracker.java?rev=1204511&r1=1204510&r2=1204511&view=diff ============================================================================== --- maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraPatchTracker.java (original) +++ maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraPatchTracker.java Mon Nov 21 14:16:08 2011 @@ -59,6 +59,7 @@ public class JiraPatchTracker remoteIssue.setProject( extractProjectKey( patchTrackerRequest.getUrl() ) ); remoteIssue.setSummary( patchTrackerRequest.getSummary() ); remoteIssue.setDescription( patchTrackerRequest.getDescription() ); + remoteIssue.setType( "1" ); remoteIssue = jiraSession.createIssue( remoteIssue ); Modified: maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraSession.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraSession.java?rev=1204511&r1=1204510&r2=1204511&view=diff ============================================================================== --- maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraSession.java (original) +++ maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira/JiraSession.java Mon Nov 21 14:16:08 2011 @@ -18,6 +18,7 @@ package org.apache.maven.plugins.patchtr * under the License. */ +import org.apache.axis.encoding.Base64; import org.apache.maven.plugins.patchtracker.tracking.jira.soap.JiraSoapService; import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteAuthenticationException; import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteException; @@ -57,7 +58,8 @@ public class JiraSession throws RemotePermissionException, RemoteValidationException, RemoteAuthenticationException, RemoteException, java.rmi.RemoteException { - return service.addBase64EncodedAttachmentsToIssue( token, issueKey, new String[]{ fileName }, - new String[]{ attachmentContent } ); + + return service.addBase64EncodedAttachmentsToIssue( token, issueKey, new String[]{ fileName }, new String[]{ + Base64.encode( attachmentContent.getBytes() ) } ); } }