Paulo, faz o seguinte

substitui essa tua linha
var equipment:Equipment = equipmentIcons.getItemAt(i).equipment as
Equipment;

por
var equipment:Equipment = Equipament(equipmentIcons.getItemAt(i).equipment);

e ve se dá erro na hora de executar.

Esse cast com "as" retorna null se o tipo de dados for diferente, enquanto o
cast que eu te passei dá um erro. Talvez ele possa estar retornando outra
coisa que não seja um "Equipment". O que tu pode fazer é não fazer o cast e
armazenar o equipment num Object e tentar acessar object.equipmentIcons.

Issso que eu faria pra tentar ver o que está acontencendo realmente.

Abraços!
João Augusto
blog.joaoaugusto.com.br

Em 8 de abril de 2010 16:13, Paulo Kinzkowski Junior
<[email protected]>escreveu:

> Davidson,
>
> Valeu pela força ai, mas não é isso.
> Tentei e continua a mesma coisa.
> Mas alguma outra idéia?
>
> Em 8 de abril de 2010 15:32, デビデソヌ Davidson Silva <
> [email protected]> escreveu:
>
> Você não esqueceu de colocar qual é a classe que receberá os dados
>> ...(targetEntity = XPTO.class)
>> Pode ser isso ....
>>
>> @ManyToOne(fetch = FetchType.LAZY, targetEntity = Equipment.class)
>>
>> Em 8 de abril de 2010 14:37, Paulo Kinzkowski Junior 
>> <[email protected]>escreveu:
>>
>>>  É verdade, imaginei que iria ficar difícil mesmo..... rsrsrsr
>>> Então abaixo está somente a parte que interessa do meu código:
>>>
>>> EquipmentIcon.java
>>> public class EquipmentIcon implements Serializable {
>>>
>>>     private Icon icon;
>>>     private Equipment equipment;
>>>
>>>     @ManyToOne(fetch = FetchType.LAZY)
>>>     @JoinColumn(name = "icon_id", nullable = false)
>>>     @NotNull
>>>     public Icon getIcon() {
>>>         return this.icon;
>>>     }
>>>
>>>     public void setIcon(Icon icon) {
>>>         this.icon = icon;
>>>     }
>>>
>>>     @ManyToOne(fetch = FetchType.LAZY)
>>>     @JoinColumn(name = "equipment_id", nullable = false)
>>>     @NotNull
>>>     public Equipment getEquipment() {
>>>         return this.equipment;
>>>     }
>>> }
>>>
>>> Equipment.java
>>> public class Equipment implements Serializable {
>>>
>>>     private List<EquipmentIcon> equipmentIcons = new
>>> ArrayList<EquipmentIcon>();
>>>
>>>     @OneToMany(fetch = FetchType.LAZY, mappedBy = "equipment", cascade =
>>> {
>>>             CascadeType.PERSIST, CascadeType.MERGE })
>>>     @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE,
>>>             org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
>>>     public List<EquipmentIcon> getEquipmentIcons() {
>>>         return this.equipmentIcons;
>>>     }
>>>
>>>     public void setEquipmentIcons(List<EquipmentIcon> equipmentIcons) {
>>>         this.equipmentIcons = equipmentIcons;
>>>     }
>>> }
>>>
>>> Icon.java
>>> public class Icon implements Serializable {
>>>
>>>     private List<EquipmentIcon> equipmentIcons = new
>>> ArrayList<EquipmentIcon>();
>>>
>>>     @OneToMany(fetch = FetchType.LAZY, mappedBy = "icon", cascade = {
>>>             CascadeType.PERSIST, CascadeType.MERGE })
>>>     @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE,
>>>             org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
>>>     public List<EquipmentIcon> getEquipmentIcons() {
>>>         return this.equipmentIcons;
>>>     }
>>>
>>>     public void setEquipmentIcons(List<EquipmentIcon> equipmentIcons) {
>>>         this.equipmentIcons = equipmentIcons;
>>>     }
>>> }
>>>
>>> EquipmentService.java
>>> public class EquipmentService implements Serializable {
>>>
>>>     @In
>>>     private EntityManager entityManager;
>>>
>>>     @SuppressWarnings("unchecked")
>>>     public List<EquipmentIcon> openEquipmentIcon(Equipment equip) {
>>>         List<EquipmentIcon> equipmentIcons = (List<EquipmentIcon>)
>>> entityManager
>>>                 .createQuery(
>>>                         "select ei from EquipmentIcon ei where
>>> ei.equipment.equipmentId = :equipmentId")
>>>                 .setParameter("equipmentId", equip.getEquipmentId())
>>>                 .getResultList();
>>>
>>>         return equipmentIcons;
>>>     }
>>> }
>>>
>>> EquipmentIcon.as
>>> package {
>>>
>>>     [Bindable]
>>>     [RemoteClass(alias="meuPacote.EquipmentIcon")]
>>>     public class EquipmentIcon {
>>>         public var equipment:Equipment;
>>>         public var icon:Icon;
>>>
>>>         public function EquipmentIcon() {
>>>
>>>         }
>>>     }
>>> }
>>>
>>> Equipment.as
>>> package {
>>>     import mx.collections.ArrayCollection;
>>>
>>>     [Bindable]
>>>     [RemoteClass(alias="meuPacote.Equipment")]
>>>     public class Equipment {
>>>         public var equipmentIcons:ArrayCollection;
>>>
>>>         public function Equipment() {
>>>
>>>         }
>>>     }
>>> }
>>>
>>> Icon.as
>>> package {
>>>     import mx.collections.ArrayCollection;
>>>
>>>     [Bindable]
>>>     [RemoteClass(alias="meuPacote.Icon")]
>>>     public class Icon {
>>>         public var equipmentIcons:ArrayCollection;
>>>
>>>         public function Icon() {
>>>
>>>         }
>>>     }
>>> }
>>>
>>>
>>> Depois que eu faço a busca eu consigo acessar a lista de objetos
>>> equipmentIcon e os objetos filhos no Java perfeitamente.
>>> Quando eu tento acessar a lista de objetos equipmentIcon no Flex eu
>>> consigo, mas os objetos filhos não, os objetos vem como null.
>>>
>>> Ex.:
>>> private function successOpenEquipmentIcon(event:ResultEvent):void {
>>>     var equipmentIcons:EquipmentIcon = event.result as ArrayCollection;
>>>     var equipment:Equipment = equipmentIcons.getItemAt(i).equipment as
>>> Equipment;
>>>     var icon:Icon = equipmentIcons.getItemAt(i).icon as Icon;
>>>     Alert.show("EquipmentIcon = " + equipmentIcons); // retorna
>>> "EquipmentIcon = [object EquipmentIcon]"
>>>     Alert.show("Equipment = " + equipment); // retorna "Equipment null"
>>>     Alert.show("Icon = " + icon); // retorna "Icon null"
>>> }
>>>
>>> Alguém já passou por isso?
>>>
>>>  --
>>> 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
>>
>
>  --
> 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
>



-- 
João Augusto Zaratine
blog.joaoaugusto.com.br

-- 
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

To unsubscribe, reply using "remove me" as the subject.

Responder a