Erro no campo de valor

1 resposta
wdwebsite

Olá pessoal estou com um erro muito estranho, ele estava funcionando normalmente depois sem motivo aparente parou de funcionar.

Uso um sistema de percistencia JDBC
Netbeans 7.3
Db: mysql 5.5

O erro e o seguinte tenho um campo jformated que esta anexado diretamente a mastertable, ou seja digito o valor no campo ele tem que aparecer na master table, eu digito o valor e não aparece na master table, mas quando saio do campo me apresenta o seguinte erro:

run:
[TopLink Info]: 2013.05.17 05:06:34.114--ServerSession(2338822)--TopLink, version: Oracle TopLink Essentials - 2.1 (Build 60f (01/07/2009))
[TopLink Info]: 2013.05.17 05:06:35.415--ServerSession(2338822)--file:/D:/java/programas/SiscomWD/netbeans/siscomwd/build/classes/-siscomwdPU login successful
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: Cannot cast java.lang.Long to java.lang.Double
	at java.lang.Class.cast(Class.java:3014)
	at org.jdesktop.beansbinding.Binding.convertReverse(Binding.java:1321)
	at org.jdesktop.beansbinding.Binding.getTargetValueForSource(Binding.java:909)
	at org.jdesktop.beansbinding.Binding.saveUnmanaged(Binding.java:1268)
	at org.jdesktop.beansbinding.Binding.save(Binding.java:1254)
	at org.jdesktop.beansbinding.AutoBinding.trySaveThenRefresh(AutoBinding.java:176)
	at org.jdesktop.beansbinding.AutoBinding.targetChangedImpl(AutoBinding.java:249)
	at org.jdesktop.beansbinding.Binding.targetChanged(Binding.java:1433)
	at org.jdesktop.beansbinding.Binding.access$1300(Binding.java:38)
	at org.jdesktop.beansbinding.Binding$PSL.propertyStateChanged(Binding.java:1620)
	at org.jdesktop.beansbinding.PropertyHelper.firePropertyStateChange(PropertyHelper.java:212)
	at org.jdesktop.beansbinding.BeanProperty.notifyListeners(BeanProperty.java:712)
	at org.jdesktop.beansbinding.BeanProperty.access$1000(BeanProperty.java:143)
	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.cachedValueChanged(BeanProperty.java:369)
	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.propertyValueChanged(BeanProperty.java:409)
	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.propertyChange(BeanProperty.java:414)
	at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
	at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
	at java.awt.Component.firePropertyChange(Component.java:8382)
	at javax.swing.JFormattedTextField.setValue(JFormattedTextField.java:799)
	at javax.swing.JFormattedTextField.commitEdit(JFormattedTextField.java:530)
	at javax.swing.JFormattedTextField$FocusLostHandler.run(JFormattedTextField.java:649)
	at javax.swing.JFormattedTextField.processFocusEvent(JFormattedTextField.java:631)
	at java.awt.Component.processEvent(Component.java:6261)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:947)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:621)
	at java.awt.Component.dispatchEventImpl(Component.java:4731)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
CONSTRUÍDO COM SUCESSO (tempo total: 37 segundos)

O mais interessante que eu ja tirei a ligação com a mastertable e o erro parou, porem não grava os dados no banco.

O código de ligação com a mastertable e esse:

masterTable[${selectedElement.lancValor}]

Vi que o erro esta enviando uma variável do estilo long a master table que e double, mas já procurei por tudo e não achei onde poderia estar.

Na classe onde controla o mestre detalhe do valor esta correto veja o codigo a baixo:

public Double getLancValor() {
        return lancValor;
    }

    public void setLancValor(Double lancValor) {
        Double oldLancValor = this.lancValor;
        this.lancValor = lancValor;
        changeSupport.firePropertyChange("lancValor", oldLancValor, lancValor);
    }

O interessante que eu acabei de trocar o campo por um Jtextfield e funcionou perfeitamente, mas o campo não fica formatado…

Alguém poderia me orientar o que posso fazer?

1 Resposta

wdwebsite

Descobri o problema!!!

Por incrível que pareça o problema não e nada comum, eu tinha um conector de mysql seguinte:

mysql-connector-java-5.1.13-bin.jar

Bom eu estava usando esse conector ai estava dando problema, tive uns problemas de mysql e resolvi importar ao projeto um outro conector mais atualizado o

mysql-connector-java-5.1.6-bin.jar

Como magica foi so importar o campo voltou a funcionar e parou de dar erro, alguém pode me explicar como isso aconteceu?

E alguém sabe se eu consigo algum conector ainda mais atualizado para que eu não tenha mais esse tipo de problema com o mysql?

Criado 17 de maio de 2013
Ultima resposta 18 de mai. de 2013
Respostas 1
Participantes 1