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-list.html
>
>
> 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
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---