andersonfreitas / vaadin-masked-textfield

A MaskedTextfield for Vaadin
http://vaadin.com/addon/maskedtextfield
Apache License 2.0
13 stars 24 forks source link

BugFixes and Vaadin 7.1 Support #16

Closed EduFrazao closed 6 years ago

EduFrazao commented 11 years ago

Anderson, fiz a correção da falha que te falei, e tambem incluí suporte ao Vaadin 7.1 (houve mudanças nos conversores de propriedades).

andersonajx commented 11 years ago

Olá Eduardo.

Maravilha cara. Vamos testar aqui.

Muito obrigado. Seu componente é muito bom. Que bom que não abandonou ele =)

Abraços.

EduFrazao commented 11 years ago

@andersonajx Ehehehe. Não é meu não brother. Créditos para o @andersonfreitas!

ledbruno commented 11 years ago

Opah, tem previsao para subir essas correções para o repositorio do Vaadin Add Ons? Lá ainda está apontando para versão 0.1.1

Parabens pelo trabalho! Se der tento contribuir com algum commit :+1:

EduFrazao commented 11 years ago

Pessoal, fiz algumas pequenas correções.

rodrigorodriguescosta commented 10 years ago

Cara, estou tentando usar mas ta difícil, quando eu estava com o vaadin 7.0.1 simplesmente não "mascarava", agora passei para o 7.1.7 no caso estou tentando usar o MaskedTextField mesmo, não o numeric como dito por Edu acima, no caso apresenta o seguinte erro:

com.vaadin.data.Buffered$SourceException at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:637) at org.vaadin.addons.maskedtextfield.MaskedTextField.setPropertyDataSource(MaskedTextField.java:55) at com.vaadin.data.fieldgroup.FieldGroup.bind(FieldGroup.java:265) at com.vaadin.data.fieldgroup.BeanFieldGroup.bind(BeanFieldGroup.java:167) at view.ui.customer.CustomerForm.bindingFields(CustomerForm.java:56) at view.frames.FrameForm.init(FrameForm.java:86) at view.frames.FrameForm.(FrameForm.java:63) at view.frames.FrameForm.(FrameForm.java:67) at view.ui.customer.CustomerForm.(CustomerForm.java:34) at view.ui.customer.CustomerMain.(CustomerMain.java:17) at view.frames.FrameMain$1.menuSelected(FrameMain.java:149) at com.vaadin.ui.MenuBar.changeVariables(MenuBar.java:186) at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:403) at com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:228) at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111) at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91) at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37) at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371) at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.AbstractMethodError: org.vaadin.addons.maskedtextfield.MaskedTextField$UnmaskModelConverter.convertToPresentation(Ljava/lang/Object;Ljava/lang/Class;Ljava/util/Locale;)Ljava/lang/Object; at com.vaadin.data.util.converter.ConverterUtil.convertFromModel(ConverterUtil.java:94) at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:708) at com.vaadin.ui.AbstractField.convertFromModel(AbstractField.java:693) at com.vaadin.ui.AbstractField.setPropertyDataSource(AbstractField.java:629) ... 35 more

EduFrazao commented 10 years ago

Boa noite! Cara, um AbstractMethodError só pode ocorrer por incompatibilidade classes. Por favor, tente baixar o meu ultimo branch, que já possui suporte para o Vaadin 7.1 (uma alteração na assinatura dos conversores, justamente o ponto onde vc pegou a falha). Qualquer coisa dê um toque aí!

Abraço.

rodrigorodriguescosta commented 10 years ago

Obrigado pelo retorno, atualizei para essa sua versão 0.1.4(https://github.com/EduFrazao/vaadin-masked-textfield.git) e o Vaadin 7.1.7, a máscara não funciona, ele não deu mais o erro, porém a máscara não funciona.

testei o seguinte trecho de código

MaskedTextField fone = new MaskedTextField("Telefone1 ","(##) ###-####"); content1.addComponent(fone);

Veja a tela

screenshot from 2013-11-01 13 59 14

EduFrazao commented 10 years ago

Cara, que estranho. Você pode confirmar se o módulo GWT da sua aplicação inclui uma herança para o módulo do Addon?

Verifique se no gwt.xml do seu widgetset:

rodrigorodriguescosta commented 10 years ago

Olá, só para informar que era exatamente isso, faltou eu fazer o mvn vaadin:compile, mas já tinha a herança no gwt.xml.

Eu venho do Delphi e ainda sou iniciante no Java, em relação a sintaxe e OO não tive problemas, mas tive que aprender muitas coisas, Maven, JPA, Spring, Egit, Junit, selenium, Jekins etc, cara a diferença é grande, irei migrar as atuais aplicações para Java no caso usado o Vaadin, eu tenho a sensação que perdi muito tempo com o Delphi, apesar de obter resultados bons, mas que o Java é sem dúvida uma excelente plataforma!

Obrigado pela resosta Eduardo

EduFrazao commented 10 years ago

Fico contente que tenha dado certo! Só faltou a permutação client-side então :).

Quanto à sua jornada ao Java World, realmente você sentirá um impacto vindo do Delphi, pela diferença da proposta de trabalho principalmente. Mas tenho certeza que não foi tempo perdido! Delphi faz exatamente o que ele se propõe a fazer, e ObjectPascal é subestimado como linguagem OO, mas nas novas versões possui todos os recursos que as principais linguagens fornecem. Todo conhecimento é válido! Boa sorte na sua jornada, e precisando de algo, estamos aí!

caiolsantana commented 10 years ago

@EduFrazao, Sou iniciante no vaadin e estou usando esse componente e estou com o mesmo problema que o @bittecnologia, porém o projeto que estou trabalhando aqui usa o Vaadin 7.1.11 e nao tem nenhum arquivo gwt.xml. Poderia me dar uma ajuda ai com o que fazer para fazer a mascara funcionar???

rodrigorodriguescosta commented 10 years ago

Eu uso o Eclipse, Maven e Git, no caso o STS(Spring toll suite)

Faça o download https://github.com/EduFrazao/vaadin-masked-textfield

Depois compile-o, Run, Maven Build... digite vaadin:compile e aguarde a compilação

depois disso, no seu projeto vaadin, você precisa adicionar a seguinte linha

no seu arquivo gwt.xml (o meu ta com o seguinte nome AppWidgetSet.gwt.xml) esse arquivo deve está localizado dentro do projeto vaadin,

Lá no seu arquivo web.xml provavelmente está apontando para esse arquivo, da seguinte forma

    <init-param>
        <param-name>widgetset</param-name>
        <param-value>com.seupacote.nomedaaplicacao.AppWidgetSet</param-value>       
    </init-param>

</servlet>

depois disso ele funciona, claro, olhe se ao fazer o deploy se o arquivo maskedtextfield-0.1.4.jar está indo para a pasta lib do container, caso contrário, dará um ClassNotFoundException na hora de executar a aplicação.

caiolsantana commented 10 years ago

@bittecnologia, Eu entendi o que deve ser feito, porém não fui eu que montei a arquitetura que está aqui, no projeto não tem nenhum arquivo "gwt.xml" e nem um widgetset configurado no meu web.xml. O que seriam essas configurações?? Como faço para aplica-las no projeto?

caiolsantana commented 10 years ago

Unica coisa do vaadin que tem no web.xml seria isso.

AtivosApplication br.com.teletronic.secativos.ui.vaadin.support.spring.servlet.AtivosApplicationServlet beanName ativosApplication