You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2024/11/22 19:48:44 UTC

(maven-changes-plugin) branch MCHANGES-406 created (now 2effd7c)

This is an automated email from the ASF dual-hosted git repository.

elharo pushed a change to branch MCHANGES-406
in repository https://gitbox.apache.org/repos/asf/maven-changes-plugin.git


      at 2effd7c  Update httpclient

This branch includes the following new commits:

     new 2effd7c  Update httpclient

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(maven-changes-plugin) 01/01: Update httpclient

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch MCHANGES-406
in repository https://gitbox.apache.org/repos/asf/maven-changes-plugin.git

commit 2effd7ce4e1f7771755d61c4600f3d6d64dae3f4
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Fri Nov 22 14:48:37 2024 -0500

    Update httpclient
---
 pom.xml                                            | 11 +++--
 .../org/apache/maven/plugins/jira/JiraHelper.java  | 54 +++++++++++++---------
 2 files changed, 40 insertions(+), 25 deletions(-)

diff --git a/pom.xml b/pom.xml
index b8efcbc..f6a1d7e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -268,9 +268,14 @@ under the License.
       <version>4.2</version>
     </dependency>
     <dependency>
-      <groupId>commons-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-      <version>3.1</version>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+      <version>4.4.16</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpclient</artifactId>
+      <version>4.5.14</version>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
diff --git a/src/main/java/org/apache/maven/plugins/jira/JiraHelper.java b/src/main/java/org/apache/maven/plugins/jira/JiraHelper.java
index 1df2c97..2b617c8 100644
--- a/src/main/java/org/apache/maven/plugins/jira/JiraHelper.java
+++ b/src/main/java/org/apache/maven/plugins/jira/JiraHelper.java
@@ -18,13 +18,17 @@
  */
 package org.apache.maven.plugins.jira;
 
+import java.io.IOException;
 import java.text.NumberFormat;
 import java.text.ParsePosition;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.util.EntityUtils;
 import org.apache.maven.plugin.logging.Log;
 
 /**
@@ -87,21 +91,29 @@ public class JiraHelper {
     /**
      * Try to get a JIRA pid from the issue management URL.
      *
-     * @param log Used to tell the user what happened
-     * @param issueManagementUrl The URL to the issue management system
-     * @param client The client used to connect to JIRA
-     * @return The JIRA id for the project, or null if it can't be found
+     * @param log used to tell the user what happened
+     * @param issueManagementUrl the URL to the issue management system
+     * @param client the client used to connect to JIRA
+     * @return the JIRA id for the project, or null if it can't be found
      */
     public static String getPidFromJira(Log log, String issueManagementUrl, HttpClient client) {
         String jiraId = null;
-        GetMethod gm = new GetMethod(issueManagementUrl);
+        HttpGet request = new HttpGet(issueManagementUrl);
 
         String projectPage;
         try {
-            client.executeMethod(gm);
+            HttpResponse response = client.execute(request);
             log.debug("Successfully reached JIRA.");
-            projectPage = gm.getResponseBodyAsString();
-        } catch (Exception e) {
+            HttpEntity entity = response.getEntity();
+            if (entity != null) {
+                projectPage = EntityUtils.toString(entity);
+            } else {
+                if (log.isDebugEnabled()) {
+                    log.error("Unable to read the JIRA project page");
+                }
+                return null;
+            }
+        } catch (IOException e) {
             if (log.isDebugEnabled()) {
                 log.error("Unable to reach the JIRA project page:", e);
             } else {
@@ -131,18 +143,18 @@ public class JiraHelper {
      * Parse out the base URL for JIRA and the JIRA project name from the issue management URL. The issue management URL
      * is assumed to be of the format http(s)://host:port/browse/{projectname}
      *
-     * @param issueManagementUrl The URL to the issue management system
+     * @param issueManagementUrl the URL to the issue management system
      * @return A <code>Map</code> containing the URL and project name
      * @since 2.8
      */
     public static Map<String, String> getJiraUrlAndProjectName(String issueManagementUrl) {
         final int indexBrowse = issueManagementUrl.indexOf("/browse/");
 
-        String jiraUrl;
-        String project;
+        HashMap<String, String> urlMap = new HashMap<>(4);
 
         if (indexBrowse != -1) {
-            jiraUrl = issueManagementUrl.substring(0, indexBrowse);
+            String jiraUrl = issueManagementUrl.substring(0, indexBrowse);
+            urlMap.put("url", jiraUrl);
 
             final int indexBrowseEnd = indexBrowse + "/browse/".length();
 
@@ -150,25 +162,23 @@ public class JiraHelper {
 
             if (indexProject != -1) {
                 // Project name has trailing '/'
-                project = issueManagementUrl.substring(indexBrowseEnd, indexProject);
+                String project = issueManagementUrl.substring(indexBrowseEnd, indexProject);
+                urlMap.put("project", project);
             } else {
                 // Project name without trailing '/'
-                project = issueManagementUrl.substring(indexBrowseEnd);
+                String project = issueManagementUrl.substring(indexBrowseEnd);
+                urlMap.put("project", project);
             }
         } else {
             throw new IllegalArgumentException("Invalid browse URL");
         }
 
-        HashMap<String, String> urlMap = new HashMap<>(4);
-        urlMap.put("url", jiraUrl);
-        urlMap.put("project", project);
-
         return urlMap;
     }
 
     /**
-     * @param url URL.
-     * @return the base URL.
+     * @param url URL
+     * @return the base URL
      * @since 2.8
      */
     public static String getBaseUrl(String url) {