Mensagens enviadas por: seufagner
Índice dos Fóruns » Perfil de seufagner » Mensagens enviadas por seufagner
Autor Mensagem
Bacana garcia, mas só lembrando que você com unmodifiableXX pode mudar os objetos NA instância da lista de qualquer forma. O que você não pode é, simplesmente, alterar a instância DA PRÓPRIA lista.

Ou seja, não vejo qualquer benefício prático neste caso.

Lucas,

Chegando em casa vou implementar e dar um pull.
Vocês não acham que os erros deveriam ser conhecidos no Controller?

Acho natural usar o padrão (colocar o erros no request), porém, por default, não vejo problemas em disponibilizá-los no Controller também.

E se o cara quiser enviar as mensagens em outra formatação, não é normal? Neste caso o VRaptor não estaria tolhendo demais o programador para utilizar o padrão dele ? Enviá-la de outra forma demanda, desnecessariamente, o trabalho de sobrescrever o framework.


O que vocês acham?
@garcia-jj, Lucas

O aplicativo cliente recebe tudo em JSON, inclusive mensagens de erro, ao invés de HTTP CODE e/ou, porventura, uma mensagem no corpo.

O atalho do VRaptor produz um HTTP CODE 400, certo? Não serve para mim. Nem sempre podemos fazer algo mais próximo de Restful.

Trata-se de um aplicativo feito em Flash que consome JSON e envia JSON. Ele será o único cliente, então não posso me prender a diversas good practices de serviços web, REST ou não, pois a plataforma da Adobe é bem limitada e cheia de problemas.

Neste caso específico, ao receber um code 400 ele simplesmente retorna um IOError e não tem como capturar a resposta, quiçá, enviada pelo serviço.


Como é muito simples a solução do Lucas, vou utilizá-la, pois assim meu cliente vai ganhar dinheiro e, da maneira mais responsável possível, irei resolver o problema dele.

Obrigado pessoal!
garcia-jj wrote:Você tem acesso a ele pelo JSP via atributo errors. Você precisa dele no controller?


Isso, eu preciso no Controller. Meu cliente é um Aplicativo que consome JSON. (de antemão aviso que o Deserializer default do VRaptor não funciona pra mim, eu estou usando o GSon)

O ponto desta thread não é a solução em si, mas o por quê não disponibilizá-lo na interface Validator.

Um cara que valida algo, por definição, deve saber informar os erros encontrados.
Seria o óbvio ululante, garcia.

Mas br.com.caelum.vraptor.Validator não tem o método getErrors()

Estou usando a versão 3.3.1

Obg
Simples garcia, a interface não tem este método.

AbstractValidator marca ele como protegido e é usado por DefaultValidator, este sim contém o método público.



Minha questão é:

Porque este método não é declarado na interface? Eu teria que declarar, no controller, a implementação diretamente (ou fazer CAST), para ter acesso a este método.


Ola

Não percebo um clara justificativa para que não possamos recuperar os erros (Message) ocorridos quando usamos alguma implementação da JSR de Bean Validator através do VRaptor, leia-se:



Eu tenho realmente que criar um Interceptor para pegar o parâmetro "errors" (próprio do VRaptor) existente pós validação?


Porque não disponibilizá-las publicamente ?
Me identifico bastante com esta discussão.

Atualmente estou trabalhando em um projeto de enorme concorrência e consumo de dados para um jogo, dos grandes.

Quanto entrei na empresa, o ex "líder técnico" havia feito uma implementação em Ruby (não finalizada) com Mongo DB, com argumentos mais pelo hype e pelo gosto pessoal do que coerência técnica.

A maturidade da JVM é algo inquestionável frente a outras VMs, inclusive a do Ruby, seja ela qual for. Indo além, a maturidade de APIs para o Membase (leia-se, basicamente Memcached persistido) também não era bacana, entre outras soluções já maduras, há anos, para o Java.

Minha proposta foi parar de brigar com a solução, que na verdade era nosso maior problema, e jogar fora tudo feito em Ruby e usar Java puro.

Refiro-me, acrescentando a discussão, que o Java tem soluções (libs, etc) bem mais maduras e estáveis que as providas pelo Ruby, em muitos casos.

Eu adoro programar em Ruby, porém é necessário colocar de lado predileções e decidir com responsabilidade o que você vai sugerir como solução para os projetos que você venha a participar.

Por fim, digo que rendeu muita conversa até resolverem jogar no lixo o que estava pronto, ato este que, por definição, não soa bem para nenhum gerente ou padrinho de projeto, no nosso caso. Hoje estamos muito bem, mais rápidos e tranquilos usando Java puro.
garcia-jj wrote:Você mapeou o package no web.xml? O VRaptor só faz scan automatico para classes no WEB-INF/classes. Para classes dentro de um jar é necessário declarar o pacote no web.xml.


Esta classe é modelo e não usa anotação nenhuma, seja do VRaptor ou dos steriotypes do Spring.

Por coinscidência, implementei um serializer e marquei como @Deserializes. Ele não detecta esse cara, mesmo mapeando no web.xml um parâmetro de contexto com o nome br.com.caelum.vraptor.packages e adicionando o pacote do meu tipo JsonDeserializer.
Claro Lucas.

A classe Enum está em um JAR-core, que por usa vez está no WEB-INF/libs da aplicação web que utiliza a tal inner enum.

As requisições chegam via JSON de um swf e minha resposta é dada no mesmo formato.


Esta é classe de domínio, argumento do método no Controller



Estou testando via cURL:

curl -d ... "xxx.type=SUBWAY&xxx.description=foo" http://localhost:8080/project/xxx/save



Erro:


12:15:01,077 DEBUG [ParametersInstantiatorInterceptor] There are conversion errors: [ValidationMessage{category=type, message=???is_not_a_valid_enum_value???, parameters=null}]
Oi Lucas, está sim.
Ola

O Bootstrap do VRaptor não consegue encontrar inner Enums ? Quando coloco-a em um arquivo separado tudo funciona normalmente.



É verdade garcia-jj.

Já submeti lá.
Criei o mock para JSR303, que foi bem simples.

Porém este depende do jar validation-api-1.0.0.GA.jar. Vale a pena fazer um pull request?
garcia-jj wrote:O HV4 não depende do Hibernate core. Eu tenho usado o HV4 com sucesso em um Glassfish com Eclipselink normalmente.

Acho que essa Exception deve ser de outra coisa.


Não, o HV4 não tem. Mas o HV 3 tem.


garcia-jj vou dar uma olhada nas outras implementações. Se não forem tão boas vou escrever em casa o Mock para HV 4 no VRaptor.

Obrigado!
 
Índice dos Fóruns » Perfil de seufagner » Mensagens enviadas por seufagner
Ir para:   
Powered by JForum 2.1.8 © JForum Team