Grails uses Sitemesh for adding layout to the views. Layouts are located in layouts folder and to add layouts to the view we generally add any of the following line in head [java] <g:applyLayout name="layoutName"/> or <meta name="layout" content="layoutName" /> [/java] But most of the time we have single layout, so why we repeat the […]
Following DRY is at the heart of grails. While saving domain objects in our project, we used to copy the domain class constraints to the Command Objects (pretty ugly as it is), until we found that we can import constraints directly from the domain classses using importFrom() method in Grails 2.0 [java] class VenueCO { […]
Groovy 2.0 comes with some amazing new features, which prompted a numbering scheme jump from 1.9.x to 2.0. One of the key features that I took note while going through Guillaume Laforge’s presentation at 33rd Degree was the support for plain language sentences made possible by optional parentheses, and dots. We love the language and […]
Recently, I had a usecase to share same http session between different subdomains. The idea was that if a user is logged in on “somedomain.com“, he need not to login again to go to subdomain.somedomain.com. The same http session should be usable. I started off on the wrong foot by looking into the SpringSecurity plugin, […]
In my recent grails project, i needed to integrate LinkedIn with the application using LinkedIn API. I searched a lot about it and find the Java wrapper of linkedIn to use it with my grails application and thought it worth sharing. LinkedIn uses OAuth2.0 protocol for authorization when our application tries to access the data. […]
One feature that I really like in Grails 2.0 is action arguments databinding. While reading more about it I also found a nice grails.web.RequestParameter annotation. When you know something you always find its use case. In my recent project I need to take radius and height as params for creating a cylinder so my action […]
When using criteria queries, many times we encounter a use case where we need to order our result not on any field of domain class but on our result set, in these cases aliases can be used. In my project, use case was to find most liked products from the domain: [java] ProductStat{ Date dateCreated […]
I am working on a Grails application with MySQL database. I had a use case in which I had to implement alphanumeric sorting using Criteria Query on Grails. By alphanumeric sorting I mean if there is a class Employee with field empId then on doing : [plain] Employee e1 = new Employee(empId:’emp10′).save() Employee e2 = new […]
As I am a lazy programmer most of the time I dont implement toString and equals methods on my grails domain classes. I would like to say thanks to Groovy for helping me out and giving me a ready made recipe for this. Now I just need to annotate my class with ToString and EqualAndHashCode […]