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