Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
lucasa opened this issue Apr 23, 2018 · 2 comments
Open

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

lucasa opened this issue Apr 23, 2018 · 2 comments

Comments

@lucasa
Copy link

lucasa commented Apr 23, 2018

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
Copy link
Author

lucasa commented Apr 23, 2018

Fixed by the merge request #114

@fadc80
Copy link

fadc80 commented Mar 18, 2019

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants