|
View:
New views
13 Messages
—
Rating Filter:
Alert me
|
|
|
Injection of a default property in domain classesHi all,
I would like to know if a plugin can add default properties to all domain classes (as it's done with id and version). I've found a DefaultGrailsDomainClassInjector but I don't see how I can add override it or better just call an additional plugin injector. Can someone point me to the right direction. William --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Injection of a default property in domain classesTake a look at the plugin programming section of the docs. This is very
easy to do, and I believe there are even examples in there. On Thu, 2009-06-25 at 14:39 +0200, William Draï wrote: > Hi all, > > I would like to know if a plugin can add default properties to all > domain classes (as it's done with id and version). > I've found a DefaultGrailsDomainClassInjector but I don't see how I can > add override it or better just call an additional plugin injector. > > Can someone point me to the right direction. > > William > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
packages and domainsI have a problem with grailsApplication.getArtefact .getDomainClass and
such. I put my domain classes in packages (like a good programmer :) However, when I do that .getArtefact and such don't see them without the full package name. To get around this, I created a closure that finds artefacts, but it is not very efficient. def findDomainClass = { name -> it = grailsApplication.domainClasses.iterator() while(it.hasNext()) { def n = it.next() if(n.name == name) { return n } } } Does anyone know a better way. Should we patch grailsApplication to handle this? --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: packages and domainsWhat's the problem with actually putting the package name in the call to getDomainClass/getArtefact? That's kind of what it's there for, to separate your com.example.foo.Book from your com.example.bar.Book.
On Thu, Jun 25, 2009 at 5:33 PM, Scott Burch <scott@...> wrote: I have a problem with grailsApplication.getArtefact .getDomainClass and |
|
|
Re: packages and domainsGood question, but it is because I am looking up the name from the
controller passed to a filter. I don't know what the package will be. May not even belong to me. We should have a way to look up a artefact by the class name as well. On Thu, 2009-06-25 at 17:42 -0500, Ted Naleid wrote: > What's the problem with actually putting the package name in the call > to getDomainClass/getArtefact? That's kind of what it's there for, to > separate your com.example.foo.Book from your com.example.bar.Book. > > On Thu, Jun 25, 2009 at 5:33 PM, Scott Burch <scott@...> > wrote: > I have a problem with > grailsApplication.getArtefact .getDomainClass and > such. > > I put my domain classes in packages (like a good programmer :) > > However, when I do that .getArtefact and such don't see them > without the > full package name. > > To get around this, I created a closure that finds artefacts, > but it is > not very efficient. > > def findDomainClass = { name -> > it = grailsApplication.domainClasses.iterator() > while(it.hasNext()) { > def n = it.next() > if(n.name == name) { > return n > } > } > } > > Does anyone know a better way. Should we patch > grailsApplication to handle this? > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: packages and domainsAlthough I can't complain, it was still possible to do. Maybe we could
add this to some Util class? On Thu, 2009-06-25 at 19:05 -0400, Scott Burch wrote: > Good question, but it is because I am looking up the name from the > controller passed to a filter. I don't know what the package will be. > May not even belong to me. We should have a way to look up a artefact > by the class name as well. > > > > On Thu, 2009-06-25 at 17:42 -0500, Ted Naleid wrote: > > What's the problem with actually putting the package name in the call > > to getDomainClass/getArtefact? That's kind of what it's there for, to > > separate your com.example.foo.Book from your com.example.bar.Book. > > > > On Thu, Jun 25, 2009 at 5:33 PM, Scott Burch <scott@...> > > wrote: > > I have a problem with > > grailsApplication.getArtefact .getDomainClass and > > such. > > > > I put my domain classes in packages (like a good programmer :) > > > > However, when I do that .getArtefact and such don't see them > > without the > > full package name. > > > > To get around this, I created a closure that finds artefacts, > > but it is > > not very efficient. > > > > def findDomainClass = { name -> > > it = grailsApplication.domainClasses.iterator() > > while(it.hasNext()) { > > def n = it.next() > > if(n.name == name) { > > return n > > } > > } > > } > > > > Does anyone know a better way. Should we patch > > grailsApplication to handle this? > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: packages and domainsSo you're using a convention based on the name of the controller? ex: domain class Foo -> FooController
I normally extend that naming convention and have my controllers and domain classes that are named this way in the same package as well. So domainClass com.example.Foo -> com.example.FooController
The directory structure of grails keeps them physically separate, but the packages (and the naming convention) unite them IMO. If you have a reference to the controller in your filter, you could also get it's package name and continue to use the package name without needing to search through all of the domain classes (as well as lose half the benefit of having things in packages in the first place).
Alternatively, your method to search through works too :). HTH, Ted
On Thu, Jun 25, 2009 at 6:41 PM, Scott Burch <scott@...> wrote: Although I can't complain, it was still possible to do. Maybe we could |
|
|
Re: packages and domainsTed,
Yes, but I don't control all of the code. This is for the CMS plugin that I built. And, yes, name conflicts between packages would be a problem. I may have to revisit this later. Thanks for the advice. Scott On Thu, 2009-06-25 at 23:36 -0500, Ted Naleid wrote: > So you're using a convention based on the name of the controller? ex: > domain class Foo -> FooController > > > I normally extend that naming convention and have my controllers and > domain classes that are named this way in the same package as well. > So domainClass com.example.Foo -> com.example.FooController > > > The directory structure of grails keeps them physically separate, but > the packages (and the naming convention) unite them IMO. > > > If you have a reference to the controller in your filter, you could > also get it's package name and continue to use the package name > without needing to search through all of the domain classes (as well > as lose half the benefit of having things in packages in the first > place). > > > Alternatively, your method to search through works too :). > > > HTH, > Ted > > On Thu, Jun 25, 2009 at 6:41 PM, Scott Burch <scott@...> > wrote: > Although I can't complain, it was still possible to do. Maybe > we could > add this to some Util class? > > > On Thu, 2009-06-25 at 19:05 -0400, Scott Burch wrote: > > Good question, but it is because I am looking up the name > from the > > controller passed to a filter. I don't know what the > package will be. > > May not even belong to me. We should have a way to look up > a artefact > > by the class name as well. > > > > > > > > On Thu, 2009-06-25 at 17:42 -0500, Ted Naleid wrote: > > > What's the problem with actually putting the package name > in the call > > > to getDomainClass/getArtefact? That's kind of what it's > there for, to > > > separate your com.example.foo.Book from your > com.example.bar.Book. > > > > > > On Thu, Jun 25, 2009 at 5:33 PM, Scott Burch > <scott@...> > > > wrote: > > > I have a problem with > > > grailsApplication.getArtefact .getDomainClass and > > > such. > > > > > > I put my domain classes in packages (like a good > programmer :) > > > > > > However, when I do that .getArtefact and such > don't see them > > > without the > > > full package name. > > > > > > To get around this, I created a closure that > finds artefacts, > > > but it is > > > not very efficient. > > > > > > def findDomainClass = { name -> > > > it = > grailsApplication.domainClasses.iterator() > > > while(it.hasNext()) { > > > def n = it.next() > > > if(n.name == name) { > > > return n > > > } > > > } > > > } > > > > > > Does anyone know a better way. Should we patch > > > grailsApplication to handle this? > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe from this list, please visit: > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: packages and domainsdomain.name returns to name without the package. You're probably after
domain.fullName Cheers On Thu, Jun 25, 2009 at 11:33 PM, Scott Burch<scott@...> wrote: > I have a problem with grailsApplication.getArtefact .getDomainClass and > such. > > I put my domain classes in packages (like a good programmer :) > > However, when I do that .getArtefact and such don't see them without the > full package name. > > To get around this, I created a closure that finds artefacts, but it is > not very efficient. > > def findDomainClass = { name -> > it = grailsApplication.domainClasses.iterator() > while(it.hasNext()) { > def n = it.next() > if(n.name == name) { > return n > } > } > } > > Does anyone know a better way. Should we patch grailsApplication to handle this? > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- Graeme Rocher Head of Grails Development SpringSource - Weapons for the War on Java Complexity http://www.springsource.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: packages and domainsNo, name is correct. The issue was not having a built-in way to find
domain classes by name without the package info. But, that may be silly. And, as I stated, it was possible just not a one-liner :) On Fri, 2009-06-26 at 11:34 +0100, Graeme Rocher wrote: > domain.name returns to name without the package. You're probably after > domain.fullName > > Cheers > > On Thu, Jun 25, 2009 at 11:33 PM, Scott Burch<scott@...> wrote: > > I have a problem with grailsApplication.getArtefact .getDomainClass and > > such. > > > > I put my domain classes in packages (like a good programmer :) > > > > However, when I do that .getArtefact and such don't see them without the > > full package name. > > > > To get around this, I created a closure that finds artefacts, but it is > > not very efficient. > > > > def findDomainClass = { name -> > > it = grailsApplication.domainClasses.iterator() > > while(it.hasNext()) { > > def n = it.next() > > if(n.name == name) { > > return n > > } > > } > > } > > > > Does anyone know a better way. Should we patch grailsApplication to handle this? > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: packages and domainsIf you're looking for a one-liner with the same effect, you could always use something like this:
grailsApplication.domainClasses.find { it.name == "Book" }
On Fri, Jun 26, 2009 at 8:19 AM, Scott Burch <scott@...> wrote: No, name is correct. The issue was not having a built-in way to find |
|
|
Re: packages and domainsI forgot about .find :) Thanks.
Still embedding Groovy in my head. On Fri, 2009-06-26 at 08:43 -0500, Ted Naleid wrote: > If you're looking for a one-liner with the same effect, you could > always use something like this: > > > grailsApplication.domainClasses.find { it.name == "Book" } > > On Fri, Jun 26, 2009 at 8:19 AM, Scott Burch <scott@...> > wrote: > No, name is correct. The issue was not having a built-in way > to find > domain classes by name without the package info. But, that > may be > silly. And, as I stated, it was possible just not a > one-liner :) > > > > > On Fri, 2009-06-26 at 11:34 +0100, Graeme Rocher wrote: > > domain.name returns to name without the package. You're > probably after > > domain.fullName > > > > Cheers > > > > On Thu, Jun 25, 2009 at 11:33 PM, Scott > Burch<scott@...> wrote: > > > I have a problem with > grailsApplication.getArtefact .getDomainClass and > > > such. > > > > > > I put my domain classes in packages (like a good > programmer :) > > > > > > However, when I do that .getArtefact and such don't see > them without the > > > full package name. > > > > > > To get around this, I created a closure that finds > artefacts, but it is > > > not very efficient. > > > > > > def findDomainClass = { name -> > > > it = grailsApplication.domainClasses.iterator() > > > while(it.hasNext()) { > > > def n = it.next() > > > if(n.name == name) { > > > return n > > > } > > > } > > > } > > > > > > Does anyone know a better way. Should we patch > grailsApplication to handle this? > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe from this list, please visit: > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Injection of a default property in domain classesBut maybe I did not get into the correct section of the docs. Take a look at the plugin programming section of the docs. This is very easy to do, and I believe there are even examples in there. On Thu, 2009-06-25 at 14:39 +0200, William Draï wrote: |
| Free embeddable forum powered by Nabble | Forum Help |