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>(  );