Modify Id generation for a Grails Plugin
Asked Answered
D

2

1

I am using a plugin for Grails - the Amazon S3 plugin - and the domain object provided by the plugin doesn't specify the Id Generator. I am using Postgresql and require the id genrator to be identity.

I could copy the plugin in my plugins directory and mess with the domain object provided but that doesn't sound like a clean approach.Could I add the correct id generation at runtime? Or maybe there is a better way.

Dumond answered 9/1, 2010 at 15:17 Comment(0)
C
3

If you are using 1.2, you could provide a default mapping for all your GORM classes, including generator.

grails.gorm.default.mapping = {
   id generator:'sequence'
}

See more in 1.2 release notes.

Contiguous answered 9/1, 2010 at 16:31 Comment(1)
I am not running 1.2 but that's a good reason to upgrade. Thanks for the answer that's really clean.Dumond
U
1

I think you could copy just the S3Asset.groovy into src/groovy/. From memory, your class should override the one provided by the plugin. I've used this technique to tweak a couple of plugins until bugs were fixed. But I haven't tried it with domain classes only *GrailsPlugin.groovy files.

Also, Jean's suggestion above is a good one!

cheers

Lee

Urogenital answered 10/1, 2010 at 5:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.