Ich versuche, mit einer App zu arbeiten, die in Grails erstellt wurde, aber ich bekomme einen Fehler, den ich nicht verstehe. Im Grunde habe ich eine ENUM bekam:Grails: java.lang.IllegalArgumentException: Nein enum const
package com.wbr.manning.common
public enum ChapterType {
CHAPTER("chapter"), PREFACE("preface"), APPENDIX("appendix"), PART("part")
ChapterType(String value) { this.value = value }
String value
String getKey() { name() }
String toString() { value }
}
Aber wenn ich versuche, die Kapitel Objekte aufzulisten, die ich erhalten:
java.lang.IllegalArgumentException: No enum const class com.wbr.manning.common.ChapterType.part at java.lang.Enum.valueOf(Enum.java:196) at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1163) at com.wbr.manning.agileAuthor.AAChapterController$_closure3.doCall(AAChapterController.groovy:39) at com.wbr.manning.agileAuthor.AAChapterController$_closure3.doCall(AAChapterController.groovy) at java.lang.Thread.run(Thread.java:662) 2012-04-02 09:55:23,401 [http-8080-1] ERROR common.ErrorsController - org.codehaus.groovy.grails.web.errors.GrailsWrappedRuntimeException: No enum const class com.wbr.manning.common.ChapterType.part
Alle Ideen, was ich falsch hier? Habe ich das Enum korrekt, oder muss ich auf den Anrufcode schauen?
Danke!
Gut zu wissen, danke! Ich löste das Problem, indem ich die Werte in der Datenbank änderte, aber das ist sicherlich eleganter! – NickChase
In den meisten Implementierungen lautet der Name dieser Methode "getInstance" – mre