MCHANGES-294: Support REST API for JIRA
o back up to CXF 2.6.3 to avoid Java 1.6 requirement.
git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1412284 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index de5033b..ede38af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -296,7 +296,7 @@
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
- <version>2.7.0</version>
+ <version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
diff --git a/src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java b/src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java
index 3b61ec0..9029aa6 100644
--- a/src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java
+++ b/src/main/java/org/apache/maven/plugin/jira/RestJiraDownloader.java
@@ -36,6 +36,7 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.issues.Issue;
+import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
@@ -126,7 +127,7 @@
Response searchResponse = client.post( searchParamStringWriter.toString() );
if ( searchResponse.getStatus() != Response.Status.OK.getStatusCode() )
{
- if ( MediaType.APPLICATION_JSON_TYPE.getType().equals( searchResponse.getMediaType().getType() ) )
+ if ( MediaType.APPLICATION_JSON_TYPE.getType().equals( getResponseMediaType( searchResponse ).getType() ) )
{
JsonParser jsonParser = jsonFactory.createJsonParser( ( InputStream ) searchResponse.getEntity() );
JsonNode errorTree = jsonParser.readValueAsTree();
@@ -159,6 +160,12 @@
buildIssues( issuesNode, jiraUrl, jiraProject );
}
+ private MediaType getResponseMediaType( Response response )
+ {
+ String header = (String) response.getMetadata().getFirst( HttpHeaders.CONTENT_TYPE ) ;
+ return header == null ? null : MediaType.valueOf( header );
+ }
+
private void buildIssues( JsonNode issuesNode, String jiraUrl, String jiraProject )
{
issueList = new ArrayList<Issue>( );