You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2015/05/25 08:29:47 UTC

[2/9] servicemix-bundles git commit: [SM-2558]use TCCL as fallback classloader for the SwaggerContext

[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/ef5dba8b
Tree: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/tree/ef5dba8b
Diff: http://git-wip-us.apache.org/repos/asf/servicemix-bundles/diff/ef5dba8b

Branch: refs/heads/master
Commit: ef5dba8b80f6078c414357c1ba1abc84990daaa6
Parents: 1493ccd
Author: Freeman Fang <fr...@gmail.com>
Authored: Mon May 25 14:25:29 2015 +0800
Committer: Freeman Fang <fr...@gmail.com>
Committed: Mon May 25 14:25:29 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/ef5dba8b/swagger-core-1.3.4/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
----------------------------------------------------------------------
diff --git a/swagger-core-1.3.4/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala b/swagger-core-1.3.4/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
index 0924949..c029dc5 100644
--- a/swagger-core-1.3.4/src/main/scala/com/wordnik/swagger/core/SwaggerContext.scala
+++ b/swagger-core-1.3.4/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