Acho que na hora de eu copiar o codigo eu esqueci de copiar o remote class., mas aqui no meu codigo já tem esta metadata
Em 24 de janeiro de 2012 09:59, Fredy Gadotti <[email protected]>escreveu: > 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 > -- 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
