You might also be interested in voting for https://jira.springsource.org/browse/DATAJPA-209 which is related to the problem you're describing.
-matthew On Wed, Jun 20, 2012 at 10:04 AM, Andy Clement <andrew.clem...@gmail.com>wrote: > Hi, > > I fired your question off to the Roo team and got this response: > === > Roo metadata classes check for the existence of methods in the > "governor" (.java file) that are destined to be written to an ITD and > prevents these methods from going in the ITDs if they are there in the > java class. However, this check is not happening with the finder > methods. Finder methods are different in that the method name is > dynamically built up using the finder fields and the find operation > required (eg > findPhotosBySlugLikeAndBudgetLikeAndProjectLikeAndProjectStatusLike). > I don't believe in this case the methods are checked in the .java > class first as there can be an unknown number of methods generated. > > I can play around with this, but my first suggestion would be to > push-in the method to the .java class to be able to tailor it and also > remove the finder name from the "finders" attribute of the > @RooJpaActiveRecord annotation, to prevent its generation in the ITD. > === > > I hope that is useful? You might get faster responses directly using > the Roo forum: > http://forum.springsource.org/forumdisplay.php?67-Roo > > cheers > Andy > > On 19 June 2012 08:20, <phi...@free.fr> wrote: > > > > > > > > > > Hello, > > > > I have just generated a web application with Spring Roo and would like > to override a method which lets users search records > > in a photo database. > > > > Here's the Roo-generated Photo_Roo_Finder.aj code: > > > > ----------------------------------- > > > > // WARNING: DO NOT EDIT THIS FILE. THIS FILE IS MANAGED BY SPRING ROO. > > // You may push code into the target .java compilation unit if you wish > to edit any member(s). > > > > privileged aspect Photo_Roo_Finder { > > > > public static TypedQuery<Photo> > Photo.findPhotosBySlugLikeAndBudgetLikeAndProjectLikeAndProjectStatusLike( > > String slug, String budget, String project, String projectStatus) { > > > > if (slug == null || slug.length() == 0) throw new > IllegalArgumentException("The slug argument is required); > > ... > > > > ----------------------------------------------- > > > > My problem with this method is that it does not let users leave some > fields empty. > > > > If I go into the Photo.java class, and rewrite the above method, Eclipse > tells me that it already exists (ie, in the > > .aj file). > > > > If, on the other hand, I rename it in the Photo class, as follows > > > > --------------------------------------------------- > > > > ... > > @RooJpaActiveRecord(finders = { > "findPhotosBySlugLikeAndBudgetLikeAndProjectLikeAndProjectStatusLike2" }) > > ... > > > > > > public static TypedQuery<Photo> > Photo.findPhotosBySlugLikeAndBudgetLikeAndProjectLikeAndProjectStatusLike2(.. > > > > String slug2 = ""; > > > > if (slug == null) || slug.length == 0) { > > slug2 = ""; > > > > } else { > > slug2 = slug; > > > > } > > // Do a search with slug2 as value. > > > > -------------------------------------- > > > > The application, when run, crashes with an internal error: > > > > ----------------------------- > > > > or.apache.tiles.impl.CannotRenderException: JSP Exception including path > '/WEB-INF/views/photos/findPhotosBySlugLikeAndBudgetLikeAndProjectLikeAndProjectStatusLike.jspx' > > > > > > where findPhotos....jspx is some kind of dynamically-generated jspx file > (ie, it's not visible in the Eclipse Project). > > > > ----------------------------- > > > > So how can I "override" the > "findPhotosBySlugLikeAndBudgetLikeAndProjectLikeAndProjectStatusLike" method > > in the Photo class? > > > > Any help with the above issue would be much appreciated. > > > > Philroc > > _______________________________________________ > > aspectj-users mailing list > > aspectj-users@eclipse.org > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users > -- mailto:matt...@matthewadams.me <matt...@matthewadams.me> skype:matthewadams12 googletalk:matt...@matthewadams.me http://matthewadams.me http://www.linkedin.com/in/matthewadams
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users