Blame SOURCES/hamcrest-1.3-qdox-2.0.patch

0fee3c
From 6d7da5456a7458a249bed9c4c1e768cc7cc2fe40 Mon Sep 17 00:00:00 2001
0fee3c
From: Michael Simacek <msimacek@redhat.com>
0fee3c
Date: Wed, 1 Feb 2017 12:57:14 +0100
0fee3c
Subject: [PATCH] Port to qdox 2.0
0fee3c
0fee3c
---
0fee3c
 .../src/main/java/org/hamcrest/generator/QDox.java |  4 ++--
0fee3c
 .../org/hamcrest/generator/QDoxFactoryReader.java  | 26 ++++++++++++----------
0fee3c
 2 files changed, 16 insertions(+), 14 deletions(-)
0fee3c
0fee3c
diff --git a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java
0fee3c
index efaf615..338178d 100644
0fee3c
--- a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java
0fee3c
+++ b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDox.java
0fee3c
@@ -1,6 +1,6 @@
0fee3c
 package org.hamcrest.generator;
0fee3c
 
0fee3c
-import com.thoughtworks.qdox.JavaDocBuilder;
0fee3c
+import com.thoughtworks.qdox.JavaProjectBuilder;
0fee3c
 import com.thoughtworks.qdox.model.JavaClass;
0fee3c
 
0fee3c
 import java.io.File;
0fee3c
@@ -16,7 +16,7 @@ import java.io.Reader;
0fee3c
  */
0fee3c
 public class QDox {
0fee3c
 
0fee3c
-    private final JavaDocBuilder javaDocBuilder = new JavaDocBuilder();
0fee3c
+    private final JavaProjectBuilder javaDocBuilder = new JavaProjectBuilder();
0fee3c
 
0fee3c
     public void addSourceTree(File sourceDir) {
0fee3c
         javaDocBuilder.addSourceTree(sourceDir);
0fee3c
diff --git a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java
0fee3c
index 5108140..97fce01 100644
0fee3c
--- a/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java
0fee3c
+++ b/hamcrest-generator/src/main/java/org/hamcrest/generator/QDoxFactoryReader.java
0fee3c
@@ -4,8 +4,10 @@ import com.thoughtworks.qdox.model.DocletTag;
0fee3c
 import com.thoughtworks.qdox.model.JavaClass;
0fee3c
 import com.thoughtworks.qdox.model.JavaMethod;
0fee3c
 import com.thoughtworks.qdox.model.JavaParameter;
0fee3c
-import com.thoughtworks.qdox.model.Type;
0fee3c
+import com.thoughtworks.qdox.model.JavaType;
0fee3c
+import com.thoughtworks.qdox.model.impl.DefaultJavaClass;
0fee3c
 
0fee3c
+import java.util.ArrayList;
0fee3c
 import java.util.Iterator;
0fee3c
 import java.util.List;
0fee3c
 import java.util.regex.Pattern;
0fee3c
@@ -56,15 +58,15 @@ public class QDoxFactoryReader implements Iterable<FactoryMethod> {
0fee3c
         JavaMethod methodSource = findMethodInSource(factoryMethod);
0fee3c
         if (methodSource != null) {
0fee3c
             factoryMethod.setJavaDoc(createJavaDocComment(methodSource));
0fee3c
-            JavaParameter[] parametersFromSource
0fee3c
+            List<JavaParameter> parametersFromSource
0fee3c
                     = methodSource.getParameters();
0fee3c
             List<FactoryMethod.Parameter> parametersFromReflection
0fee3c
                     = factoryMethod.getParameters();
0fee3c
 
0fee3c
-            if (parametersFromReflection.size() == parametersFromSource.length) {
0fee3c
-                for (int i = 0; i < parametersFromSource.length; i++) {
0fee3c
+            if (parametersFromReflection.size() == parametersFromSource.size()) {
0fee3c
+                for (int i = 0; i < parametersFromSource.size(); i++) {
0fee3c
                     parametersFromReflection.get(i).setName(
0fee3c
-                            parametersFromSource[i].getName());
0fee3c
+                            parametersFromSource.get(i).getName());
0fee3c
                 }
0fee3c
             }
0fee3c
         }
0fee3c
@@ -79,18 +81,18 @@ public class QDoxFactoryReader implements Iterable<FactoryMethod> {
0fee3c
         // Note, this doesn't always work - it struggles with some kinds of generics.
0fee3c
         // This seems to cover most cases though.
0fee3c
         List<FactoryMethod.Parameter> params = factoryMethod.getParameters();
0fee3c
-        Type[] types = new Type[params.size()];
0fee3c
+        List<JavaType> types = new ArrayList<JavaType>(params.size());
0fee3c
         boolean varArgs = false;
0fee3c
-        for (int i = 0; i < types.length; i++) {
0fee3c
+        for (int i = 0; i < params.size(); i++) {
0fee3c
             String type = params.get(i).getType();
0fee3c
             varArgs = VARARGS_REGEX.matcher(type).find();
0fee3c
             // QDox ignores varargs and generics, so we strip them out to help QDox.
0fee3c
             type = GENERIC_REGEX.matcher(type).replaceAll("");
0fee3c
             type = VARARGS_REGEX.matcher(type).replaceAll("");
0fee3c
-            types[i] = new Type(type);
0fee3c
+            types.add(new DefaultJavaClass(type));
0fee3c
         }
0fee3c
-        JavaMethod[] methods = classSource.getMethodsBySignature(factoryMethod.getName(), types, false, varArgs);
0fee3c
-        return methods.length == 1 ?  methods[0] : null;
0fee3c
+        List<JavaMethod> methods = classSource.getMethodsBySignature(factoryMethod.getName(), types, false, varArgs);
0fee3c
+        return methods.size() == 1 ?  methods.get(0) : null;
0fee3c
     }
0fee3c
 
0fee3c
     /**
0fee3c
@@ -98,8 +100,8 @@ public class QDoxFactoryReader implements Iterable<FactoryMethod> {
0fee3c
      */
0fee3c
     private static String createJavaDocComment(JavaMethod methodSource) {
0fee3c
         String comment = methodSource.getComment();
0fee3c
-        DocletTag[] tags = methodSource.getTags();
0fee3c
-        if ((comment == null || comment.trim().length() == 0) && tags.length == 0) {
0fee3c
+        List<DocletTag> tags = methodSource.getTags();
0fee3c
+        if ((comment == null || comment.trim().length() == 0) && tags.size() == 0) {
0fee3c
             return null;
0fee3c
         }
0fee3c
         StringBuilder result = new StringBuilder();
0fee3c
-- 
0fee3c
2.9.3
0fee3c