Pessoas,
Boa Noite...Seguinte...possuo uma classe java mapeada como uma classe .as
(para fazer a comunicação entre a parte flex e a parte java) e uma outra
classe .as que seria a minha tela.
Pois bem, na minha tela criei um objeto (ArrayCollection - private -
bindable) que recebe o conteúdo do método java que preeche uma lista
"tipada" com o objeto JAVA que está sendo também mapeada em minha classe
Action Script, porém quando essa lista é preenchida, em vez do
ArrayColection vir "tipado" com o tipo do objeto mapeado entre as classes
Action e a Classe JAVA, o mesmo vem mapeado como Object.
Em um momento posterior (outro método/function), eu passo essa lista como
parâmetro para outro método java e pelo fato de o mesmo estar "tipado" como
Object e não como "meuVO" da um raise na exception abaixo:
java.lang.ClassCastException : flex.messaging.io.amf.ASObject cannot be cast
to Vo
Segue as chamadas da minha tela:
//funcao Init que chama o metodo java do controle roProcessoCOntrole e me
retorna uma lista dessses Objetos
private function init():void {
PopUpManager.centerPopUp(this);
roProcessoControle.getProcessoListByProcessId(processoObjectId);
}
//funcao que recebe o retorno do metodo init
//no DEBUG do flex, essa lista ao inves de estar tipada como uma classe
minha, esta como Object (acredito que por isso, minha tela nao funcione
corretamente)
//tudo renderiza certinho, meu datagrid e populado de forma correta sem
nenhum erro apesar da lista estar com tipos "object" dentro dela
private function listHandler(event:ResultEvent):void {
if (event.result) {
relAutomaticoList = event.result as ArrayCollection;
}
}
//Metodo para fazer a atualizacao porem pelo fato dessa lista estar como
"object", da um raise exception na chamada dessa function
private function atualizaProcessoControle():void{
roProcessoControle.atualizaProcessoControle(obj);
}
//metodo de retorno (callback) da funcao atualizaProcessoControle
//nao chega aqui pois da uma exception antes
private function atualizaProcessoControleOK(event:ResultEvent):void{
if (event.result) {
var result:Boolean = event.result as Boolean;
if (result){
Alert.show("Atualização feita com sucesso");
}else{
Alert.show("Erro na atualização dos documentos");
}
}
}
Bom, se alguém precisar de mais algum detalhe é so falar.
Se alguém puder me ajudar, agradeço.
* meu mapeamento entre as classes ActionScript e a classe JAVA tenho a
absoluta certeza que está certo;
* o mapemanto entre os tipos de atributos entre as classses JAVA / Action
Script está correto;
* estou usando o "remote-object" para fazer a ponte FLEX - JAVA;
* todos os métodos acima citados estão sendo invocados corretamente nas
classes Action e JAVA, ou seja, todas as chamadas no meu lado FLEX para o
lado JAVA , estão sendo executadas corretamente o que descarta erros no
mapeamento entre os metodos java ->action script , do remoteObject na tela e
no remote-config-xml;
Mais uma vez, muito Obrigado pela atenção.
Att,
--
Vinicius Branda Martinez
MSN/GTalk: [email protected]
Skype: vinicius.branda
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---