Vraptor 3 @Path LOWEST não funciona

E ai pessoal tudo bem?

Tenho vários controllers com e sem @Path ex

[code]CadastroController{

public voir list(){}

}
}[/code]

O acesso seria cadastro/list

[code]Cadastro2Controller{

public void list(){}

}[/code]

e cadastro2/list

e tenho um controller com @Path dinâmico

Cadastro3Controller { @Path(priority=Path.LOWEST, value="/{valor}/{valor2}") public void alterar(String valor, String valor2){} }

dai vem o erro

java.lang.IllegalStateException: There are two rules that matches the uri

e se eu colocar

@Path(priority=Path.LOW, value="/{valor}/{valor2}")

o método sempre é acessado primeiro…

o que será isso?

Abraços…

qual versão do vraptor?

Versão 3.3.2

quais são essas duas rules que ele está acusando?

hum… dá uma olhada:

se vc não usa o @Path, ele é LOWEST por padrão =(

então se vc coloca o outro path como LOWEST eles ficam na mesma prioridade

E se eu colocar como DEFAULT deve funcionar?..

DEFAULT é maior que LOWEST… então o @Path como default não vai resolver…

teria que mudar o padrão das urls sem @Path (ou similar) =(

Não, estou dizendo implementar esta RouteBuilder ou baixar o fonte do vraptor e mudar…

é, dá pra fazer isso sim, vc sobrescrever o routebuilder padrão do VRaptor…

o que a gente pode fazer é deixar a priority inicial configurável facilmente (estendendo o DefaultRouteBuilder e implementando um método), que acha?

quer implementar e mandar um pull request? =)

Valeu lucas, vou testar depois eu posto os resultados…

Lucas funcionou…, baixei o fonte e coloquei private int priority = Path.DEFAULT;

Não sei como fazer este pull request que vc falou…

então, cria um fork lá no github, faz um push pra ele, e manda um pull request (fork e pull request é pela interface do github)…

de qqer forma mudar pra default quebra compatibilidade, o ideal é deixar isso estensível