[SM-2558]use TCCL as fallback classloader for the SwaggerContext

Project: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/servicemix-bundles/commit/b73b3f3e
Tree: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/tree/b73b3f3e
Diff: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/diff/b73b3f3e

Branch: refs/heads/master
Commit: b73b3f3ec9af2c8ca61975ecf58333d8b7674b3d
Parents: ed7d926
Author: Freeman Fang <[email protected]>
Authored: Mon May 25 14:26:53 2015 +0800
Committer: Freeman Fang <[email protected]>
Committed: Mon May 25 14:26:53 2015 +0800

----------------------------------------------------------------------
 .../main/scala/com/wordnik/swagger/core/SwaggerContext.scala | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/servicemix-bundles/blob/b73b3f3e/swagger-core-1.3.8/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
----------------------------------------------------------------------
diff --git 
a/swagger-core-1.3.8/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
 
b/swagger-core-1.3.8/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
index 0924949..c029dc5 100644
--- 
a/swagger-core-1.3.8/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
+++ 
b/swagger-core-1.3.8/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
@@ -12,7 +12,10 @@ object SwaggerContext {
   registerClassLoader(this.getClass.getClassLoader)
   registerClassLoader(Thread.currentThread().getContextClassLoader())
 
-  def registerClassLoader(cl: ClassLoader) = this.classLoaders += cl
+  def registerClassLoader(cl: ClassLoader) = { 
+    this.classLoaders += cl
+    LOGGER.debug("======>register classloader " + cl);
+  }
 
   def loadClass(name: String) = {
     var cls: Class[_] = null
@@ -26,6 +29,9 @@ object SwaggerContext {
         }
       }
     }
+    //use TCCL as fallback
+    registerClassLoader(Thread.currentThread().getContextClassLoader())
+    cls = Class.forName(name.trim, true, 
Thread.currentThread().getContextClassLoader())
     if (cls == null)
       throw new ClassNotFoundException("class " + name + " not found")
     cls

Reply via email to