Author: jsong
Date: Fri Dec 17 18:10:09 2004
New Revision: 122695

URL: http://svn.apache.org/viewcvs?view=rev&rev=122695
Log:
Add tests on control extension to test listening to inherited event and 
extended event.

Modified:
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java
   
incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java?view=diff&rev=122695&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java&r1=122694&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java&r2=122695
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
       (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
       Fri Dec 17 18:10:09 2004
@@ -5,6 +5,7 @@
 import java.lang.annotation.RetentionPolicy;
 import org.apache.beehive.controls.api.bean.ControlInterface;
 import org.apache.beehive.controls.api.properties.PropertySet;
+import org.apache.beehive.controls.api.events.EventSet;
 
 /**
  * A control interface with one method and one propertySet
@@ -21,6 +22,12 @@
        {
                String Position() default CURRENT_POSITION;
                String Layer() default CURRENT_LAYER;
+    }
+
+    @EventSet
+    public interface SuperClassEvent
+    {
+        public void method1();
     }
 
     @TestInterceptor()

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java?view=diff&rev=122695&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java&r1=122694&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java&r2=122695
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
      (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
      Fri Dec 17 18:10:09 2004
@@ -5,6 +5,7 @@
 //import org.apache.beehive.controls.api.bean.ControlExtension;
 import org.apache.beehive.controls.api.bean.ControlInterface;
 import org.apache.beehive.controls.api.properties.PropertySet;
+import org.apache.beehive.controls.api.events.EventSet;
 
 /**
  * A sub control extending ExtensibleControl.
@@ -25,7 +26,15 @@
                String Message() default A_MESSAGE;
     }
 
+    @EventSet
+    public interface SubClassEvent
+    {
+        public void method1();
+    }
+
     public String hello2();
     public String accessInheritedProperty();
     public String getExtendedPropertyByContext();
+    public int invokeInheritedEventFromSubControl();
+    public int invokeExtendedEventFromSubControl();
 }

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs?view=diff&rev=122695&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs&r1=122694&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs&r2=122695
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
   (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
   Fri Dec 17 18:10:09 2004
@@ -3,6 +3,7 @@
 import org.apache.beehive.controls.api.context.Context;
 import org.apache.beehive.controls.api.context.ControlBeanContext;
 import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.events.Client;
 
 /**
  * A control impl of a SubControl and extending ExtensibleControlImpl.
@@ -14,6 +15,9 @@
 {
     @Context ControlBeanContext context;
 
+    @Client SubControl.SuperClassEvent superevent;
+    @Client SubControl.SubClassEvent subevent;
+
     public String hello2()
     {
        return "Hello from subcontrol";
@@ -33,4 +37,20 @@
         
         return newproperty.Message();    
     }
+
+    public int invokeInheritedEventFromSubControl(){
+    
+       superevent.method1();
+       return 0;
+    }
+    public int invokeExtendedEventFromSubControl(){
+
+
+       System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+       System.out.println("on sub control impl class");
+       System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+       subevent.method1();
+       return 0;
+    }
+    
 }

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java?view=diff&rev=122695&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java&r1=122694&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java&r2=122695
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java
  (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/jpf/extension/TestSubControl.java
  Fri Dec 17 18:10:09 2004
@@ -283,4 +283,34 @@
     {
                
assertReport("/controlsWeb/extension/testSetExtendedPropertyBySetter.do");
     }
+
+       /**
+     * Tests invoking a method that is overwritten by subcontrol.
+        */
+       @Freq("detailed")
+       @Status("inactive")
+    public void testInheritedEvent() throws Exception
+    {
+               
assertReport("/controlsWeb/extension/testInvokeInheritedEvent.do");
+               try{
+                       Thread.currentThread().sleep(1000);
+               }
+               catch(Exception e){}
+               
assertReport("/controlsWeb/extension/testGetSuperClassEventRslt.do");
+    }
+
+       /**
+     * Tests invoking a method that is overwritten by subcontrol.
+        */
+       @Freq("detailed")
+    public void testExtendedEvent() throws Exception
+    {
+               
assertReport("/controlsWeb/extension/testInvokeExtendedEvent.do");
+               try{
+                       Thread.currentThread().sleep(1000);
+               }
+               catch(Exception e){}
+               
assertReport("/controlsWeb/extension/testGetSubClassEventRslt.do");
+    }
+
 }

Modified: 
incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf?view=diff&rev=122695&p1=incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf&r1=122694&p2=incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf&r2=122695
==============================================================================
--- 
incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf
  (original)
+++ 
incubator/beehive/trunk/controls/test/webapps/controlsWeb/extension/Controller.jpf
  Fri Dec 17 18:10:09 2004
@@ -27,6 +27,7 @@
 import org.apache.beehive.controls.test.controls.extension.SubControlBean;
 import org.apache.beehive.controls.test.driver.extension.DriveSubControl;
 import org.apache.beehive.test.tools.milton.common.Report;
+import org.apache.beehive.controls.api.events.EventHandler;
 
 /* Test control inheritance by invoking methods on a sub control instance*/
 
@@ -37,9 +38,40 @@
 public class Controller extends PageFlowController
 {
 
+    private boolean superClassEventReceived=false;
+    private boolean subClassEventReceived=false;
+    
     @Control
     public SubControlBean subcontrol;
-    
+
+
+    /** EventHandler that receives SuperClassEvent from subcontrol*/
+    /* This causes a compile error
+    @EventHandler (field="subcontrol", eventSet= 
SubControlBean.SuperClassEvent.class,
+                                   eventName="method1")
+     public void subcontrolMessageHandler()
+     {
+        System.out.println("***************************************");
+        System.out.println("SuperClassEvent received");
+        System.out.println("***************************************");
+
+       superClassEventReceived=true;
+     }
+    */
+
+    /** EventHandler that receives SubClassEvent from subcontrol*/
+
+    @EventHandler (field="subcontrol", eventSet= 
SubControlBean.SubClassEvent.class,
+                                   eventName="method1")
+     public void subcontrolMessageHandler2()
+     {
+        System.out.println("***************************************");
+        System.out.println("SubClassEvent received");
+        System.out.println("***************************************");
+
+       subClassEventReceived=true;
+     }
+   
 
     @Jpf.Action(
         )
@@ -441,6 +473,45 @@
        
     }
     */
+    @Jpf.Action(
+        )
+    protected Forward testInvokeExtendedEvent(){
+       
+       System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+       System.out.println("testInvokeExtendedEvent");
+       System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+
+       
+       Report report=new Report();
+       int result=subcontrol.invokeExtendedEventFromSubControl();
+       if (result==0)
+               report.setStatus(Report.PASS);
+       else{
+               report.setStatus(Report.FAIL);
+               report.setMessage("The event on subcontrol is not triggered 
successfully");
+       }
+        return new Forward(Report.RESULTS, Report.KEY, report);
+    }
+
+    @Jpf.Action(
+        )
+    protected Forward testGetSubClassEventRslt(){
+
+       System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+       System.out.println("testGetSubClassEventRslt");
+       System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+
+       
+       Report report=new Report();
+       
+       if (subClassEventReceived)
+               report.setStatus(Report.PASS);
+       else{
+               report.setStatus(Report.FAIL);
+               report.setMessage("SubClassEvent is not received.");
+       }
+        return new Forward(Report.RESULTS, Report.KEY, report);
+    }
     
 }
 

Reply via email to