You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/11/21 17:35:46 UTC

svn commit: r1204580 - in /maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jira: JiraPatchTracker.java JiraSession.java

Author: olamy
Date: Mon Nov 21 16:35:45 2011
New Revision: 1204580

URL: http://svn.apache.org/viewvc?rev=1204580&view=rev
Log:
add component to the issue if url has a component id

Modified:
    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/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=1204580&r1=1204579&r2=1204580&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 16:35:45 2011
@@ -26,12 +26,14 @@ import org.apache.maven.plugins.patchtra
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.JiraSoapServiceService;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.JiraSoapServiceServiceLocator;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteAuthenticationException;
+import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteComponent;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteException;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteIssue;
 
 import javax.xml.rpc.ServiceException;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.List;
 
 /**
  * @author Olivier Lamy
@@ -53,6 +55,23 @@ public class JiraPatchTracker
             remoteIssue.setDescription( patchTrackerRequest.getDescription() );
             remoteIssue.setType( patchTrackerRequest.getPatchType() );
 
+            // do we have a component id ??
+            String componentId =
+                getComponentId( patchTrackerRequest.getUrl(), extractProjectKey( patchTrackerRequest.getUrl() ) );
+
+            if ( StringUtils.isNotEmpty( componentId ) )
+            {
+                List<RemoteComponent> remoteComponents = jiraSession.getRemoteComponents();
+                for ( RemoteComponent remoteComponent : remoteComponents )
+                {
+                    if ( StringUtils.equalsIgnoreCase( componentId, remoteComponent.getId() ) )
+                    {
+                        remoteIssue.setComponents( new RemoteComponent[]{ remoteComponent } );
+                        break;
+                    }
+                }
+            }
+
             remoteIssue = jiraSession.createIssue( remoteIssue );
 
             // TODO handle of boolean result

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=1204580&r1=1204579&r2=1204580&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 16:35:45 2011
@@ -22,11 +22,16 @@ 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.RemoteComment;
+import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteComponent;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteException;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteIssue;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemotePermissionException;
 import org.apache.maven.plugins.patchtracker.tracking.jira.soap.RemoteValidationException;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * @author Olivier Lamy
  */
@@ -78,7 +83,13 @@ public class JiraSession
         RemoteComment remoteComment = new RemoteComment();
         remoteComment.setBody( comment );
         service.addComment( token, issueKey, remoteComment );
+    }
 
-
+    public List<RemoteComponent> getRemoteComponents()
+        throws RemotePermissionException, RemoteValidationException, RemoteAuthenticationException, RemoteException,
+        java.rmi.RemoteException
+    {
+        RemoteComponent[] remoteComponents = service.getComponents( token, projectKey );
+        return remoteComponents == null ? Collections.<RemoteComponent>emptyList() : Arrays.asList( remoteComponents );
     }
 }