Beehive SVN -- Release Notes
Noteworthy Changes
Changes from the last release that represent a fundamental behavior change or are not backward compatible.
- Removed the <build-webservices> Ant macros from ant/beehive-tools.xml. These macros are only used to build WSM annotated web services, which are not included in this release. See BEEHIVE-1046.
- Removed support in the ControlFilter for storing a ServletBeanContext object in the HttpSession. Supporting this introduced an egregious threading bug where multiple threads in the same session could see each other's ServletRequest and ServletResponse objects. See BEEHIVE-1028.
- Changed the Page Flow Control container to have a PageFlowBeanContext object per Page Flow. The previous Page Flow Control container had used single PageFlowBeanContext object per HttpSession; this introduced an egregious threading bug where multiple threads in the same session could see each other's ServletRequest and ServletResponse objects. See BEEHIVE-1028.
- Changed the postEvent method signature on both org.apache.beehive.controls.runtime.bean.ControlBean and org.apache.beehive.controls.spi.svc.Interceptor to include the return value and any Throwable that may have occurred during event handling. See BEEHIVE-1051.
Bugs
- [BEEHIVE-255] - Need to verify the support for JavaScript in Opera
- [BEEHIVE-307] - Struts validator support for the msg and args' bundle attribute is not working
- [BEEHIVE-542] - Multiple popup scripts generated when multiple popup config exist in one page
- [BEEHIVE-634] - Tomcat Pageflow Adapter does not compile with Tomcat 5.5.x
- [BEEHIVE-635] - Tomcat PageflowValve does not check for security-constraints defined in web.xml
- [BEEHIVE-680] - Generated source from control files shows warnings inside of eclipse
- [BEEHIVE-701] - copyrights in source files distributed with the distribution need to be updated
- [BEEHIVE-723] - JdbcControl date tests don't work outside of MST
- [BEEHIVE-762] - controls annotation processing doesn't recognize java.io.Serializable on super classes
- [BEEHIVE-868] - Calling stored proc with uppercase 'CALL', and providing SQLParameter arguments, results in a compiler error
- [BEEHIVE-871] - Incorrect JavaDoc comment on org.apache.beehive.controls.spi.svc.Interceptor
- [BEEHIVE-874] - controls annotation processor generates bad code when control is in the default package
- [BEEHIVE-875] - Forward to a non-exist jpf file no longer generate any compiler warnings
- [BEEHIVE-878] - NetUI fails webapp redeploy if ServletContext attributes are carried over
- [BEEHIVE-889] - controls annotation processor needs to safely handle a missing -classpath option
- [BEEHIVE-914] - WEB-INF/validator-rules.xml should not be checked into samples apps
- [BEEHIVE-916] - velocity-1.4.jar is not needed on the classpath in the presence of velocity-1.4-dep.jar
- [BEEHIVE-945] - Popup window does not close if <netui:retrievePopupOutput> references a nonexistant element
- [BEEHIVE-946] - distribution's beehive-imports.xml targets call <ant> task without dir attribute
- [BEEHIVE-950] - some message bundles not appearing in generated struts-config files
- [BEEHIVE-952] - Potential cross-site-scripting vulnerability when not in production mode
- [BEEHIVE-954] - form bean-specifc message bundle does not work when two actions use the same form bean
- [BEEHIVE-957] - Validation on AnnotationMemberTypes.Date is allowing invalid value
- [BEEHIVE-958] - StringIndexOutOfBoundsException when inheriting a Forward or SimpleAction with path=""
- [BEEHIVE-962] - Assertion error when creating a page flow through FlowControllerFactory.createPageFlow, and onCreate() throws an exception
- [BEEHIVE-963] - pageflow_tutorial, form validation, application bug
- [BEEHIVE-964] - callPageFlow and callMethod tags don't handle arrays correctly
- [BEEHIVE-967] - Exception when initializing a page flow with a sparsely-populated Struts Merge file
- [BEEHIVE-970] - Need "netui:button" to render BOTH text and images simultaneously
- [BEEHIVE-971] - NPE on TreeElement when using method clearChildren on a TreeElement with no children
- [BEEHIVE-972] - Unfinished sentence in NetUI overview project model page
- [BEEHIVE-973] - Joycean sentence structure on NetUI Web App Project Model documentation page
- [BEEHIVE-976] - button tag forwards to base class actions even when inheritLocalPaths=true
- [BEEHIVE-977] - In a derived page flow, forwarding to a base class action from another base class action blows up
- [BEEHIVE-978] - Shared flows are shared across target scopes
- [BEEHIVE-988] - control bean's generated BeanInfo doesn't use correct property names in the presence of a @PropertySet.prefix attribute
- [BEEHIVE-990] - Controls Annotation processor throws null pointer exception when an annotation type cannot be resolved
- [BEEHIVE-991] - Compiler test failed to run in trunk
- [BEEHIVE-993] - Modify the NetUI Tree node expand collapse anchors to support navigation with tabs in Firefox.
- [BEEHIVE-994] - Controls assembly does not support multibyte characters in property files it generates
- [BEEHIVE-997] - client initializer isn't run when controls are only declared in a base class
- [BEEHIVE-1000] - NPE from APT during controls compilation
- [BEEHIVE-1001] - Cannot initialize a page's form bean with a derived type
- [BEEHIVE-1003] - Calling FlowControllerFactory.createPageFlow() outside of page flow request processor and page filter does not initialize controls correctly
- [BEEHIVE-1004] - Unnecessary wrapping of Struts ActionForm in request
- [BEEHIVE-1005] - Don't add a "\n" after the textarea start tag rendering unless there's a leading blank line in a netui:textArea content.
- [BEEHIVE-1009] - Nested page flow in a popup window fails to close after interacting with the page flow in the original window
- [BEEHIVE-1011] - netui anchor tag does not properly render a 'mailto' href
- [BEEHIVE-1012] - Assertion error when throwing an Error out of onCreate() in a shared flow
- [BEEHIVE-1013] - Assertion when hitting a default-package page flow that references a default-package shared flow
- [BEEHIVE-1014] - Generated source from control files shows warnings inside of eclipse
- [BEEHIVE-1015] - NPE when compiling a JSF backing bean in the same package as an invalid page flow controller
- [BEEHIVE-1017] - Iterative dev of inherited page flows is broken
- [BEEHIVE-1018] - Using runAtClient (XmlHttpRequest) for expanding a tree doesn't work when a node label contains a <script> tag.
- [BEEHIVE-1021] - The fileUpload tag is missing the tabIndex attribute
- [BEEHIVE-1022] - Exception in iterative dev with a Control in a page flow
- [BEEHIVE-1024] - Naughty behavior when using the back button with nested page flows
- [BEEHIVE-1028] - Controls in pageflows do not appear to be receiving lifecycle events in the proper order
- [BEEHIVE-1029] - Multibyte characters not supported correctly with the retrievePopupOutput for NetUI tag.
- [BEEHIVE-1030] - Class-level @Jpf.Forward annotations do not work with inheritLocalPaths=true
- [BEEHIVE-1033] - NetUI APT does not create UTF-8 encoded output in the generated XML documents for other multibyte encoded source files.
- [BEEHIVE-1034] - controls test container doexn't call begin/endContext() ControlContainerContext lifecycle method
- [BEEHIVE-1035] - Should fix possible NPE in PageFlowUtils.getModulePathForRelativeURI()
- [BEEHIVE-1036] - NPE when netui-data Cell tags are not contained within a grid
- [BEEHIVE-1037] - The PageFlowRequestProcessor.processMapping() is not handling a default "unknown" action defined in the GlobalApp
- [BEEHIVE-1038] - rolesAllowed specified in the inheriting pageflow class does not get merged
- [BEEHIVE-1039] - Pageflow action attributes set in the extending pageflow is not overriding the ones set in parent pageflow
- [BEEHIVE-1040] - NPE when hitting an action at org.apache.beehive.netui.pageflow.config.DelegatingActionMapping.init(DelegatingActionMapping.java:50)
- [BEEHIVE-1041] - Inheriting Simple Action by DelegatingActionMapping causes a null value object
- [BEEHIVE-1042] - MutableURI class should preserve the order of the query string parameters.
- [BEEHIVE-1043] - Relax the forward action not found from an error to a warning.
- [BEEHIVE-1044] - ControlClientAnnotationProcessor causes StringIndexOutOfBoundsException
- [BEEHIVE-1048] - generateScopeId not rendering required JavaScript in some cases
- [BEEHIVE-1049] - NetUI's internal CompilerUtils.getClassMethods() will sometimes include duplicate methods.
- [BEEHIVE-1050] - Overriding an inherited page flow controller Jpf.Forward annotation is broken
- [BEEHIVE-1051] - Control Interceptor SPI missing throwable for event dispatching
- [BEEHIVE-1053] - Inheritance of actions and simple actions with the useFormBean annotation attribute do not behave correctly.
- [BEEHIVE-1054] - Overriding Simple Action and changing the form bean use causes a null value object
- [BEEHIVE-1055] - Assertion error when SharedFlowField annotation's name attribute is not specified
- [BEEHIVE-1056] - FlowControllerFactory Java Doc needs to remove the comment about the need to initialize Controls Container Context by the caller
New Features
- [BEEHIVE-103] - JUnit test support for controls in standalone environment
Improvements
- [BEEHIVE-863] - Passing a FormBean to a popup
- [BEEHIVE-929] - Compiler check for base type agreement between the type and typeHint attributes of an action output annotation
- [BEEHIVE-941] - Need APIs for getUserPrincipal/isUserInRole, when a custom LoginHandler is configured
- [BEEHIVE-956] - Javadoc has syntax of ejbLink property reversed
- [BEEHIVE-961] - Add URL rule to declarative validation rule annotations
- [BEEHIVE-968] - Remove workaround for old apt bug from AptControlInterface
- [BEEHIVE-974] - Allow users to define their own tree renderer
- [BEEHIVE-1006] - Enhance the URLTemplatesFactory to expose the set of URLTemplate objects from the url template config.
- [BEEHIVE-1020] - Move the persisting of ScopedRequest attributes out of the beehive NetUI layer
- [BEEHIVE-1045] - add "nocompile" option to the Ant macros in beehive-tools.xml
- [BEEHIVE-1046] - remove <build-webservices> macro from beehive-tools.xml
- [BEEHIVE-1047] - provide extension point for creating a ControlBeanContext object