You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sc...@apache.org on 2010/09/30 14:08:09 UTC
svn commit: r1003028 -
/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java
Author: scheu
Date: Thu Sep 30 12:08:09 2010
New Revision: 1003028
URL: http://svn.apache.org/viewvc?rev=1003028&view=rev
Log:
AXIS2-4803
Fixed containsClasses method
Modified:
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java?rev=1003028&r1=1003027&r2=1003028&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java (original)
+++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java Thu Sep 30 12:08:09 2010
@@ -936,15 +936,32 @@ public class JAXBUtils {
*/
private static boolean containsClasses(JAXBContext context, List<String> classRefs) {
String text = context.toString();
-
text = text.replace('\n', ' ');
text = text.replace('\t', ' ');
text = text.replace('\r', ' ');
+ text = text.replace('<', ' ');
+ text = text.replace('[', ' ');
+ text = text.replace(']', ' ');
for (String classRef: classRefs) {
- if (!classRef.endsWith(".ObjectFactory")) {
+ // Strip off generic and array chars
+ int index = classRef.indexOf('<');
+ if (index > 0) {
+ classRef = classRef.substring(0, index);
+ }
+ index = classRef.indexOf('[');
+ if (index > 0) {
+ classRef = classRef.substring(0, index);
+ }
+
+ if (classRef.length() > 0 ||
+ classRef.endsWith(".ObjectFactory") ||
+ classRef.startsWith("java.util.") ||
+ classRef.startsWith("java.lang.")) {
+ // skip these
+ } else {
String search = " " + classRef + " ";
- if (text.contains(search)) {
+ if (!text.contains(search)) {
if (log.isDebugEnabled()) {
log.debug("The context does not contain " + classRef + " " + context);
}