[ http://issues.apache.org/jira/browse/BEEHIVE-207?page=history ]
     
Hoi Lam resolved BEEHIVE-207:
-----------------------------

    Resolution: Fixed

An annotation processor was created to validate control member type 
annotations.  If an invalid minValue or maxValue is specified for the 
ControlMemberTypes.Data annotation, it will be caught at build time.

> control property constraint: invalid minValue/maxValue
> ------------------------------------------------------
>
>          Key: BEEHIVE-207
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-207
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Versions: V1Beta
>     Reporter: James Song
>     Assignee: Hoi Lam
>     Priority: Minor
>      Fix For: V1Beta

>
> When I assign a invalid minValue for Date like the following:
> "2007/01/32", I don't get a compile/build error, but I get a runtime error 
> when trying to assign a "valid" value to the property.
> What is expected: a compile/build error, or a correct runtime error.
> Test driver: driver.property.DrivePropertyConstraint2
> Test control:controls.property.constraint.PersonControl
> repro:
> comment out line 118/119 of DrivePropertyConstraint2 and run checkin.tests
> The stacktrace is as the following:
> java.lang.IllegalArgumentException: Value assigned to a date property must be 
> in the form 'YYYY/MM/DD'
>       at 
> org.apache.beehive.controls.runtime.bean.AnnotationConstraintValidator.error(AnnotationConstraintValidator.java:665)
>       at 
> org.apache.beehive.controls.runtime.bean.AnnotationConstraintValidator.error(AnnotationConstraintValidator.java:660)
>       at 
> org.apache.beehive.controls.runtime.bean.AnnotationConstraintValidator.validateDate(AnnotationConstraintValidator.java:510)
>       at 
> org.apache.beehive.controls.runtime.bean.AnnotationConstraintValidator.validate(AnnotationConstraintValidator.java:340)
>       at 
> org.apache.beehive.controls.runtime.bean.AnnotationConstraintValidator.validate(AnnotationConstraintValidator.java:86)
>       at 
> org.apache.beehive.controls.runtime.bean.ControlBean.setControlProperty(ControlBean.java:618)
>       at 
> org.apache.beehive.controls.test.controls.property.constraint.PersonControlBean.setExpirydate(PersonControlBean.java:178)
>       at 
> org.apache.beehive.controls.test.driver.property.DrivePropertyConstraint2.testPropertyConstraint(DrivePropertyConstraint2.java:110)
>       at 
> milton.pageflows.property.DrivePropertyConstraint2.Controller.testPropertyConstraint(Controller.java:32)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:807)
>       at 
> org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:737)
>       at 
> org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:430)
>       at 
> org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:245)
>       at 
> org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:312)
>       at 
> org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:48)
>       at 
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
>       at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:1878)
>       at 
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
>       at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:574)
>       at 
> org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:781)
>       at 
> org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:618)
>       at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>       at 
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>       at 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
>       at 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
>       at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to