You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by js...@apache.org on 2005/06/15 03:22:58 UTC

svn commit: r190686 - in /incubator/beehive/trunk/controls/test: src/controls/org/apache/beehive/controls/test/controls/binding/ src/units/org/apache/beehive/controls/test/jws/binding/ webapps/controlsWeb/WEB-INF/src/jws/

Author: jsong
Date: Tue Jun 14 18:22:57 2005
New Revision: 190686

URL: http://svn.apache.org/viewcvs?rev=190686&view=rev
Log:
Add a detailed test on dynamic loading class from ControlBeanContext.getClassLoader().

Modified:
    incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControl.java
    incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl.jcs
    incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl2.jcs
    incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jws/binding/TestBinding.java
    incubator/beehive/trunk/controls/test/webapps/controlsWeb/WEB-INF/src/jws/Binding.jws

Modified: incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControl.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControl.java?rev=190686&r1=190685&r2=190686&view=diff
==============================================================================
--- incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControl.java (original)
+++ incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControl.java Tue Jun 14 18:22:57 2005
@@ -18,6 +18,7 @@
 
 package org.apache.beehive.controls.test.controls.binding;
 
+import java.lang.ClassLoader;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import org.apache.beehive.controls.api.bean.ControlExtension;
@@ -61,4 +62,5 @@
     public String getExtendedPropertyByContext();
     public int invokeInheritedEventFromSubControl();
     public int invokeExtendedEventFromSubControl();
+    public ClassLoader getClassLoaderFromContext();
 }

Modified: incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl.jcs
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl.jcs?rev=190686&r1=190685&r2=190686&view=diff
==============================================================================
--- incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl.jcs (original)
+++ incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl.jcs Tue Jun 14 18:22:57 2005
@@ -18,6 +18,7 @@
  
 package org.apache.beehive.controls.test.controls.binding;
 
+import java.lang.ClassLoader;
 import org.apache.beehive.controls.api.context.Context;
 import org.apache.beehive.controls.api.context.ControlBeanContext;
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -67,5 +68,8 @@
     	subevent.method1();
     	return 0;
     }
-    
+ 
+ 	public ClassLoader getClassLoaderFromContext(){
+ 		return context.getClassLoader();
+ 	}
 }

Modified: incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl2.jcs
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl2.jcs?rev=190686&r1=190685&r2=190686&view=diff
==============================================================================
--- incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl2.jcs (original)
+++ incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/binding/SubControlImpl2.jcs Tue Jun 14 18:22:57 2005
@@ -18,6 +18,7 @@
  
 package org.apache.beehive.controls.test.controls.binding;
 
+import java.lang.ClassLoader;
 import org.apache.beehive.controls.api.context.Context;
 import org.apache.beehive.controls.api.context.ControlBeanContext;
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -66,5 +67,8 @@
     	subevent.method1();
     	return 0;
     }
-    
+
+ 	public ClassLoader getClassLoaderFromContext(){
+ 		return context.getClassLoader();
+ 	}    
 }

Modified: incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jws/binding/TestBinding.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jws/binding/TestBinding.java?rev=190686&r1=190685&r2=190686&view=diff
==============================================================================
--- incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jws/binding/TestBinding.java (original)
+++ incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jws/binding/TestBinding.java Tue Jun 14 18:22:57 2005
@@ -48,4 +48,12 @@
 		assertReport("http://localhost:8080/controlsWeb/jws/Binding.jws","testOverwriteByDeclare");
     }
 
+    /**
+     * Tests dynamic loading another impl from ControlBeanContext.getClassLoader()
+     */
+    public void testDynamicLoading() throws Exception
+    {
+		assertReport("http://localhost:8080/controlsWeb/jws/Binding.jws","testDynamicLoading");
+    }
+
 }

Modified: incubator/beehive/trunk/controls/test/webapps/controlsWeb/WEB-INF/src/jws/Binding.jws
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/webapps/controlsWeb/WEB-INF/src/jws/Binding.jws?rev=190686&r1=190685&r2=190686&view=diff
==============================================================================
--- incubator/beehive/trunk/controls/test/webapps/controlsWeb/WEB-INF/src/jws/Binding.jws (original)
+++ incubator/beehive/trunk/controls/test/webapps/controlsWeb/WEB-INF/src/jws/Binding.jws Tue Jun 14 18:22:57 2005
@@ -18,6 +18,9 @@
  * $Header:$
  */
 
+import java.lang.Class;
+import java.lang.ClassLoader;
+import java.lang.ClassNotFoundException;
 import javax.jws.WebMethod;
 import javax.jws.WebService;
 import org.apache.beehive.controls.api.bean.Control;
@@ -57,6 +60,29 @@
 		DriveSubControl driver=new DriveSubControl();
 		driver.setControl2(myControl2);
 		report=driver.doTestOverwriteByDeclare();
+        return report;
+    }
+	/*Tries to load a class from ControlBeanContext.getClassLoader()*/
+    @WebMethod
+    public Report testDynamicLoading()
+    {
+    	Report report =new Report();
+		ClassLoader classloader=myControl1.getClassLoaderFromContext();
+		
+		if (classloader==null){
+			report.setStatus(Report.FAIL);
+			report.setMessage("ClassLoader from context is NULL");
+		}
+		else{
+			try{
+				Class theOtherImpl=classloader.loadClass("org.apache.beehive.controls.test.controls.binding.SubControlImpl");
+				report.setStatus(Report.PASS);
+			}
+			catch(ClassNotFoundException e){
+				report.setStatus(Report.FAIL);
+				report.setMessage("SubControlImpl not found.");
+			}
+		}
         return report;
     }