[RESOLVIDO] acessar List com mais d 1 dado d outro domain
09/10/2008 00:00
0
Pessoal ,

tenho um relacionamento 1 to n, Projeto tem n Casos_de_Uso, quando insiro mais de um Caso_de_Uso nao consigu acessar o List do Projeto, da o seguinte erro :

java.lang.ClassCastException: Casos_de_Uso cannot be cast to java.lang.Comparable
at java.util.TreeMap.put(TreeMap.java:542)
at java.util.TreeSet.add(TreeSet.java:238)
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
at java.util.TreeSet.addAll(TreeSet.java:295)
at C__grails_TCC_grails_app_views_projeto_list_gsp$_run_closure6.doCall(C__grails_TCC_grails_app_views_projeto_list_gsp:53)
at C__grails_TCC_grails_app_views_projeto_list_gsp.run(C__grails_TCC_grails_app_views_projeto_list_gsp:43)

Segue os códigos ...



class Projeto {

String nome
String descricao
SortedSet funcionarios
SortedSet casos_de_Uso
Integer funcionariosCount = 0
Integer casos_de_UsoCount = 0

static hasMany = [funcionarios:Funcionario, casos_de_Uso:Casos_de_Uso, variaveis:Variaveis]

}




class Casos_de_Uso {

String descricao
String testesEfetuados
String andamento
SortedSet variaveis
static belongsTo = [projeto:Projeto]
static hasMany = [variaveis:Variaveis]

}





<html>
<head>
<meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;/>
<meta name=&quot;layout&quot; content=&quot;main&quot; />
<title>Projeto List</title>
</head>
<body>
<div class=&quot;nav&quot;>
<span class=&quot;menuButton&quot;><a class=&quot;home&quot; href=&quot;$&#123;createLinkTo(dir&#58;'')&#125;&quot;>Home</a></span>
<span class=&quot;menuButton&quot;><g&#58;link class=&quot;create&quot; action=&quot;create&quot;>New Projeto</g&#58;link></span>
</div>
<div class=&quot;body&quot;>
<h1>Projeto List</h1>
<g&#58;if test=&quot;$&#123;flash.message&#125;&quot;>
<div class=&quot;message&quot;>$&#123;flash.message&#125;</div>
</g&#58;if>
<div class=&quot;list&quot;>
<table>
<thead>
<tr>

<g&#58;sortableColumn property=&quot;id&quot; title=&quot;Id&quot; />

<th>Casosde Uso</th>

<g&#58;sortableColumn property=&quot;casos_de_UsoCount&quot; title=&quot;Casosde Uso Count&quot; />

<g&#58;sortableColumn property=&quot;descricao&quot; title=&quot;Descricao&quot; />

<th>Funcionarios</th>

<g&#58;sortableColumn property=&quot;funcionariosCount&quot; title=&quot;Funcionarios Count&quot; />

</tr>
</thead>
<tbody>
<g&#58;each in=&quot;$&#123;projetoList&#125;&quot; status=&quot;i&quot; var=&quot;projeto&quot;>
<tr class=&quot;$&#123;(i % 2) == 0 ? 'odd' &#58; 'even'&#125;&quot;>

<td><g&#58;link action=&quot;show&quot; id=&quot;$&#123;projeto.id&#125;&quot;>$&#123;fieldValue(bean&#58;projeto, field&#58;'id')&#125;</g&#58;link></td>

<td>$&#123;fieldValue(bean&#58;projeto, field&#58;'casos_de_Uso')&#125;</td>

<td>$&#123;fieldValue(bean&#58;projeto, field&#58;'casos_de_UsoCount')&#125;</td>

<td>$&#123;fieldValue(bean&#58;projeto, field&#58;'descricao')&#125;</td>

<td>$&#123;fieldValue(bean&#58;projeto, field&#58;'funcionarios')&#125;</td>

<td>$&#123;fieldValue(bean&#58;projeto, field&#58;'funcionariosCount')&#125;</td>

</tr>
</g&#58;each>
</tbody>
</table>
</div>
<div class=&quot;paginateButtons&quot;>
<g&#58;paginate total=&quot;$&#123;Projeto.count()&#125;&quot; />
</div>
</div>
</body>
</html>

Tags: Grails


0
Resolvido .....

Apenas implementei o Comparable .....




class Casos_de_Uso implements Comparable &#123;

String descricao
String testesEfetuados
String andamento
SortedSet variaveis
static belongsTo = [projeto&#58;Projeto]
static hasMany = [variaveis&#58;Variaveis]

int compareTo(obj) &#123;
id.compareTo(obj.id)
&#125;

&#125;


18/10/2008 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto