Salvando Objeto Java+Blaze+Flex  XML
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Autor Mensagem
rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

Pessoal,

Estou com uma dificuldade para salvar um Objeto com relacionamento. O Problema Ocorre quando tento pegar os valores dos objeto relacionais no Flex.
Debuguei e a única variável que não fica nula é a this.voDesvio.cdTpjustif=cbTpjustif.selectedItem.cdTpjustif;
, justamente a única que não tem relacionamento.

Segue a função e a classe.as

heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

Precisa ver se você mapeou os relacionamentos corretamente do lado do flex com as classes certas, posta teus objetos em flex e java pra ver se da pra te ajudar melhor

http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

Acredito que o mapeamento esta certo acho que nao estou sabendo passar os valores.



heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

É pra mim parece ok, precisa ver as outras classes se elas estão com o [RemoteClass] certinho.

se voce não configurar essa tag em tudo (nas classes relacionadas) pode dar erro também


http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

Cara revisei as outras classes e estao tudo com RemoteClass, o estranho e que as variaveis antes de serem enviadas todas estao com valores null mesnos a tpjustif.
Fiz um teste de printar os valores na tela do flex e sao carregados normalmente.
heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

tem como ativar o debug do blazeds para ver o que está rolando, dai em teoria da pra ver se o flex enviou e o blaze não entendeu ou se o problema já foi antes.

Faz uns meses que não trabalhamos em projetos flex aqui, mas pelo que lembre era alterar a tag

<target class="flex.messaging.log.ConsoleTarget" level="Error">

o level aceita All, Debug, Error, Info, None, and Warn

acho que usavamos Debug nesses casos

ai ele imprime no console do servidor o que ta rolando por trás do BlazeDS

This message was edited 1 time. Last update was at 25/08/2011 21:28:48


http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

esqueci de citar ondde fica, essa tag fica no WEB-INF/flex/services-config.xml

This message was edited 1 time. Last update was at 25/08/2011 21:26:17


http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

E so alterar a tag e debugar a aplicao normalmente? Ou tem que debugar o BlazeDS?
heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

Boa pergunta, seu que tem de reinicar o servidor
Na pior das hipotedes rodar o servidor em modo debug, mas acho que não era necessário.

http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

Ele retorna um erro ao Salvar:

org.hibernate.PropertyValueException: not-null property references a null or transient value: com.fozci.sicorc.model.Desvio.cdPeriodo
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)
at com.fozci.sicorc.persistence.DesvioDAO.justificarDesvio(DesvioDAO.java:22)
at com.fozci.sicorc.service.DesvioService.justificarDesvio(DesvioService.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1495)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:882)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:15
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:27
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:315)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:29
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:58
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:637)
heroijapa
JavaChild
[Avatar]

Membro desde: 15/01/2011 16:04:01
Mensagens: 107
Localização: São José dos Campos - São Paulo
Offline

isso é por causa do @ManyToOne(optional = false)

Ou seja se o valor for null o hibernate não salva.

O Debug funcionou? deu pra ver os objetos que sairam do flex para o blaze ds?

http://marcosfedato.blogspot.com/
@marcosfedato
[WWW]
rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

Entao, no Debug o que observei foi o seguinte.

Eu declaro cada vo no flex:



Todas essas declaracoes sao carregadas com seus objetos corretamente, ou seja, cada id tem seus atributos carregados normalmente.

Ja quando o debug passa pelo o Objeto voDesvio todas as variaveis que eu tento atribuir valor para salvar o Debub mostra como null menos a tpjustif isso antes mesmo de executar o desvioService.justificarDesvio(voDesvio);
Entao podemos concluir que ele nao chega a passar as variaveis para o Blaze correto?


rfogo
JavaTeenager

Membro desde: 18/05/2010 22:04:36
Mensagens: 162
Offline

Problema Resolvido!!!!!

Quando eu fazia:



eu nao estava passando o Objeto Periodo, Movimento e Plconta e sim o atributo de cada Objeto, como o voDesvio estava esperando cada Objeto o mesmo nao preenhia as variaveis.

heroijapa valeu pela ajuda!!!!!



 
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team