Blz, quando estiver em casa eu te mando sim. Uma coisa que observei agora é que na classe DomainEntity o atributo "id" é protected e so tem o "get" e NAO tem o "set".
Mas te mando sim o codigo completo de carga da classe java depois. Valeu 2009/9/11 Rodrigo M. Rodrigues <[email protected]> > > Complicado heim. > coloca aí pra gente o momento que vc popula a Classe DomainEntity no > Java e o Result do Serviço no Flex. > Acredito ser algum detalhe que esteja passando despercebido. > > > > On 10 set, 18:30, Leonardo Ribeiro <[email protected]> wrote: > > Rodrigo, > > > > Estou inicializando agora depois de ler seu e-mail, mas no caso agora > > carrega com valor 0 (zero) e nao o que esta na base. > > Rapaz, nao sei no que estou errando e nao to conseguindo de forma alguma > > corrigir isso para seguir com o desenvolvimento. > > > > Segue abaixo a estrutura de classes que tenho > > > > Classes Java > > > > ps: interface IDomainEntity so implementa Serializable (nao tem codigo > > algum) > > > > @Entity > > @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) > > public abstract class DomainEntity implements IDomainEntity { > > > > private static final long serialVersionUID = 1L; > > > > @Id > > @Column(name = "id") > > protected Long id; > > > > @Transient > > private boolean completo = true; > > > > public DomainEntity() { > > this.id = DomainEntityIdFactory.makeObjectId(); > > } > > > > public Long getId() { > > return id; > > } > > > > public boolean isCompleto() { > > return completo; > > } > > > > public void setCompleto(boolean completo) { > > this.completo = completo; > > } > > > > } > > > > public class Curso extends DomainEntity { > > > > private static final long serialVersionUID = 1L; > > > > @Column(name = "codigo", nullable = false, unique = true) > > private String codigo; > > > > @Column(name = "nome", nullable = false, length = 50, unique = true) > > private String nome; > > > > @Transient > > private List<CursoDisciplina> disciplinas = new > > ArrayList<CursoDisciplina>(); > > > > public Curso() {} > > > > public String getCodigo() { > > return codigo; > > } > > > > public void setCodigo(String codigo) { > > this.codigo = codigo; > > } > > > > public String getNome() { > > return nome; > > } > > > > public void setNome(String nome) { > > this.nome = nome; > > } > > > > public void setDisciplinas(final List<CursoDisciplina> disciplinas) { > > this.disciplinas = disciplinas; > > } > > > > public CursoDisciplina getDisciplina(final int idx) { > > if (idx < 0 || disciplinas.isEmpty() || idx > disciplinas.size() > - > > 1) return null; > > return disciplinas.get(idx); > > } > > > > } > > > > Classes AS > > > > [RemoteClass(alias="fae.engsoft.diario.model.entities.DomainEntity")] > > > > [Bindable] > > public class DomainEntity > > { > > public var id:Number = new Number; > > public var completo:Boolean = true; > > > > public function DomainEntity(){} > > } > > > > [RemoteClass(alias="fae.engsoft.diario.model.entities.Curso")] > > [Bindable] > > public class Curso extends DomainEntity > > { > > public var codigo:String = new String; > > public var nome:String = new String; > > public var disciplinas:ArrayCollection = new ArrayCollection; > > > > public function Curso(){ > > super(); > > } > > } > > > > No As que contem os metodos da tela de listagem (que tem um DataGrid) > > > > [Bindable] > > private var listCursos:ArrayCollection; > > > > public function onResultGetCursos(event:ResultEvent):void { > > listCursos = event.result as ArrayCollection; > > var i:int; > > for (i = 0; i < listCursos.length; i++) { > > Alert.show("ID = " + (listCursos.getItemAt(i) as Curso).id); > //Aqui > > eu vejo que os "id" estao zerados (0) > > } > > > > } > > > > Para gravacao esta tudo OK. Os id's como pode ser visto no contrutor de > > DomainEntity é criado pela aplicacao > > é um Long, na gravacao ocorre a criacao e comita ok agora no select do > > servidor (java) carrega OK mas no cliente > > (As) chega sem esse valor. ( se eu nao inicializo, como estava antes vem > > NaN, se inicializo como vc disse vem 0 (zero)) > > > > Qualquer ajuda é muito bem vinda. > > > > 2009/9/10 Rodrigo M. Rodrigues <[email protected]> > > > > > > > > > > > > > "The default value of a variable typed as Number is NaN (Not a > > > Number)." > > > > >http://livedocs.adobe.com/flex/3/langref/index.html?Number.html&class. > .. > > > > > On 10 set, 08:29, "Rodrigo M. Rodrigues" <[email protected]> wrote: > > > > Sempre inicie os tipos Number no AS. > > > > private var _num_conta_corrente:Number=0; > > > > || > > > > private var _num_conta_corrente:Number=New Number(); > > > > > > On 9 set, 17:28, Leonardo Ribeiro <[email protected]> wrote: > > > > > > > Os gettres e setters estao corretos e "public". (nas classes java). > Na > > > > > Classe AS nao tenho os getters e setters > > > > > > > 2009/9/9 Mário Júnior <[email protected]> > > > > > > > > o getter está certinho? Esse é outro erro comum: > > > > > > > > puglic Long getCodigo() <-- CERTO. > > > > > > > > public Long ge*tc*odigo() <--* Errado. * > > > > > > > > Não está "errado" sintaticamente, pq para o Java esse método pode > > > existir > > > > > > mas não é um "getter" propriamente válido. O BlazeDS utiliza > reflexao > > > para > > > > > > acessar os atributos portanto é essencial q esteja escrito da > maneira > > > certa > > > > > > "getCodigo" com "C" maiusculo. > > > > > > > > Outra coisa é ficar atento a visibilidade do getter, tem q ser > > > public. > > > > > > > > (uma vez eu mandava o eclipse gerar meus getters/setters e nao > > > prestava > > > > > > atenção q estavam sendo gerados como protected, e perdi um tempão > > > para > > > > > > prestar atenção nisso... bellow! hahahah) > > > > > > > > abraços. > > > > > > > > 2009/9/9 Leonardo Ribeiro <[email protected]> > > > > > > > >> Sim estao identicos, a diferenca é o tipo de dado que na classe > java > > > é > > > > > >> Long e na AS é Number > > > > > >> Classe Java > > > > > > > >> @Entity > > > > > >> @Table(name="xyz") > > > > > >> @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) > > > > > >> public class Xyz implements Serializable { > > > > > > > >> private static final long serialVersionUID = 1L; > > > > > > > >> @Id > > > > > >> @Column(name = "codigo", nullable = false, unique = true) > > > > > >> private Long codigo; > > > > > > > >> @Column(name = "nome", nullable = false, length = 50, unique > = > > > true) > > > > > >> private String nome; > > > > > > > >> Classe AS > > > > > > > >> [RemoteClass(alias="caminho.package.entities.Xyz")] > > > > > >> [Bindable] > > > > > >> public class Xyz > > > > > >> { > > > > > >> public var codigo:Number; > > > > > >> public var nome:String; > > > > > > > >> public function Xyz() > > > > > > > >> } > > > > > > > >> Qualquer ajuda é bem vinda.. nao consigo resolver isso e o > > > desenvolvimento > > > > > >> parou. > > > > > > > >> Att > > > > > > > >> 2009/9/9 Diego Martinez Salvanha <[email protected]> > > > > > > > >>> verifique se os Atributos da Classe Java estão idênticos na > Classe > > > AS! > > > > > > > >>> parece bobo.. mas é um erro comum... > > > > > > > >>> espero ter ajudado ! > > > > > > > >>> 2009/9/9 Leonardo Ribeiro <[email protected]>: > > > > > >>> > Pessoal, > > > > > > > >>> > Tenho uma aplicacao simples com Java+Hibernate+Flex+Spring. > > > > > > > >>> > Tenho uma classe simples em java com "codigo" e "nome" sendo > > > codigo o > > > > > >>> @Id, > > > > > >>> > gravacao ocorre perfeitamente mas quando eu faço um select eu > > > vejo que > > > > > >>> a > > > > > >>> > classe java foi carregada perfeitamente com "codigo" e "nome" > > > porem na > > > > > >>> minha > > > > > >>> > classe correspondente em actionScrip que esta "Bindable" com > a > > > classe > > > > > >>> java > > > > > >>> > so carrega "nome" e o "codigo" fica NaN. > > > > > > > >>> > Uso o BlazeDS > > > > > > > >>> > Alguem sabe o motivo de ocorrer isso? > > > > > > > >>> > -- > > > > > >>> > []'s > > > > > >>> > Leonardo > > > > > > > >>> > Linux User #488650 > > > > > >>> > Ubuntu User #27045 > > > > > >>> > Mais sobre o Ubuntu em português: > http://www.ubuntu-br.org/comece > > > > > > > >>> -- > > > > > -------------------------------------------------------------------- > > > > > >>> Diego M Salvanha > > > > > > > >>> msn : [email protected] > > > > > >>> 18 8801 4874 > > > > > > > >>> P Antes de imprimir, pense no AQUECIMENTO GLOBAL. > > > > > > > >> -- > > > > > >> []'s > > > > > >> Leonardo > > > > > > > >> Linux User #488650 > > > > > >> Ubuntu User #27045 > > > > > >> Mais sobre o Ubuntu em português: > http://www.ubuntu-br.org/comece > > > > > > > > -- > > > > > > Mario Junior > > > > > > Enterprise Java / Flex Architectures > > > > > > Adobe Certified Expert Flex 3 with AIR > > > > > > > > Sofshore Informática > > > > > >http://www.sofshore.com.br > > > > > > +55 (48) 3337 2003 > > > > > > Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 > > > Itacorubi > > > > > > Florianopolis SC Brasil > > > > > > > -- > > > > > []'s > > > > > Leonardo > > > > > > > Linux User #488650 > > > > > Ubuntu User #27045 > > > > > Mais sobre o Ubuntu em português:http://www.ubuntu-br.org/comece > > > > -- > > []'s > > Leonardo > > > > Linux User #488650 > > Ubuntu User #27045 > > Mais sobre o Ubuntu em português:http://www.ubuntu-br.org/comece > > > -- []'s Leonardo Linux User #488650 Ubuntu User #27045 Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
