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; }