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