| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2009 16:32:11
|
denisrodrigues
HelloWorld
Membro desde: 15/09/2009 16:39:39
Mensagens: 11
Offline
|
Olá,
Sou iniciante e estou tendo problemas para popular um datagrid, utilizando dados do banco, já tentei de várias maneiras mas não dá certo, nesse código abaixo, estou tentando fazer de duas formas diferentes,
Classe que espelha modelo java(atributos e métodos)
Minha classe controladora vagas
Meu DAOVaga
Quando eu aperto o botão pesquisar, não acontece nada, nem muda de estado, no segundo click fica branco o panel, não consigo pesquisar vaga e nem profissionais
Agora o meu outro problema é o Login, esse eu tô mais perdido ainda
Até agora eu fiz isso
Apesar de ter já feito isso, acredito que tem bastante coisa errada, principalmente no dao e controladora, e não sei como continuar daqui para frente, como criar um método login e fazer a sessão, principalmente na parte do flex, se alguém pode me dar uma luz
O tópico ficou meio grandinho, mas eu tô começando agora na raça, eu tenho que entregar esse projeto amanhã ou sexta na faculdade, ainda bem que data da entrega foi prorrogada umas duas vezes, porque tô bem enrolado
Obrigado desde já.
This message was edited 2 times. Last update was at 16/12/2009 16:37:21
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2009 16:54:24
|
henrique.marino
Thread.start()
Membro desde: 29/09/2009 18:12:26
Mensagens: 37
Offline
|
Olá Denis, bem vindo ao mundo do Flex!
Para começar gostaria de te indicar a documentação do Flex (shift + F2 na perspectiva Flex te leva ao help!) que é muito boa.
Aplicações como o Tour de Flex http://www.adobe.com/devnet/flex/tourdeflex/ tb são legais para quem esta começando...
Antes de mais nada, uma pergunta para vc. Alguma vez vc já conseguiu fazer um hello world Flex + Java? Digo isso pois seria mais fácil começar com alguns conceitos como configurar o blaze e etc.
Se vc já fez, sugiro que vc crie uma aplicação (Flex App) nova para testar a comunicação do Flex e Java. Por exemplo, crie um método no java que vai retornar uma string...
[]s,
This message was edited 1 time. Last update was at 16/12/2009 16:55:02
|
Henrique F. Marino
www.dclick.com.br
blog.dclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2009 20:39:03
|
denisrodrigues
HelloWorld
Membro desde: 15/09/2009 16:39:39
Mensagens: 11
Offline
|
Tô um pouco mais adiante
A conexão com java está ok, aplicação já está fazendo inserções no banco de dados, é uma rede social, no momento está com 40 classes java, mas nesse semestre vou entregar apenas uma parte, a programação em java em si está bastante adiantada, uns 70%, o maior problema é a parte em flex, no projeto há algumas coisas em flex funcionando, como comboBox, states, alerts personalizados e mais algumas coisas
Mas eu não tenho experiência em java e nem em flex, mas estou me virando, se alguém puder me ajudar resolver esses problemas, ficaria agradecido.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2009 23:24:19
|
henrique.marino
Thread.start()
Membro desde: 29/09/2009 18:12:26
Mensagens: 37
Offline
|
Denis, bom saber que estamos com a integração entre java e flex ok!..
Então vamos por parte. Vou descrever algumas coisas que eu faria para achar o erro...
1) Os datagrids não preenchem:
A primeira coisa que eu faria seria colocar um tratamento de erro para as chamadas do RemoteObject. Veja se está ocorrendo algum erro na chamda do método
A chamada DAOVaga.buscarVaga, não deveria ser DAOVaga.buscarVaga()? Além disso, pelo que pude perceber, o metodo no java espera receber um int, não? Ou tem sobrecarga e vc não colocou o código?
Verifique se a chamada do Flex está chegando no método buscarVaga do Java, isso ocorre? Se sim, garanta que o retorno deste método volta o que vc está esperando...
Você já colocou um breakpoint na função mostrarVagas e ver o que vem em evt.result?
Tome cuidado com o cast com o operador "as", se a classe não for a mesma o resultado do cast será null, e não dará nenhum erro...
2) Os states não funcionam..
Não consegui ver a declaração dos states...
3) O método de login:
Bom, primeiro vamos esquecer a sessão, vamos fazer o login funcionar. Para isso, o retorno do java dever ser, por exemplo um User ou até mesmo void. Ai vc pode se perguntar, mais se não retorna nada, como saberei que ele está logado??? Simplesmente pelo fato de vc capturar no Flex o evento result.
Para fazer com que seja descoberto no Flex que a autenticação falhou, simplesmente da um throw de uma exception e no flex capture o evento fault...
Acho que já é bom para começar...
Espero ter te ajudado, ainda tem algumas coisas no seu código que precisam melhorar, como por exemplo, não é necessário instanciar outro RemoteObject para cada metodo java... mais vamos por parte, depois complementamos isso...
[]s,
This message was edited 1 time. Last update was at 16/12/2009 23:25:55
|
Henrique F. Marino
www.dclick.com.br
blog.dclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 00:12:39
|
denisrodrigues
HelloWorld
Membro desde: 15/09/2009 16:39:39
Mensagens: 11
Offline
|
Eu coloquei um breakpoint na minha mxml e fiz um debug e deu esse erro, algum problema com a variavel vagas
Em relação () do buscarVagas, eu coloquei mas não deu resultado
Sobre a busca usando int, é usado o id da vaga
Em relação ao states, não é problema neles, mas sim no grid(buscarVagas), porque quando eu tiro o dataprovider do datagrid, mostra ele perfeitamente
Eu vou fazer um fault para tratar os erros
Sobre "Verifique se a chamada do Flex está chegando no método buscarVaga do Java, isso ocorre? Se sim, garanta que o retorno deste método volta o que vc está esperando... ", como faço isso, um debug?
Valeu pela ajuda.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 09:24:22
|
henrique.marino
Thread.start()
Membro desde: 29/09/2009 18:12:26
Mensagens: 37
Offline
|
1) dataProvider="(vagas)", não deveria ser dataProvider="{vagas}"? ({} ao invés de ())?
2) não consegui ver vc passando o id na chamanda da função buscarVagas();
3) Para degubar o java, inicie o server dentro do eclipse e coloque um break no código java. Outra forma fácil é colocar um sysout para indicar que chegou no método e outro para indicar a quantidade de objetos retornados, por exemplo.
[]s,
|
Henrique F. Marino
www.dclick.com.br
blog.dclick.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 11:55:54
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
Eu ainda acho que você deveria começar por um HelloWorld. Tem erros básicos aí que você ia entender melhor começando por coisas simples.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 13:56:14
|
denisrodrigues
HelloWorld
Membro desde: 15/09/2009 16:39:39
Mensagens: 11
Offline
|
Comecei a tentar fazer do mesmo jeito que eu fiz o inserir, eu entendi melhor dessa forma, tanto vaga e profissional a implementação é igual, só muda que é um busca por int e outro por string
Eu tive um pequeno avanço, mas como eu faço para buscar todos os meus profissionais sem passar passar um e-mail ou id para busca, como está no meu método buscar no DAO, quando eu faço assim controladoraProfissional.buscar(profissionais);
Dá esse erro no TomCat ""exception.ImpossivelCompletarTarefaException: Não existe um Profissdional cadastrado com este E-Mail: null""at negocio.FachadaProfissional.buscarProfissional(FachadaProfissional.java:39)
at control.ControladoraProfissional.buscar(ControladoraProfissional.java:42)
O método tá percorrendo controladora>fachada> mas esbarra no método buscar
Quando não passo nada, controladoraProfissional.buscar(); dá o seguinte erro no flash
[RPC Fault faultString="Cannot invoke method 'buscar'." faultCode="Server.ResourceUnavailable" faultDetail="0 arguments were sent but 1 were expected."], eu criei o método fault, mas onde eu coloco no método pesquisar
Eu já fiz o "Hello World!", não sei se sou meio burrinho, porque não estou achando esses erros básicos
This message was edited 1 time. Last update was at 17/12/2009 13:58:12
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 14:21:13
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
Está usando SQL mesmo ou Hibernate? Se for SQL mesmo, crie outro método no Java que vai seguir "SELECT FROM NOMEDATABELA", e retorna a lista de todos os objetos (jeito ruim, mas acho que você não tá diferenciando). Se for Hibernate, procure sobre a classe Criteria. Você só vai ter que passar a classe que quer buscar e o hibernate vai retornar. []'s
This message was edited 2 times. Last update was at 17/12/2009 14:23:09
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 16:23:53
|
felipedamiani
JavaEvangelist
![[Avatar]](/images/avatar/7d2d180c45c41870f36e747816456190.jpg)
Membro desde: 07/10/2006 17:38:46
Mensagens: 382
Localização: Braço do Norte / Tubarão - SC
Offline
|
denisrodrigues wrote:Quando não passo nada, controladoraProfissional.buscar(); dá o seguinte erro no flash
[RPC Fault faultString="Cannot invoke method 'buscar'." faultCode="Server.ResourceUnavailable" faultDetail="0 arguments were sent but 1 were expected."]...
A própria descrição do erro já está dizendo, no java o método espera um parametro, e no flex tais tendando chamar este método sem passar nenhum parametro.
This message was edited 1 time. Last update was at 17/12/2009 16:25:35
|
Felipe Damiani |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/12/2009 22:54:55
|
denisrodrigues
HelloWorld
Membro desde: 15/09/2009 16:39:39
Mensagens: 11
Offline
|
Eu estou usando sql, fiz outro método para selecionar todos objetos
Continua não aparecendo nada no grid, tô tendo problemas com o Cast
[RPC Fault faultString="java.lang.ClassCastException : java.util.ArrayList cannot be cast to modelo.Profissional"
O pior que eu não consigo debugar, quando cai no ((Profissional) listProfissionais).setNome(set.getString("nome")); dá um problema
InvocationTargetException.<init>(Throwable) line: not available
JavaAdapter.invoke(Message) line: 440
Source not found. A tela fica branca e aparece um botão "Edit Source Lookup Path..."
Eu não consigo dubugar nenhuma variavel, tanto no java , quanto no flex, que dá esse erro, é uma alguma configuração errada no Eclipse?
This message was edited 1 time. Last update was at 17/12/2009 23:06:44
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 08:57:10
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
Cara, esses erros que você está reportando desde o início são erros extremamente básicos. Portanto, creio que você deveria estudar muita coisa antes de partir pra isso. Você já trabalhou com Hibernate ou com JDBC mesmo? Vá por exemplos mais básicos, o caminho vai ser bem menos doloroso.
Mas se você quiser continuar insistindo, 1:
Esse erro de casting é porquê você está tentando converter a listProfissionais em um objeto de profissional! Não tem como converter uma lista em um tipo menos genérico como esse. O certo é você adicionar elementos à lista, e não tentar converter.
Sobre esse InvocationTargetException é porquê você está querendo debugar dentro do arquivo já deployado. Não há como debugar usando os bytecodes. Você tem que clicar nesse botão "Edit source lookup path" e em seguida escolher o teu projeto.
Mas vá por mim, são coisas extremamente básicas que está errando, comece por algo mais simples, até mesmo em JDBC e em Hibernate.
[]'s
|
|
|
 |
|
|
|
|