Tenta colocar a Metadata de RemoteClass na classe TipoPapersDTO também.
Acredito que o tipo de mapeamento seja do modo implicito, assim atribuindo
null ao invés de dar uma RTE.

Att,

Fredy.

2012/1/23 Filipe Motta <[email protected]>

> att
>
> Ele anula na function eventoResultListarTiposPapers(), depois de listar
> todos os tipo de papers.
>
> ***********************
> [RemoteClass(alias="PapersDTO")]
>  [Bindable]
> public class PapersDTO
>  {
>   private var _key:int;
>   public function get key():Number {return this._key;}
>   public function set key(value:Number):void{_key = value}
>
>   private var _codigo:int;
>   public function get codigo():Number {return this._codigo;}
>   public function set codigo(value:Number):void{_codigo = value}
>
>   private var _tipoPapersDTO:TipoPapersDTO;
>   public function get tipoPapersDTO():TipoPapersDTO{return
> this._tipoPapersDTO;}
>   public function set
> tipoPapersDTO(value:TipoPapersDTO):void{_tipoPapersDTO = value}
>
>   private var _ano:int;
>   public function get ano():Number {return this._ano;}
>   public function set ano(value:Number):void{_ano = value}
>
>   private var _nome:String;
>   public function get nome():String {return this._nome;}
>   public function set nome(value:String):void{_nome = value}
>
>   private var _autores:String;
>   public function get autores():String {return this._autores;}
>   public function set autores(value:String):void{_autores = value}
>
>   private var _descricao:String;
>   public function get descricao():String {return this._descricao;}
>   public function set descricao(value:String):void{_descricao = value}
>
>   private var _arquivo:String;
>   public function get arquivo():String {return this._arquivo;}
>   public function set arquivo(value:String):void{_arquivo = value}
>
>   private var _usuarioModeradorDTO:UsuarioModeradorDTO;
>   public function get usuarioModeradorDTO():UsuarioModeradorDTO {return
> this._usuarioModeradorDTO;}
>   public function set
> usuarioModeradorDTO(value:UsuarioModeradorDTO):void{_usuarioModeradorDTO =
> value}
>
>   private var _versao:int;
>   public function get versao():int {return this._versao;}
>   public function set versao(value:int):void{_versao = value}
>   }
> *********************************
>
> public class TipoPapersDTO
>  {
>   private var _key:int;
>   public function get key():Number {return this._key;}
>   public function set key(value:Number):void{_key = value}
>
>   private var _codigo:int;
>   public function get codigo():Number {return this._codigo;}
>   public function set codigo(value:Number):void{_codigo = value}
>
>   private var _descricao:String;
>   public function get descricao():String {return this._descricao;}
>   public function set descricao(value:String):void{_descricao = value}
>
>   private var _versao:int;
>   public function get versao():int {return this._versao;}
>   public function set versao(value:int):void{_versao = value}
>
> }
>
> ************************
>
> package presenters
> {
>
>  import flash.events.Event;
>  import flash.events.MouseEvent;
>  import flash.net.FileFilter;
>  import flash.net.FileReference;
>  import flash.utils.ByteArray;
>
>  import mx.collections.ArrayCollection;
>  import mx.controls.Alert;
>  import mx.events.CloseEvent;
>  import mx.managers.PopUpManager;
>  import mx.rpc.events.FaultEvent;
>  import mx.rpc.events.ResultEvent;
>
>  import org.swizframework.controller.AbstractController;
>  import org.swizframework.events.BeanEvent;
>
>  import spark.events.IndexChangeEvent;
>
>  [Bindable]
>  public class PanelNewPapersPresenters extends AbstractController
>  {
>   [Inject(twoWay="true")]
>   public var usuarioModeradorLogado:UsuarioModeradorDTO;
>
>   [Inject]
>   public var panelCarregandoUtils:PanelCarregandoUtils;
>
>   [Inject]
>   public var panelLocalizarPapersPresenters:PanelLocalizarPapersPresenters;
>   [Inject]
>   public var papersService:PapersService;
>
>   [Inject]
>   public var uploadArquivoService:UploadArquivoService;
>   private var refUploadFile:FileReference;
>
>   private var UploadFiles:Array;
>
>   private var panelNewPapers:PanelNewPapers;
>
>   private var dataArquivo:ByteArray;
>   public var listTiposPapers:ArrayCollection;
>   public var strAno:String;
>
>   public var intIndex:Number;
>   public var papersDTO:PapersDTO;
>
>   public var flagCadastro:Boolean;
>   /* Construct Events */
>   public function PanelNewPapersPresenters()
>   {
>    UploadFiles = new Array();
>   }
>   /*---------------------------------------------------------*/
>
>   /* Destroy Events */
>   [PreDestroy]
>   public function cleanUpPresenter():void
>   {
>    dispatcher.dispatchEvent( new BeanEvent( BeanEvent.TEAR_DOWN_BEAN, this
> ) );
>    dispatcher.dispatchEvent( new BeanEvent( BeanEvent.TEAR_DOWN_BEAN,
> papersService ));
>    dispatcher.dispatchEvent( new BeanEvent( BeanEvent.TEAR_DOWN_BEAN,
> uploadArquivoService ));
>    dispatcher.dispatchEvent( new BeanEvent( BeanEvent.TEAR_DOWN_BEAN,
> panelCarregandoUtils ));
>    dispatcher.dispatchEvent( new BeanEvent( BeanEvent.TEAR_DOWN_BEAN,
> panelLocalizarPapersPresenters));
>   }
>   /*---------------------------------------------------------*/
>
>   /* Interface Events */
>   public function eventoAbrirTelaCadastroNewPapers():void
>   {
>    panelNewPapers = new PanelNewPapers();
>
>    
> PopUpManager.addPopUp(panelNewPapers,panelCarregandoUtils.ParentPanel,true);
>    PopUpManager.centerPopUp(panelNewPapers);
>   }
>
>   public function eventoResultListarTiposPapers():void
>   {
>    papersDTO = PapersDTO(panelLocalizarPapersPresenters.papersEditado);
>
>    if(papersDTO == null)
>    {
>     papersDTO = new PapersDTO();
>    }
>    else
>    {
>     intIndex = papersDTO.tipoPapersDTO.codigo - 1;
>    }
>    if(papersDTO.ano > 0)
>     strAno = papersDTO.ano.toString();
>
>    panelCarregandoUtils.eventoFecharMensagemBanco();
>   }
>
>   public function ddlType_changeHandler(event:IndexChangeEvent):void
>   {
>    papersDTO.tipoPapersDTO = event.currentTarget.selectedItem;
>   }
>
>   public function btnSend_clickHandler(event:MouseEvent):void
>   {
>    if(eventoVerificacaoCamposPrincipais())
>    {
>     papersDTO.ano = Number(strAno);
>
>     if(flagCadastro)
>      papersDTO.usuarioModeradorDTO = usuarioModeradorLogado;
>
>     papersDTO.arquivo = papersDTO.tipoPapersDTO.descricao + "." +
>      papersDTO.arquivo.slice(papersDTO.arquivo.length
> -3,papersDTO.arquivo.length);
>
>     panelCarregandoUtils.eventoAbrirMensagemBanco();
>     eventoInserirPapers();
>    }
>    else
>    {
>     Alert.show(ConstantesMensagens.ERROR_FILL_ALL_REQUIRED_FIELDS);
>    }
>   }
>
>   public function eventoFecharTelaCadastroNewPapers(event:CloseEvent):void
>   {
>    if(!flagCadastro)
>     panelLocalizarPapersPresenters.papersEditado.tipoPapersDTO =
> TipoPapersDTO(papersDTO.tipoPapersDTO);
>
>    panelCarregandoUtils.eventoFecharMensagemBanco();
>    PopUpManager.removePopUp(panelNewPapers);
>   }
>
>   public function addFiles():void
>   {
>    var tipos:FileFilter = new FileFilter("File (*.pdf)", "*.pdf");
>    var tiposArray:Array = new Array(tipos);
>
>    this.refUploadFile = new FileReference();
>
>    this.refUploadFile.browse(tiposArray);
>    this.refUploadFile.addEventListener(Event.SELECT, onSelect);
>    this.refUploadFile.addEventListener(Event.COMPLETE, onUploadComplete);
>
>   }
>
>   public function eventoInicializar():void
>   {
>    panelCarregandoUtils.eventoAbrirMensagemBanco();
>    eventoListarTiposPapers();
>    dataArquivo = null;
>   }
>
>   private function onSelect(event:Event):void
>   {
>    if((event.currentTarget).size <= 5000000)
>    {
>     refUploadFile.load();
>    }
>    else
>    {
>     Alert.show(ConstantesMensagens.ERROR_FILE_SIZE_MORE_5_MB);
>    }
>   }
>
>   private function onUploadComplete(event:Event):void
>   {
>    refUploadFile = event.currentTarget as FileReference;
>    dataArquivo = new ByteArray();
>    refUploadFile.data.readBytes(dataArquivo,0,refUploadFile.data.length);
>
>    papersDTO.arquivo = refUploadFile.name;
>
>   }
>
>   public function eventoVerificacaoCamposPrincipais():Boolean
>   {
>    if(strAno == "")
>    {
>     return false;
>    }
>    else if(papersDTO.autores == "")
>    {
>     return false;
>    }
>    else if(papersDTO.descricao == "")
>    {
>     return false;
>    }
>    else if(papersDTO.tipoPapersDTO == null)
>    {
>     return false;
>    }
>    else if(papersDTO.arquivo == "")
>    {
>     return false;
>    }
>
>    return true;
>   }
>   /*---------------------------------------------------------*/
>
>   /* Dispacther Events */
>
>   private function
> eventoUploadArquivo(pasta:String,data:ByteArray,nome:String):void
>   {
>    
> executeServiceCall(uploadArquivoService.metodoRemotoUploadArquivo(pasta,data,
> nome),
>     eventoRetornoControleUploadArquivo,eventoFalhaOperacao);
>   }
>
>   private function eventoInserirPapers():void
>   {
>    executeServiceCall(papersService.metodoRemotoInserirNews(papersDTO),
>     eventoRetornoControleInserirPapers,eventoFalhaOperacao);
>   }
>
>   private function
> eventoRetornoControleInserirPapers(result:ResultEvent):void
>   {
>    var nameFile:String;
>    papersDTO = PapersDTO(result.result);
>
>    if(dataArquivo != null)
>    {
>     nameFile = papersDTO.codigo.toString() + "_" + papersDTO.arquivo;
>
>
>     eventoUploadArquivo(ConstantesPastas.FOLDER_PAPERS,dataArquivo,nameFile);
>    }
>    else
>    {
>     eventoMensagemArquivoCarregado();
>    }
>   }
>
>   public function eventoListarTiposPapers():void
>   {
>    executeServiceCall(papersService.metodoRemotoListaTipoPapers(),
>     eventoRetornoControleListarTiposPapers,eventoFalhaOperacao);
>   }
>
>   private function
> eventoRetornoControleListarTiposPapers(result:ResultEvent):void
>   {
>    listTiposPapers = ArrayCollection(result.result);
>    eventoResultListarTiposPapers();
>   }
>
>   private function
> eventoRetornoControleUploadArquivo(result:ResultEvent):void
>   {
>    eventoMensagemArquivoCarregado();
>   }
>   /*---------------------------------------------------------*/
>
>   /* Errors Events  */
>   private function eventoFalhaOperacao(event:FaultEvent):void
>   {
>    if(event.fault.message.toString().indexOf("Row was updated or deleted")
> > -1)
>    {
>     Alert.show(ConstantesMensagens.ERROR_RECORD_DELETED_UPDATED);
>    }
>    else
>    {
>     Alert.show(ConstantesMensagens.ERROR_OPERATION_NOT_SUCCESSFUL);
>    }
>    trace(event.fault.message.toString());
>    panelCarregandoUtils.eventoFecharMensagemBanco();
>   }
>   /*---------------------------------------------------------*/
>
>   /* Response Events */
>   public function eventoMensagemArquivoCarregado():void
>   {
>    eventoMensagemPapersCadastrada();
>    panelLocalizarPapersPresenters.eventoLocalizarPapers();
>    eventoFecharTelaCadastroNewPapers(null);
>   }
>
>   public function eventoMensagemPapersCadastrada():void
>   {
>    if(papersDTO == null)
>     Alert.show(ConstantesMensagens.PAPERS_DELETE_SUCESS);
>    else if(papersDTO.versao == 0)
>     Alert.show(ConstantesMensagens.PAPERS_ADD_SUCESS);
>    else
>     Alert.show(ConstantesMensagens.PAPERS_UPDATE_SUCESS);
>   }
>
>   /*---------------------------------------------------------*/
>  }
> }
>
> **************************
> Em 23 de janeiro de 2012 17:35, Re JMD <[email protected]> escreveu:
>
> Cara pra tentar te ajudar manda seu codigo java e o flex!
>>
>> Em 23 de janeiro de 2012 17:25, Filipe Motta <[email protected]>escreveu:
>>
>>  Tbm fica nulo.
>>> Em 23/01/2012 17:00, "Re JMD" <[email protected]> escreveu:
>>>
>>> Debugando o array também fica nulo?
>>>>
>>>> Em 23 de janeiro de 2012 15:40, Filipe Motta <[email protected]>escreveu:
>>>>
>>>>> Pessoal
>>>>> Tenho o seguinte cenario:
>>>>>
>>>>> Um objeto PapersDTO que um atributo tipoPapersDTO que é do tipo
>>>>> TipoPapersDTO. Minha tela tem um combobox que lista todos
>>>>> tipoPapersDTO cadastrados. Quando atualizo o registro o meu atributo
>>>>> tipoPapersDTO está nulo. Observei que depois da função de listar todos os
>>>>> tipoPapersDTO ele anula este atributo. Consegui resolver da de uma 
>>>>> maneira,
>>>>> mas tenha certeza que é uma gambiarra, queria saber se alguem sabe o por
>>>>> que disto.
>>>>>
>>>>> Gambiarra para resolver:
>>>>>
>>>>> Mudar o tipo do atributo tipoPapersDTO para Object, antes de listar
>>>>> todos os tipoPapersDTO eu guardo o valor e depois de listar eu atribuo 
>>>>> este
>>>>> valor ao atributo.
>>>>>
>>>>> Em um outro projeto eu utilizava para comunicação entre o flex o
>>>>> framework fluorine pois era comunicação com o .net, acontecia o mesmo
>>>>> problema.
>>>>>
>>>>>
>>>>> att
>>>>>
>>>>> --
>>>>> Luís Filipe Guedes Motta
>>>>>
>>>>> --
>>>>> 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
>>>
>>
>>  --
>> 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
>>
>
>
>
> --
> Luís Filipe Guedes Motta
> Analista de Sistemas - Java, .Net, Flex, Silverlight e Fortran
> Consultor de SmartCard - JavaCard
> (12)3221-4349
> (12)9735-6735
>
>
>  --
> 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

Responder a