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/11/06 17:00:29 UTC

svn commit: r1032105 - /axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java

Author: scheu
Date: Sat Nov  6 16:00:29 2010
New Revision: 1032105

URL: http://svn.apache.org/viewvc?rev=1032105&view=rev
Log:
AXIS2-4873
Contributor: Rich Scheuerle
JAXBUtils is incorrectly avoiding the ClassFinder utility.

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=1032105&r1=1032104&r2=1032105&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 Sat Nov  6 16:00:29 2010
@@ -988,13 +988,27 @@ public class JAXBUtils {
      * @throws ClassNotFoundException if error occurs getting package
      */
     private static List<Class> getAllClassesFromPackage(String pkg, ClassLoader cl) {
+        if (log.isDebugEnabled()) {
+            log.debug("Start: getAllClassesFromPackage for " + pkg);
+        }
         if (pkg == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("End: getAllClassesFromPackage (package is null)");
+            }
             return new ArrayList<Class>();
         }
         
         // See if this is a special package that has a set of known classes.
         List<Class> knownClasses = specialMap.get(pkg);
         if (knownClasses != null) {
+            if (log.isDebugEnabled()) {
+                try {
+                    log.debug("End: getAllClassesFromPackage (package is special) returning: " + knownClasses);
+                } catch(Throwable t) {
+                    // In case classes cannot be toString'd
+                    log.debug("End: getAllClassesFromPackage (package is special)");
+                }
+            }
             return knownClasses;
         }
 
@@ -1004,8 +1018,11 @@ public class JAXBUtils {
 
         ArrayList<Class> classes = new ArrayList<Class>();
 
+        if (log.isDebugEnabled()) {
+            log.debug("Start: Obtain packages from similar directory");
+        }
         try {
-            // This will load classes from directory
+            //
             List<Class> classesFromDir = getClassesFromDirectory(pkg, cl);
             checkClasses(classesFromDir, pkg);
             classes.addAll(classesFromDir);
@@ -1014,25 +1031,42 @@ public class JAXBUtils {
                 log.debug("getClassesFromDirectory failed to get Classes");
             }
         }
+        if (log.isDebugEnabled()) {
+            log.debug("End: Obtain packages from similar directory");
+            log.debug("Start: Obtain packages from ClassFinder plugin");
+        }
         try {
-            //If Clases not found in directory then look for jar that has these classes
-            if (classes.size() <= 0) {
-                //This will load classes from jar file.
-                ClassFinderFactory cff =
-                        (ClassFinderFactory)FactoryRegistry.getFactory(ClassFinderFactory.class);
-                ClassFinder cf = cff.getClassFinder();
-                
-                List<Class> classesFromJar = cf.getClassesFromJarFile(pkg, cl);
-                
-                checkClasses(classesFromJar, pkg);
-                classes.addAll(classesFromJar);
-            }
+            //This will load classes from jar file.
+            ClassFinderFactory cff =
+                (ClassFinderFactory)FactoryRegistry.getFactory(ClassFinderFactory.class);
+            ClassFinder cf = cff.getClassFinder();
+
+            List<Class> classesFromJar = cf.getClassesFromJarFile(pkg, cl);
+
+            checkClasses(classesFromJar, pkg);
+            classes.addAll(classesFromJar);
+
         } catch (ClassNotFoundException e) {
             if (log.isDebugEnabled()) {
                 log.debug("getClassesFromJarFile failed to get Classes");
             }
         }
+        if (log.isDebugEnabled()) {
+            log.debug("End: Obtain packages from ClassFinder plugin");
+        }
 
+        if (log.isDebugEnabled()) {
+            log.debug("End: Obtain packages from ClassFinder plugin");
+        }
+        if (log.isDebugEnabled()) {
+            
+            try {
+                log.debug("End: getAllClassesFromPackage for " + pkg + "with classes " + classes);
+            } catch (Throwable e) {
+                // In case classes cannot be toString'd
+                log.debug("End: getAllClassesFromPackage for " + pkg );
+            }
+        }
         return classes;
     }