A funcao no controlerBase ficou assim:
protected function invokeServiceCall(call:AsyncToken, result :
Function):AsyncToken
{
//aqui vc tem acesso ao seu objeto antes de ser enviado para o
servidor:
var o : Object = call.message.body; //cuidado q esse cara pode
ser um Array....
if (o[0] is AbstractPersistentObject) //ou
o.hasOwnProperty("CLIENT_ID") ..teste um dos dois....
{
call.message.body[0]["clientDataSource"] =
SystemModelLocator.getInstance().clientDataSource;
}
return serviceHelper.executeServiceCall(call, result);
}
ai faco a chamada no meu controller assim:
super.invokeServiceCall( remote.getListLike(pais),onGetListLike);
Esta passando pela funcao, entra no IF e seta o valor corretamente, tirei um
print para ver como esta no momento q faz a chamada:
PRINT DA CHAMADA <http://clip2net.com/clip/m7108/1309180844-clip-31kb.png>
Porem o atributo que eu seto na funcao chega null, no java.
Fiz um outro teste, dei override no get clientDataSource, onde eu retorno
sempre o valor do Singleton, aparentemente funcionou.
Oq acha, deixo assim mesmo ou seria melhor fazer funcionar com esse metodo
que vc recomendou?
Abraco
Em 27 de junho de 2011 09:24, Juliano Feltraco <[email protected]>escreveu:
> Opa...
> Voltando ao trampo hoje =]
> Feriadao prolongado aki.
>
> Vou testar hoje, assim que terminar aviso aqui.
> Valeu
>
> Em 26 de junho de 2011 12:48, Mário Júnior <[email protected]>escreveu:
>
> e entao, rolou?
>>
>> []'s
>>
>>
>> Em 24 de junho de 2011 14:45, Mário Júnior <[email protected]>escreveu:
>>
>> Blz... entao faça o seguinte: (vou digitar diretamente aqui, fique atento
>>> a possíveis erros de sintaxe)
>>>
>>>
>>> Primeiro de tudo, crie uma classe BaseController:
>>>
>>> public class BaseController
>>> {
>>>
>>> [Inject]
>>> public var sh : ServiceHelper; //Lembrando q vc precisa declarar o
>>> ServiceHelper do Swiz nos seus Beans...
>>>
>>> protected function invokeServiceCall(call:AsyncToken, result : Function,
>>> fault:Function):AsyncToken
>>> {
>>> //aqui vc tem acesso ao seu objeto antes de ser enviado para o
>>> servidor:
>>> var o : Object = call.message.body; //cuidado q esse cara pode ser um
>>> Array....
>>> if (o[0] is PersistentObject) //ou o.hasOwnProperty("CLIENT_ID")
>>> ..teste um dos dois....
>>> {
>>> o["CLIENT_ID"] = SeuSingleton.valorClientId;
>>>
>>> }
>>>
>>> var token : sh.executeServiceCall(call, result, (fault ? fault :
>>> defaultFault));
>>>
>>> }
>>>
>>>
>>> protected function defaultFault(e:FaultEvent):void
>>> {
>>> trace("fault handler default");
>>>
>>> }
>>>
>>>
>>> }
>>>
>>>
>>> Agora, seus controller deverão estender de BaseController, e toda vez q
>>> vc for "invocar" o back-end, vc usa o método invokeServiceCall da classe
>>> pai:
>>>
>>>
>>> public class MeuControllerQualquer extends BaseController
>>> {
>>> [Inject]
>>> public var meuServico : RemoteObject;
>>>
>>> [EventHandler(event="eventoQauqlquer",
>>> properties="objetoPersistente"]
>>> public function metodoQualquer(var obj : PessoaBlablabla):void
>>> {
>>> //para o dev, a chamada fica transparente, informando o
>>> servico e o resulthandler...
>>> invokeServiceCall(meuServico.salvarPessoaBlablabla(obj),
>>> resultMetodoQualquer);
>>>
>>> }
>>>
>>> private function resultMetodoQualquer(e:ResultEvent):void
>>> {
>>> //tratar o resultado com sucesso.
>>>
>>> }
>>>
>>> }
>>>
>>>
>>>
>>> Nao sei se o google vai manter a formatação, talvez seja melhor vc copiar
>>> o código e jogar num editor para entender.
>>>
>>> Qualquer dúvida dá um alo.
>>>
>>>
>>> []'s
>>>
>>>
>>>
>>> Em 24 de junho de 2011 13:56, Juliano Feltraco
>>> <[email protected]>escreveu:
>>>
>>> Esqueci de mencionar. Utilizao SWIZ sim.
>>>> Se tiver algum exemplo ai Mario, me ajudaria muito.
>>>>
>>>> Abraco
>>>>
>>>> Em 24 de junho de 2011 11:24, Mário Júnior <[email protected]>escreveu:
>>>>
>>>> Vc ta usando o Swiz Juliano?
>>>>> Se sim, tem como criar um BaseController q irá interceptar isso.. poss
>>>>> mostrar caso esteja usando Swiz.
>>>>> Caso nao esteja usando, de mais detalhes sobre a arquitetura q vc
>>>>> implementou para que possamos definir o melhor ponto para vc interceptar
>>>>> as
>>>>> chamadas antes do disparo para o back-end, e nesse ponto vc atribuir o
>>>>> valor
>>>>> do seu CLIENT_ID.
>>>>>
>>>>>
>>>>> []'s
>>>>>
>>>>>
>>>>>
>>>>> Em 23 de junho de 2011 19:05, Juliano Feltraco
>>>>> <[email protected]>escreveu:
>>>>>
>>>>> Vou tentar explicar mais detalhadamente.
>>>>>> Eu tenho um objeto PersistenteObject, que todos os meus objetos de
>>>>>> negocio herdam dele.
>>>>>> Ele possui um atributo, CLIENT_ID.
>>>>>> Quando o usuario entra na app, por parametro eu passo qual eh o
>>>>>> CLIENT_ID, e armazeno essa variavel em um Singleton.
>>>>>> Preciso que toda requisicao que eu faca ao JAVA essa variavel do
>>>>>> Singleton seja setada no atributo do PersistenteObject.
>>>>>> Assim quando esse objeto chegar no JAVA ele identifica qual eh o
>>>>>> cliente e direciona para a BD deste cliente.
>>>>>> Eh mais ou menos esse o fluxo que preciso que seja feito.
>>>>>>
>>>>>> Amanha vou pesquisar a sugestao do Mario.
>>>>>> Espero que tenham entendido agora e tb espero que seja possivel, pois
>>>>>> ficaria muito LINDO dessa forma =]
>>>>>>
>>>>>> Abraco.
>>>>>>
>>>>>> Em 22 de junho de 2011 21:42, Mário Júnior
>>>>>> <[email protected]>escreveu:
>>>>>>
>>>>>> Também nao entendi direito, mas se for oq estou pensando, posso
>>>>>>> sugerir duas coisas:
>>>>>>>
>>>>>>> - Se estiver usando o Swiz, vc pode interceptar toda a requisição
>>>>>>> (seja na saída ou na resposta) estendendo o ServiceHelper.
>>>>>>> - Vc pode fazer um monkey patch, copiando a classe
>>>>>>> mx.rpc.AbstractInvoker e nessa classe vc também pode interceptar todas
>>>>>>> as
>>>>>>> chamadas e repostas, independente de framework.
>>>>>>>
>>>>>>> Se for realmente isso que entendi, e se precisar de mais detalhes
>>>>>>> sobre os pontos acima, dá um alo.
>>>>>>>
>>>>>>>
>>>>>>> []'s
>>>>>>>
>>>>>>>
>>>>>>> Em 22 de junho de 2011 17:58, Eric Tonussi
>>>>>>> <[email protected]>escreveu:
>>>>>>>
>>>>>>> Cara, tentei mas nao consegui entender seu problema
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 22 de junho de 2011 17:34, Juliano Feltraco <
>>>>>>>> [email protected]> escreveu:
>>>>>>>>
>>>>>>>> Eu tentei dessa forma Bruno.
>>>>>>>>> Criei um Singleton que armazena esse valor, e no constructor do meu
>>>>>>>>> objeto Pai eu seto esse valor do Singleton.
>>>>>>>>> Funcionou, porem soh funciona para objetos que eu instancio.
>>>>>>>>> Se eu faco uma consulta q me retorna N objetos esses objetos nao
>>>>>>>>> passam pelo constructor (imaginei que fossem passar), ai quando tento
>>>>>>>>> editar
>>>>>>>>> ou excluir eles
>>>>>>>>> NAO TEM O ATRIBUTO SETADO, oq me ocasiona um erro.
>>>>>>>>>
>>>>>>>>> Em 22 de junho de 2011 17:26, bruno bg <[email protected]>escreveu:
>>>>>>>>>
>>>>>>>>> singleton, não serveria para vc. ??
>>>>>>>>>>
>>>>>>>>>> brunobg
>>>>>>>>>> --
>>>>>>>>>> ****************************************************
>>>>>>>>>> www.brbsoftware.com.br
>>>>>>>>>> [email protected] (MSN & Skype)
>>>>>>>>>> blogflex.brunobg.com
>>>>>>>>>> @brunogrohs
>>>>>>>>>> (21) 9913-2397
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Em 22 de junho de 2011 17:22, Juliano Feltraco <
>>>>>>>>>> [email protected]> escreveu:
>>>>>>>>>>
>>>>>>>>>>> Estou com a seguinte necessidade.
>>>>>>>>>>>
>>>>>>>>>>> Tenho um objeto PAI que todos os meus outros objetos herdam dele,
>>>>>>>>>>> e nesse objeto tenho um atributo que identifica o cliente para que
>>>>>>>>>>> eu possa
>>>>>>>>>>> selecionar o DataSource correto no JAVA..
>>>>>>>>>>>
>>>>>>>>>>> Preciso que todas as requisicoes que faco para o JAVA o objeto
>>>>>>>>>>> que vai ser passado como parametro sofra uma alteracao, onde vou
>>>>>>>>>>> setar esse
>>>>>>>>>>> atributo com uma chave expecifica expecifico.
>>>>>>>>>>>
>>>>>>>>>>> Esta funcionando, soh falta eu conseguir setar esse atibuto para
>>>>>>>>>>> todas as requisicoes.
>>>>>>>>>>>
>>>>>>>>>>> Qualquer dica sera de grande valia.
>>>>>>>>>>>
>>>>>>>>>>> Abraco
>>>>>>>>>>> --
>>>>>>>>>>> Att.
>>>>>>>>>>> >> Juliano Feltraco <<
>>>>>>>>>>> 9131-6290 - 3526-9786
>>>>>>>>>>>
>>>>>>>>>>> "A vida é feita de desafios..."
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Att.
>>>>>>>>> >> Juliano Feltraco <<
>>>>>>>>> 9131-6290 - 3526-9786
>>>>>>>>>
>>>>>>>>> "A vida é feita de desafios..."
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Mario Junior
>>>>>>> http://blog.mariojunior.com/
>>>>>>> @mariojunior
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Att.
>>>>>> >> Juliano Feltraco <<
>>>>>> 9131-6290 - 3526-9786
>>>>>>
>>>>>> "A vida é feita de desafios..."
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mario Junior
>>>>> http://blog.mariojunior.com/
>>>>> @mariojunior
>>>>>
>>>>> --
>>>>> 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
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Att.
>>>> >> Juliano Feltraco <<
>>>> 9131-6290 - 3526-9786
>>>>
>>>> "A vida é feita de desafios..."
>>>>
>>>> --
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> Mario Junior
>>> http://blog.mariojunior.com/
>>> @mariojunior
>>>
>>
>>
>>
>> --
>> Mario Junior
>> http://blog.mariojunior.com/
>> @mariojunior
>>
>> --
>> 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
>>
>
>
>
> --
> Att.
> >> Juliano Feltraco <<
> 9131-6290 - 3526-9786
>
> "A vida é feita de desafios..."
>
--
Att.
>> Juliano Feltraco <<
9131-6290 - 3526-9786
"A vida é feita de desafios..."
--
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