2010-11-27 5 views
-2

Je veux utiliser un SortedSet avec Grails, mais tout ce que je reçois est une exception MissingMethodException.SortedSet dans Grails ne fonctionne pas

La classe qui contient l'ensemble Sorted ressemble à ceci:

class SystemUser { 

    SortedSet organisations 
    // ... some other fields 

    static hasMany = [organisations: Organisation] 
    static belongsTo = [Organisation] 

} 

... et la classe implémentant Comparable comme ceci:

class Organisation implements Comparable { 

    String name 
    // ... some other fields 

    static hasMany = [users: SystemUser] 

    int compareTo(other) { 
     return name.comparteTo(other.name) 
    } 

} 

Lorsque je tente d'enregistrer un objet SystemUser je reçois ce message d'exception:

groovy.lang.MissingMethodException: No signature of method: java.lang.String.comparteTo() is applicable for argument types: (java.lang.String) values: [ABC] 
Possible solutions: compareTo(java.lang.String), compareTo(java.lang.Object) 

Mon exemple est presque identique avec le example from the official reference.

Répondre

5

Aucune signature de la méthode: java.lang.String. comparteTo() est applicable pour les types d'arguments

voir le problème maintenant?

+0

hmpf, uniquement une faute de frappe! ('compar_t_eTo') Bienvenue dans le monde de la dactylographie dynamique ;-) – deamon

+0

ou utilisez et IDE qui essaie d'aider un peu plus;) – mfloryan

+0

J'ai essayé NetBeans qui est horriblement lent en mode Groovy, SpringSource Toolsuite qui affichait beaucoup de non existant erreurs, mais maintenant j'essaye IntelliJ et ça fait du bien. – deamon

Questions connexes