galera, resolvi aqui mas não compreendi. Alterei o nome do "alias" para um qualquer. [RemoteClass(alias="MeuObjetoXX")] Forcei no FLEX atribuir um objeto à essa classe. Deu erro. Alterei novamente o "alias" para o correto [RemoteClass(alias="MeuObjeto")], compilei, fiz um clean, reiniciei o PC, abri novamente o eclipse
eeeee voilá, FUNCIONOU. O BlazeDS está fazendo direitinho a "mágica" da tipagem dos ArrayCollection abraço a todos que deram atenção -- **************************************************** www.brunobg.com [email protected] blogflex.brunobg.com @brunogrohs Em 5 de agosto de 2010 15:06, Fish <[email protected]> escreveu: > brunao, > uma coisa que vc deve ver eh que se ha outra classe como array e etc que > esta funcionando pode ser* **o que* esta sendo passado na classe 3 > > quando eu vou usar um combobox, eu tomo cuidado pra fazer assim: > MinhaClasse eu = new MinhaClasse(); > > eu = idComboBox.selectedItem* as MinhaClasse;* > * > * > *em outras palavras, estais populando a classe 3 corretamente? > * > 2010/8/5 bruno bg <[email protected]> > >> está vindo uma que é ArrayCollection. >> brunobg >> >> Em 5 de agosto de 2010 14:55, Marcelo Caser <[email protected]>escreveu: >> >> Eu mapearia sua classe AS3 assim: >>> >>> -------->JAVA >>> >>> class MeuObjeto{ >>> private int id; >>> private String descricao; >>> private OutraClasse1 outraClasse1; >>> private ArrayList<OutraClasse2> outraClasse2; >>> private ArrayList<OutraClasse3> outraClasse3; >>> } >>> >>> -------->AS3 >>> package >>> { >>> import mx.collections.ArrayCollection; >>> >>> [RemoteClass(alias="MeuObjeto")] >>> [Bindable] >>> public class MeuObjeto{ >>> >>> public var id : int; >>> public var descricao : String; >>> public var outraClasse1 : OutraClasse1 = new OutraClasse1(); >>> >>> public var outraClasse2 : ArrayCollection; >>> public var outraClasse3 : ArrayCollection; >>> >>> public function MeuObjeto() >>> { >>> } >>> >>> } >>> >>> } >>> >>> Em 5 de agosto de 2010 14:42, Marcelo Caser >>> <[email protected]>escreveu: >>> >>> qual esta vindo como Object? >>>> >>>> Em 5 de agosto de 2010 14:32, Alberto Magno <[email protected]>escreveu: >>>> >>>> Possa ser que o blazeDS não esteja encontrando sua classe. Faça o >>>>> seguinte, no seu <mx:Application e adicione um trecho de código >>>>> ActionScript >>>>> com o seguinte: registerClassAlias("caminhoParaSuaClasseJava", >>>>> ClasseActionScript); >>>>> >>>>> >>>>> Em 5 de agosto de 2010 09:42, bruno bg <[email protected]> escreveu: >>>>> >>>>> sim ,somente uma delas está vindo como Object.!!! >>>>>> as outras foram identificadas pela "magica" do BlazeDS. >>>>>> >>>>>> brunobg >>>>>> >>>>>> >>>>>> Em 5 de agosto de 2010 13:32, RafaelViana <[email protected]>escreveu: >>>>>> >>>>>> Essa OutraClasse1, OutraClasse2 e OutraClasse3 também estão mapeadas >>>>>>> no Flex para a localização correta no Java? >>>>>>> >>>>>>> On 5 ago, 13:07, bruno bg <[email protected]> wrote: >>>>>>> > Lucas, obrigado por responder. >>>>>>> > >>>>>>> > Mas a estrutura como no exemplo é "br.MeuObjeto" >>>>>>> > poderia ser dessa maneira como você colocou "br.com.MeuObjeto" >>>>>>> > ou até mesmo "br.com.sistema.MeuObjeto" >>>>>>> > ou "br.com.sistema.modulo.MeuObjeto" >>>>>>> > >>>>>>> > abraço >>>>>>> > brunobg >>>>>>> > >>>>>>> > Em 5 de agosto de 2010 10:53, Lucas R. A. Carvalho >>>>>>> > <[email protected]>escreveu: >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > > Bruno: >>>>>>> > >>>>>>> > > [RemoteClass(alias="br.MeuObjeto")] >>>>>>> > >>>>>>> > > Não seria >>>>>>> > >>>>>>> > > [RemoteClass(alias="br.com.MeuObjeto")] >>>>>>> > >>>>>>> > > *De:* [email protected] [mailto:[email protected]] >>>>>>> *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 >>>>>>> > > [email protected] >>>>>>> > > blogflex.brunobg.com >>>>>>> > > @brunogrohs >>>>>>> > >>>>>>> > > -- >>>>>>> > > 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 emhttp:// >>>>>>> groups.google.com/group/flexdev >>>>>>> > >>>>>>> > > -- >>>>>>> > > 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 emhttp:// >>>>>>> groups.google.com/group/flexdev >>>>>>> > >>>>>>> > -- >>>>>>> > Favor confirmar recebimento. >>>>>>> > **************************************************** >>>>>>> www.brunobg.com >>>>>>> > [email protected] >>>>>>> > blogflex.brunobg.com >>>>>>> > @brunogrohs >>>>>>> >>>>>>> -- >>>>>>> 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 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>>> >>>>> >>>>> >>>>> >>>>> Atenciosamente, >>>>> Alberto Magno Xavier Soares >>>>> Bacharel em Sistemas de Informação >>>>> Software Engineer - João Pessoa - PB >>>>> Jabber : [email protected] >>>>> Skype: alberto.mxs >>>>> MSN: [email protected] >>>>> Fone: (83) 8809-5215 >>>>> >>>>> -- >>>>> 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 >>>>> >>>> >>>> >>> -- >>> 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 >>> >> >> >> >> -- >> Favor confirmar recebimento. >> **************************************************** >> www.brunobg.com >> [email protected] >> >> blogflex.brunobg.com >> @brunogrohs >> >> -- >> 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 >> > > > > -- > José Fernando Carvalho > MSc Candidate in Software Engineering > Federal University of Pernambuco (UFPE) - Brazil > ________________________________________ > Blog: http://fish.jpa.com.br > Follow me on Twitter: http://twitter.com/fisholito > > -- > 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 > -- 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
