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