File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Groovy and the fly likes MissingMethodException Error Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


JavaRanch » Java Forums » Other Languages » Groovy
Reply Bookmark "MissingMethodException Error" Watch "MissingMethodException Error" New topic
Author

MissingMethodException Error

Dan King
Ranch Hand

Joined: Mar 18, 2009
Posts: 78
I recently started learning grails/groovy - reading along with "Grails: A Quick Start Guide"; I've run into this error which has got me stumped. Anyone know what's wrong? Following is the error message:

Error 500: groovy.lang.MissingMethodException: No signature of method: TechEvent.get() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, ]
Servlet: grails
URI: /TechDays/grails/message/save.dispatch
Exception Message: No signature of method: TechEvent.get() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, ]
Caused by: groovy.lang.MissingMethodException: No signature of method: TechEvent.get() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, ]
Class: MessageController
At Line: [100]
Code Snippet:
99: def save = {
100: def messageInstance = new Message(params)
101: if(!messageInstance.hasErrors() && messageInstance.save()) {
Gregg Bolinger
Sheriff

Joined: Jul 11, 2001
Posts: 15021

I know why this is happening but without seeing your Message and TechEvent domains I can't really explain it to you and tell you how to fix it. Basically, for some reason, when Message(params) does it's stuff, it is trying to get a TechEvent using 2 String parameters. The get method in GORM usually accepts an Integer which would be the ID of the object you need or an Object, but not a String, and not 2 Strings. Can you show us your domain classes?


My Blog | DZone Articles
Dan King
Ranch Hand

Joined: Mar 18, 2009
Posts: 78
Gregg Bolinger wrote:...Can you show us your domain classes?


Message domain:


TechEvent domain:
Dan King
Ranch Hand

Joined: Mar 18, 2009
Posts: 78
Gregg Bolinger wrote:Basically, for some reason, when Message(params) does it's stuff, it is trying to get a TechEvent using 2 String parameters. The get method in GORM usually accepts an Integer which would be the ID of the object you need or an Object, but not a String, and not 2 Strings...


The issue was a hidden field in a form within my gsp, which duplicated an active field; thus upon submission it would send two arguments for the same parameter. I removed the hidden field and it now almost works. While I am now able to create a "new" message, when I try to "reply" I get the following error, which seems to be a grails bug:


Error 500: java.lang.ClassCastException: TechEvent$__clinit__closure1 cannot be cast to java.util.Map
Servlet: grails
URI: /TechDays/grails/message/save.dispatch
Exception Message: TechEvent$__clinit__closure1 cannot be cast to java.util.Map
Caused by: java.lang.ClassCastException: TechEvent$__clinit__closure1 cannot be cast to java.util.Map
Class: MessageController
At Line: [100]
Code Snippet:

99: def save = {
100: def messageInstance = new Message(params)
101: if(!messageInstance.hasErrors() && messageInstance.save()) {

 
 
subject: MissingMethodException Error
 
developer file tools

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture