Release Notes - VRaptor - Version 2.4 ** Bug * [VRA-28] - validation and common errors * [VRA-400] - Link to myDVDs on pt site is broken ** Improvement * [VRA-25] - regex view manager should drop $1, $2, $3 * [VRA-204] - Reorganize VRaptor´s dependencies and contents in vraptor-all.zip * [VRA-262] - Improve log with Log4J trace level and better exception messages * [VRA-329] - Deprecate @Logic.parameters in favor of a new @Parameters * [VRA-351] - do not use capital letters for @Component when class name has no Logic/Command/Action/Controller * [VRA-358] - create a plugin which generate vraptor.xml automatically * [VRA-367] - Reduce dependencies, as Hibernate Validator now is a top level project * [VRA-378] - Configuration options for SpringPlugin * [VRA-398] - Use the jstl message bundle for Hibernate Validator * [VRA-402] - Autoregister LocaleBigDecimalConverter ** New Feature * [VRA-369] - create tutorial on error handling with vraptor * [VRA-404] - Create new flash scope ** Task * [VRA-221] - 70% test coverage
Release Notes - VRaptor - Version 2.3.3 ** Bug * [VRA-197] - org.vraptor.config.Configuration throws NullPointerException when using TestEngine (won't fix) * [VRA-342] - Mydvds demo - Register form must use post instead of get * [VRA-389] - ExpressionEvaluator does not support null as its last value * [VRA-392] - Hibernate validator plugin does not set the path attribute in FixedMessage when using @Validate(params...) ** Improvement * [VRA-74] - pmd: Avoid long methods (won't fix) * [VRA-198] - mention new MockedServletContext("WebContent") in test plugin tutorial * [VRA-371] - Create a simple logic example on blank project for users to know how it works * [VRA-376] - JPA Plugin Unit tests * [VRA-377] - Update @Out javadoc * [VRA-384] - improve VRaptorExecution code * [VRA-388] - RemoteViewManager should outject values from any scope * [VRA-390] - update mydvds using jquery for ajax request * [VRA-391] - hibernate validator plugin should eject any method parameter on validation error * [VRA-393] - recieve the user as method parameter in mydvd's NewUserComponent * [VRA-394] - fix file-download tutorial ** New Feature * [VRA-23] - different regex strings for different matching paths (won't fix) * [VRA-332] - New plugin: outjecter (won't fix) * [VRA-379] - properties support for plugin ** Task * [VRA-14] - tutorial on direct context access * [VRA-382] - Check SpringPlugin test cases for failing resources (cannot reproduce) * [VRA-385] - component and method parameter instantiations refactoring (won't fix) * [VRA-386] - API Change Remove LogicContext * [VRA-387] - component instantiation can only happen after basic interceptors due to their outjection process ** API Changes * RegisterAttributesInterceptor does not register the JavaMethod wrapper and METHOD_PARAMETERS within the LogicContext scope. Use flow.getLogicRequest().getLogicDefinition().getLogicMethod instead. * LogicContext has been removed
** Bug * [VRA-372] - VRaptor does not lookup components if vraptor.xml is not present
** Bug * [VRA-260] - @In should create ArrayList for a List if create=true * [VRA-343] - VRaptor servlet shout not convert java.lang.Exception to HTTP Status 500 error * [VRA-345] - SpringProvider does not correctly call its dependencies * [VRA-357] - primtive parameter on a method should be optional * [VRA-361] - view redirect fails to carry over request outjected objects * [VRA-362] - support GregorianCalendar as the default implementation of the Calendar interface * [VRA-364] - InterceptorDealer throws a NullPointerException when using InterceptorStack * [VRA-365] - vraptor does not inject ServletContext in Component when using @In ** Improvement * [VRA-268] - Improve object instantiation through create=true * [VRA-338] - @Parameter with multiple values doesn't work as logic method parameter * [VRA-347] - update mydvds using a transaction interceptor * [VRA-349] - remove ThreadLocal from mydvds * [VRA-352] - Interceptor spring injection * [VRA-363] - Joda Time has deprecated YearMonthDay and TimeOfDay classes * [VRA-366] - Use the overloaded version of Class.forName() to prevent loading of unnecessary classes * [VRA-370] - do not use TRACE level of log4j ** New Feature * [VRA-30] - spring ioc integration for @In annotation * [VRA-316] - Inject an EntityManager through @PersistenceContext * [VRA-344] - allow methods to be intercepted * [VRA-350] - Converter to BigDecimal (contributed by Ricardo A. F. da Cruz) * [VRA-353] - constructor injection support for interceptors * [VRA-359] - Support autoDiscover option on vraptor.xml to disable automatic classes lookup ** Task * [VRA-301] - use the BeanProvider interface to provide beans for the basic introspector * [VRA-327] - VRaptor .zip assembly should not expose all the optional jars * [VRA-346] - Update jars on MyDvds 632 tests (+28) 68% coverage (+0.8)
** Bug [VRA-266] - accept an arraylist as a method parameter [VRA-318] - Update "Filling combo boxes" apt documentation [VRA-325] - serious: annotated logics with @Logic that has not the optional value attribute gets named as "". [VRA-330] - Mydvds demo - Ant build is not adding /resources into the war file [VRA-336] - fix content-type for ajax requests ** Improvement - blank-project log level of vraptor messages changes to INFO as default - log level info also shows all found components [VRA-156] - add the locale converter to the base converters [VRA-174] - add client side redirection with support for expression language to faq [VRA-175] - add client side redirection with support for expression language tutorial [VRA-229] - Improve VRaptor.xml options [VRA-233] - all logic methods should be cached [VRA-235] - refactor getter and setter exception [VRA-246] - More elegant URL defaults [VRA-252] - add faq on how to change user locale with session [VRA-253] - subversion [VRA-264] - Scan .jars that have vraptor.prorpeties inside it for @Components [VRA-280] - error path should be the entire path [VRA-288] - logout button on mydvds [VRA-315] - Create some shortcuts for redirecting and forwarding to different views, avoiding a big view properties [VRA-320] - ajax tutorial corrections [VRA-323] - Deprecate @Parameter [VRA-328] - DefaultComponentManager has a bizarre logics attribute ** New Feature [VRA-47] - sample stats component example [VRA-50] - stats page [VRA-59] - stats page tutorial [VRA-142] - vraptor automatically loads all converters [VRA-153] - automatically inject all contexts for constructor injection [VRA-154] - automatically inject HttpServletResponse for constructor injection [VRA-160] - VRaptor Remoting - AJAX Features [VRA-242] - support two parameters of the same type for a logic [VRA-245] - normal validation needs to receive the same parameters as its logic [VRA-287] - Support stateful session bean interfaces as components [VRA-326] - tutorial on radio button [VRA-334] - create a tutorial on how to use log4j with vraptor [VRA-340] - New Tiles2 Tutorial (in behave of Ricardo Cruz ) ** Task [VRA-12] - velocity tutorial [VRA-324] - Rewrite entire documentation to prefer the newest ways to do simple things [VRA-327] - VRaptor .zip assembly should not expose all the optional jars 67.2% coverage (+0.8)
** Bug [VRA-274] - Logics doesn't work properly with c:import [VRA-286] - Logic methods don't accept basic wrapper types nor primitive types as parameters [VRA-289] - fix list users page on mydvds [VRA-294] - Mydvds demo - List User problem [VRA-295] - Mydvds demo - Login error [VRA-296] - mydvds should not allows to create two users with the same id [VRA-297] - remotable support breaks urls with dots on it [VRA-306] - update testproxyplugin to reflect removal of Result interface [VRA-308] - ajax example does not work under firefox [VRA-309] - vraptor doesnt work with cargo due to problem on automatic loading package including an extra dot [VRA-310] - SimpleBooleanConverter converts empty request parameters to Boolean.FALSE ** Improvement [VRA-180] - update mydvds app to hibernate validator [VRA-250] - create tutorial on interceptor stack use [VRA-254] - first example with parameter injection [VRA-293] - create commentaries for mydvds classes [VRA-299] - MockedRequest should receive a simple HttpSession in its constructor [VRA-305] - new tutorial on unitary testing [VRA-312] - Rename all logic classes in mydvds and add "Component" to the end of the class name ** New Feature [VRA-81] - all scopes should be available for injection [VRA-169] - Converters for Joda-Time API [VRA-189] - factory annotation and automatically loading of factories [VRA-225] - unitary testing [VRA-243] - support hibernate validator on method parameters [VRA-277] - Config URLManger that will be used in VRaptor.xml [VRA-278] - @Logic should help to name method parameters [VRA-281] - Add support for XML remote REST requests [VRA-284] - Spring Integration [VRA-300] - spring ioc integration for constructor injection [VRA-303] - spring ioc example app ** Task [VRA-298] - Broken VRapor web unit test : no more Results are returned [VRA-302] - spring ioc tutorial on constructor injection [VRA-304] - update tutorials on functional testing about selenium [VRA-314] - 66% test coverage 585 tests (+31) 66.4% coverage (+1.9)
** Bug [VRA-269] - getURLocationXpto should be mapped to ${URLocationXpto} and not ${uRLocationXpto} [VRA-275] - Logics doesn't work properly with c:import ** Improvement [VRA-219] - Refactor the basic interceptor stack: InjectionInterceptor, OutjectionInterceptor, and so on [VRA-257] - @Out a getter to change key value [VRA-258] - Deprecate @Factory for further remove [VRA-263] - Deprecate unused stuff [VRA-265] - cache getters for outjection [VRA-270] - rename blank-project to eclipse-blank-project and provide a readme [VRA-271] - Simplify lookup for ComponentType, Object and LogicMethod encapsulating them ** New Feature [VRA-109] - VRaptor remoting features: easy AJAX ** Task [VRA-272] - ajax tutorial 554 tests (+35) 64.5% coverage (+1.7)
** Bug [VRA-239] - static logic and outjection getter are exported ** Improvement [VRA-34] - List all default validation messages on the system [VRA-104] - contexts with method for constructor injection [VRA-213] - improve freemarker example and update extension [VRA-224] - migrate mydvds project to maven [VRA-227] - LogicRequest should incoporate methods only exposed on its SimpleLogicRequest subinterface [VRA-228] - ComponentType and CURRENT_COMPONENT dependencies refactoring [VRA-232] - improved hibernate validator plugin [VRA-236] - cleanup useless exception constructors [VRA-237] - Support logic method parameters [VRA-238] - Component default name [VRA-249] - Possibility to annotate method parameters with @Parameter ** New Feature [VRA-18] - support logic method parameters [VRA-58] - hibernate validator tutorial [VRA-161] - enhance faq ** Task [VRA-165] - put away those packages that should generate javadoc and those which shouldn't [VRA-231] - 60% test coverage [VRA-244] - tutorial on how to use method parameters [VRA-247] - link to vraptor eclipse plugin [VRA-240] - create forum for english speaking user 519 tests (+37) 62.8% coverage (+3.1)
** Bug [VRA-196] - simple get() method within logic class causes exception when executing vraptor 2.2 [VRA-199] - Fix encoding for pt_BR version of the site [VRA-201] - Error in page Request parameter lists on website [VRA-205] - application key should map to the ServletContext, not the Response [VRA-211] - MockedServletContext causes NullPointerException when creating with TestEngine [VRA-214] - RegisterAttributesInterceptor register request instead of servletContext [VRA-223] - Unnecessary dependencies added by Maven [VRA-226] - multipartinterceptor should write to tmp directory ** Improvement [VRA-73] - pmd code improvement [VRA-130] - update xstream to version 1.2 [VRA-145] - Remove ScopeLocator, creating an abstract method at ScopeType to do this job [VRA-200] - hibernate tutorial on messages i18n [VRA-204] - Reorganize VRaptor´s dependencies and contents in vraptor-all.zip [VRA-206] - Auto injection of basic scopes for constructor injection [VRA-207] - improved faq on direct access to http objects [VRA-212] - Offer an easy way to have lots of interceptors: InterceptorStack a la WebWork [VRA-216] - Eliminate interceptor-inteceptor class parallels, improve InterceptorDealer [VRA-217] - Refactor and test the important classes: BasicLogicFlow and VRaptorExecution [VRA-218] - Deprecate LogicFlow.redirect for a simpler approach [VRA-222] - Remove all sort of references to VRaptorExecution: making stuff testable [VRA-230] - Avoid log-and-throw antipattern ** New Feature [VRA-31] - Integrate with JSF [VRA-61] - Create LogicFlow.getRequest [VRA-84] - client redirect support with expression language [VRA-108] - injecting SessionContext in logic [VRA-123] - hibernate validator tutorial [VRA-133] - proxy toys [VRA-136] - New localized, wrapped, double and float converters [VRA-143] - Deprecate the <package> usage in favor of auto Component discovery [VRA-146] - Auto injection of request, response, servletContext and session in ScopeType.REQUEST [VRA-147] - @In can read also from the request.parameters if scope=REQUEST, deprecating @Read, shriking the number of annotations [VRA-181] - new plugin tutorial [VRA-203] - ignore getter methods as business logic methods [VRA-215] - RegisterAttributesInterceptor should also use the full class names to inject ** Task [VRA-183] - move jira to new server [VRA-187] - update site.xml to reflect new portuguese forum and jira site [VRA-202] - Add sourceforge logo to mydvds app [VRA-210] - change first example printf to println ** Tests 482 tests (+48) 59.7% coverage (+2.9)
** Improvement [VRA-168] - improve converter documentation [VRA-170] - faq: how to get/put objects from/to session [VRA-173] - add client side redirection to faq [VRA-191] - site link to mydvds application ** New Feature [VRA-83] - client redirect support [VRA-85] - tutorial on client redirect support [VRA-123] - hibernate validator tutorial [VRA-144] - Scan web-inf/classes to load all @Components, making the XML not mandatory [VRA-148] - Outjection can be automatically done through getters [VRA-172] - create a tutorial on getter outjection [VRA-177] - automatically loading tutorial [VRA-179] - @Parameter annotation [VRA-188] - create vraptor's forum ** Task [VRA-184] - create new website [VRA-185] - deploy maven website on new server [VRA-186] - Update the POM to upload generated site to the new dedicated server [VRA-190] - new logo [VRA-193] - rollback mydvds validation [VRA-194] - google analytics mydvds ** Tests 434 tests (+29) 56.8% coverage (+1.3)
** Bug [VRA-80] - test two annotations on same field type [VRA-135] - locale converters are not looking at all contexts [VRA-141] - Website-Link to ScopeTypes broken [VRA-152] - Link to JIRA in website is broken ** Improvement [VRA-110] - better exception handling through interceptors [VRA-125] - mention FixedMessage on docs [VRA-127] - hibernate validator tutorial [VRA-139] - mydvds persistence [VRA-140] - german messages in MyDVD App [VRA-166] - Proper documentation for the Locale based converters ** New Feature [VRA-54] - component/logic not found should be a 404 [VRA-119] - package tag automatically registers converters [VRA-131] - release mydvds without hibernate but using xstreams persistence api [VRA-137] - update view manager tutorial to describe the new supported styles: ${component} etc [VRA-149] - translate mydvd app to portuguese [VRA-150] - mydvds option to switch languages [VRA-151] - demo install tutorial [VRA-155] - bad written urls should be a 404 [VRA-158] - new locale converter [VRA-159] - add a simple faq [VRA-163] - deploy vraptor 2.1.1 to maven repository [VRA-167] - new apt file describing all converters in detail ** Task [VRA-162] - generate clover report [VRA-164] - add counter to site ** Tests 405 tests (+34) 55.5% coverage
** Bug [VRA-29] - invalid configuration doesn't startup vraptor [VRA-37] - class not found exception in vraptor.xml [VRA-100] - test classes should end with test [VRA-103] - package tag causes a NullPointerException when using TestEngine [VRA-112] - LocaleBasedCalendarConverter should accept null/empty string as null [VRA-114] - new tests for null conversion [VRA-115] - @In required=false should not override property with null if key is not found in the requested scope ** Improvement [VRA-26] - ConversionException constructor which receives a Message [VRA-52] - default stats page should come with data ordered [VRA-72] - pmd: Avoid if (x != y) ..; else ..; [VRA-94] - convert vraptor2 tests to junit asserts [VRA-101] - check all converter tests [VRA-102] - break each converter test in a sepparate method [VRA-105] - remove fileupload from blankproject [VRA-106] - xml tags should trim their text elements [VRA-118] - testsession throws vraptorexception [VRA-120] - portuguese translation of first tutorial [VRA-121] - portuguese translation of documentation [VRA-126] - hibernate validator plugin should generate already localized messages ** New Feature [VRA-16] - component scope [VRA-45] - sample stats component [VRA-51] - interceptorclass should make the class name available for stats page [VRA-60] - File upload tutorial [VRA-111] - role support through a interceptor/plugin [VRA-116] - @Destroy annotation allows to override the default destroy method [VRA-117] - support for java.util.Date conversion by default [VRA-124] - add support for non i18n messages ** Tests 371 tests (+53)
** Bug [VRA-95] - file upload is not handling parameters correctly [VRA-99] - vraptor should register only public classes ** Improvement [VRA-67] - pmd: Avoid using if statements without curly braces [VRA-71] - Avoid using implementation types like 'TreeSet'; use the interface instead [VRA-93] - base package loading should log if logics directory does not exist [VRA-96] - multipartrequestinterceptor should go ok if the request is not multipart [VRA-97] - invalid converter registration should not stop vraptor's initialization [VRA-98] - add application context to the request scope for injection ** New Feature [VRA-75] - create a stats component tutorial [VRA-90] - tutorial on redirection [VRA-92] - vraptor should log how long it took to initialize ** Tests 318 tests (+49)
** Bug [VRA-64] - change old assertions to new ones [VRA-87] - vraptor should leave messages.properties as an optional feature [VRA-91] - injection should not call our object toString method ** Improvement [VRA-63] - isolate Injection in a separate interceptor [VRA-65] - generate pmd report [VRA-66] - pmd: Avoid modifiers which are implied by the context [VRA-69] - pmd: No need to check for null before an instanceof [VRA-70] - Position literals first in String comparisons ** New Feature [VRA-55] - constructor injection [VRA-57] - base package [VRA-76] - base package tutorial and update tutorials [VRA-77] - make the logiccontext available to injection and adapt the mydvds example [VRA-78] - constructor injection tutorial [VRA-79] - uploaded files should be deleted on exit [VRA-88] - support for view redirection [VRA-89] - support for expression language on view redirection ** Tests 269 tests (+37)
** Bug [VRA-38] - validation fails --> outjection should happen [VRA-39] - basicintrospector is calling my objects toString [VRA-40] - include test support for empty parameters [VRA-41] - change test plugin assertion type to junit's one [VRA-42] - test assertion order is changed ** Improvement [VRA-44] - test engine should have a getApplicationContext method [VRA-46] - webApplication should be in application scope ** New Feature [VRA-19] - file upload interceptor [VRA-32] - Integrate with Hibernate Validator [VRA-43] and [VRA-49] - TestSession should have a method to grab the session [VRA-56] - component lookup interceptor ** Tests 232 tests (removed old and +12)
** Bug [VRA-7] - logiccontext has attribute throws StackOverflow [VRA-9] - optional @In field throws a RuntimeException if not filled [VRA-10] - parameter order is important [VRA-20] - validation tutorial problem [VRA-21] - conversion exceptions is actually a collection of errors instead of validationerrors ** New Feature [VRA-11] - mydvds example application using hibernate
239 tests (+63)
** Bug [VRA-1] - parameter accessing array as first element [VRA-2] - ScopeLocator problem when accessing other types of scopes [VRA-5] - file download tutorial does not work (@Before annotation does not exist) ** New Feature [VRA-3] - conversion exception tutorial ** Task [VRA-6] - make javadoc available
173 tests (+17)