demoiselle / framework

Repositório principal contendo o Core e Extensions: JPA, Security, WS
https://demoiselle.org
127 stars 77 forks source link

Bug no tratamento de validação quando processa um Proxy Bean #113

Open lucasa opened 6 years ago

lucasa commented 6 years ago

A classe "framework/demoiselle-rest/src/main/java/org/demoiselle/jee/rest/exception/treatment/ExceptionTreatmentImpl.java", não consegue validar um bean que seja do tipo Proxy, que é uma modificação no tipo nativo do Bean aplicada em runtime pelo container JEE, criando um tipo derivado cujo nome contém "$Proxy$_$$WeldClientProxy", por exemplo "LotePgtoAutoREST$Proxy$$$_WeldClientProxy".

Esse nome especial, provoca uma exceção quando passado como parâmetro para o método String.replaceAll(), pois o '$' é caractere reservado do java.util.regex.Matcher.

Para solucionar é preciso sanitizar o nome do Bean derivado, removendo todo o trecho do proxy e fazer o replaceAll baseado no nome original da classe, que no exemplo seria "LotePgtoAutoREST".

lucasa commented 6 years ago

Fixed by the merge request #114

fadc80 commented 5 years ago

Não seria melhor utilizar um ParameterNameProvider? Isso não evitaria a necessidade desse código que altera o valor padrão dos parâmetros: arg0, arg1... argN via String.replaceAll?