Bruno:

[RemoteClass(alias="br.MeuObjeto")]

Não seria 

[RemoteClass(alias="br.com.MeuObjeto")]




 

De: flexdev@googlegroups.com [mailto:flex...@googlegroups.com] Em nome de
bruno bg
Enviada em: quinta-feira, 5 de agosto de 2010 09:01
Assunto: [flexdev] BlazeDS

 

Estou com um problema de     
hdr(DSEndpoint) = my-amf  java.lang.ClassCastException:
flex.messaging.io.amf.ASObject cannot be cast to  br.com.MinhaClasse

fiz uns debugs e constatei que no "transporte" do Java para o FLEX uma das
propriedade/atributo da minha classe não fica "tipada",
está vindo como Object e deveria vir como ArrayCollection<outraClasse3>:

no java
class MeuObjeto{
    private int id;
    private String descricao;
    private OutraClasse1 outraClasse1;
    private ArrayList<OutraClasse2> outraClasse2;
    private ArrayList<OutraClasse3> outraClasse3;
}

em AS tenho a classe "prima"
package br{
    import mx.collections.ArrayCollection;

    [RemoteClass(alias="br.MeuObjeto")]
    [Bindable]
    public class MeuObjetoAs{
        public var id : int;
        public var descricao : String;
        public var outraClasse1 : OutraClasse1As;
        public var outraClasse2 : ArrayCollection;
        public var outraClasse3 : ArrayCollection;
        
        /* Constructor */
        public function MeuObjetoAs():void {
            outraClasse1 = new OutraClasse1As();
            outraClasse2 = new ArrayCollection();
            outraClasse3 = new ArrayCollection();
        }

então quando esse objeto é construído um dos ArrayCollection é montado como
tipo OBJECT e não do tipo outraClasse3;
como ArrayCollection é genérics,  o BlazeDS faz esse serviço mágico de
"tipagem".

Já verifiquei os pacotes, já verifiquei o RemoteClass(alias="br.MeuObjeto")
,  no "debug" verifiquei que não "entra" no Construtor da classe AS
"outraClasse3".
No JAVA antes de finalizar o método, o objeto é construido todo OK, todo os
ArrayList estão "tipados".

Alguém sabe no BlazeDS onde ele faz essa mágica de "tipagem" dos
ArrayCollection genérics ?!??!
Alguém sabe se fazer um ArrayCollection "tipado" em AS ?!?!
acredito que se tivesse como fazer algo do tipo :  outraClasse3 = new
ArrayCollection(OutraClasse3); Daria certo, mas o FLEX não aceita essa
sintax.

-- 
****************************************************
www.brunobg.com
bruno...@ig.com.br
blogflex.brunobg.com
@brunogrohs

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a