Update the bug986 plugin to remove the annotation in more cases
diff --git a/bug986/src/main/java/org/apache/cxf/xjc/bug986/Bug986Plugin.java b/bug986/src/main/java/org/apache/cxf/xjc/bug986/Bug986Plugin.java
index 7f48ea5..7120355 100644
--- a/bug986/src/main/java/org/apache/cxf/xjc/bug986/Bug986Plugin.java
+++ b/bug986/src/main/java/org/apache/cxf/xjc/bug986/Bug986Plugin.java
@@ -81,10 +81,16 @@
JAnnotationValue st = getAnnotationMember(j, "name");
StringWriter sw = new StringWriter();
st.generate(new JFormatter(sw));
- if (sw.toString().equals("\"anySimpleType\"")
- && field.type().fullName().startsWith("java.util.List")
- && !field.type().fullName().contains("<java.lang.String>")) {
- toRemove.add(j);
+ if (sw.toString().equals("\"anySimpleType\"")) {
+ if (field.type().fullName().startsWith("java.util.List")) {
+ //if it's a list of non-string types, we have to remove
+ if (!!field.type().fullName().contains("<java.lang.String>")) {
+ toRemove.add(j);
+ }
+ } else if (!"java.lang.String".equals(field.type().fullName())) {
+ //if it's not a list and it's not a string, we have to remove
+ toRemove.add(j);
+ }
}
}
}