If you have heavily modified your applicationContext.xml file for your application, make sure you take a copy of it (your whole app to be safe) before you upgrade to a newer version of Grails, since during the ‘grails clean’ and ‘grails upgrade’ steps the applicationContent.xml file will be replaced.
Progress with Grails this week – found some bugs, worked out some issues
I haven’t worked on my Grails project (an Online Store example application) for a few weeks, but I had a couple of days off work this week so spent a number of hours working on some new features.
I found an issue with the pagination support when using results sorted in reverse id order and logged bug GRAILS-914.
I also came across an issue that I couldn’t work out – I had some error in one of my Controllers but the problem was being masked by the error.jsp page not functioning correctly. It looks like this was fixed in GRAILS-365 in 0.3, but I was still seeing this issue in 0.3.1. I logged a new bug report for it (GRAILS-919), and decided to upgrade to 0.4.2 at the same time.
After upgrading to both Groovy 1.0 and Grails 0.4.2 (running ‘grails clean’ and ‘grails upgrade’ on my existing app), I found a number of things I needed to change in my existing code, which I captured as separate posts here:
Plus a couple of other helpful tips:
Domain class constraint ‘length’ deprecated in Grails 0.4.2
The domain class constraint ‘length’ has been deprecated in Grails 0.4.2, and needs to be replaced with the equivalent constraint ‘size’ instead.
If you have upgraded to 0.4.2 you may see this error on startup:
<code>Domain class [class ExampleDomain] includes the length constraint for the exampleProperty property. This constraint is deprecated and will be removed in the future. Please update your code to use the size constraint instead. </code>
@Property annotation removed
Generated code in Grails used to use an @Property annotation to indicate Grails properties. This was used somewhere around version 0.1 – 0.2, was still supported in 0.3.1 (although I think not used in newly generated code), but is now no longer in 0.4.2. You’ll see the error:
<code> @ line 8, column 6.ExampleController: 34: unable to resolve class Property unable to find class for annotation </code>
Just go through your old code if you have migrated from prior versions of Grails and replace the @Property annotation with def instead – the code will work with 0.4.2+.
