David,

You can send me code of your project and I will take a look at it. I don't
see any connection to Moonshine here. We need more data to help you. The
best would be if you could provide source code by uploading on some server
- if you can of course.

Thanks,
Piotr

śr., 24 lut 2021 o 17:13 Carlos Rovira <carlosrov...@apache.org> napisał(a):

> Hi David,
>
> the two lines refers to 2 injects in UserController. Since I don't know
> the code I guess you have 2 injections there.
> You talk then about a "usuarioController", but I don't know what is. Is
> not UserController? is other controller? then you need to add as well to
> your beanprovider.
>
> About Moonshine, maybe @Piotr Zarzycki <piotrzarzyck...@gmail.com> can
> help you I don't have many experience, sorry
>
>
> El mar, 23 feb 2021 a las 15:18, David Slotemaker de Bruine (<
> dslotema...@vicensvives.com>) escribió:
>
>> Hi Carlos,
>>
>> OK,
>>
>> I created everything you said, a new:
>>
>> ServicesConfig.mxml in the config folder and pointed to it
>> in <crux:beanProviders>
>>
>> Then I created:
>> UsuarioController
>> UsuarioEvent
>> UsusarioService
>>
>> for my "usuario" needs.
>>
>> The thing is, It does seem that the new controller is being referenced
>> during compile time. I Get the following:
>>
>> Activating JSStageEvents
>> : InjectProcessor set up [Inject] on Bean{ source: [object Object], name:
>> userController }
>> : InjectProcessor set up [Inject] on Bean{ source: [object Object], name:
>> userController }
>> : [PostConstruct] executing createDefaultUser in UserController
>> : [JS] application setUp stub
>>
>> 2 for userController but none for usuarioController.
>>
>> When I call the UsuarioEvent, it dispatchers but doesn't get sent to the
>> UsuarioController. The userEvent dispatch correctly and is sent to the
>> UserContoller without a problem.
>>
>> 2 additional points of information.
>>
>> 1. Breakpoints (In Moonshine) are not working in the project, but they
>> are in others.
>> 2. There is a blue squiggle at the start of some of the files stating
>> that the files are not within the source directory, but they are.
>>
>>  Any ideas?
>>
>>
>>
>>
>>
>> On Thu, 18 Feb 2021 at 17:42, David Slotemaker de Bruine <
>> dslotema...@vicensvives.com> wrote:
>>
>>> Great! Thank you!
>>>
>>> I will give it a shot!
>>>
>>> On Thu, 18 Feb 2021 at 17:07, Carlos Rovira <carlosrov...@apache.org>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> ok, let's go:
>>>>
>>>> 1.- REMOTEOBJECTS: You will have a mxml file that extends from Crux
>>>> BeanProvider. Let's call it ServicesConfig.mxml. There you have all you
>>>> mx:RemoteObject objects. So this object will provide all remote objects to
>>>> the rest of your app:
>>>>
>>>> <mx:RemoteObject id="loginService"
>>>> destination="loginService"
>>>> channelSet="{loginChannel}"
>>>> showBusyCursor="true"/>
>>>>
>>>> 2.- SERVICE: Then you have a "delegate" like in Cairngorm where you
>>>> inject the remote object:
>>>>
>>>> [Inject(source="loginService", required="true")]
>>>> public var service :RemoteObject = null;
>>>>
>>>> So the remoteobject with name "loginService" will be injected in the
>>>> public var service. In this delegate you can do things like this:
>>>>
>>>> public function recoverPassword(username :String, password :String) :
>>>> AsyncToken {
>>>> return service.recoverPassword(username, password);
>>>> }
>>>>
>>>> 3.- CONTROLLER: Here you have controller methods that will be called
>>>> with events and this will in the end call service methods in the delegate
>>>> layer:
>>>>
>>>> [EventHandler(event="LoginEvent.RECOVER_PASSWORD", properties=
>>>> "password")]
>>>> public function passwordRecovery(password :String) :void {
>>>> executeServiceCall(loginDelegate.recoverPassword(model.recoverUsername,
>>>> password), passwordRecoveryHandler);
>>>> }
>>>>
>>>> executeServiceCall is a Crux function that allow you to call a service
>>>> method and attach a result and fault handlers that will be on this
>>>> controller. So in a controller you have that method plus two handlers
>>>> (result and fault, but probably just the first since the second use to be
>>>> the same reusable for all)
>>>>
>>>> 4.- EVENT: You extend from CruxEvent and have things like this:
>>>>
>>>> public static const RECOVER_PASSWORD:String = "login.recoverPassword";
>>>>
>>>> that match with the one in the controller.
>>>>
>>>> 5.- VIEW: Here you send the event:
>>>>
>>>> var event :LoginEvent = new LoginEvent(LoginEvent.RECOVER_PASSWORD);
>>>> event.password = newpassword.text;
>>>> dispatchEvent(event);
>>>>
>>>> And that's all
>>>>
>>>> I think this is a very simple but powerful arquitecture that allows to
>>>> organize code in a very good way, while using plain objects without the
>>>> need of extensions and more, since objects are injected.
>>>>
>>>> HTH
>>>>
>>>> Carlos
>>>>
>>>> El jue, 18 feb 2021 a las 16:51, Carlos Rovira (<
>>>> carlosrov...@apache.org>) escribió:
>>>>
>>>>> Hi David,
>>>>>
>>>>> we have it here [1], but anyway I'll try to give a bit more info.
>>>>>
>>>>> [1] https://apache.github.io/royale-docs/libraries/crux/service-layer
>>>>>
>>>>> El jue, 18 feb 2021 a las 16:49, Carlos Rovira (<
>>>>> carlosrov...@apache.org>) escribió:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> I'll try to write this on a wiki, since I don't think we have a
>>>>>> working example. Hope to come back to you soon.
>>>>>>
>>>>>> El jue, 18 feb 2021 a las 15:54, David Slotemaker de Bruine (<
>>>>>> dslotema...@vicensvives.com>) escribió:
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>> I come from a Flex Cairngorm background and I am trying to get my
>>>>>>> head around Crux and the Crux example.
>>>>>>>
>>>>>>> I have gone through the tutorial and read the documentation. But I
>>>>>>> am stuck on where to place my RemoteObject tags and how to 
>>>>>>> reference/call
>>>>>>> them.
>>>>>>>
>>>>>>> The first code snippet from:
>>>>>>>
>>>>>>> https://apache.github.io/royale-docs/libraries/crux/service-layer
>>>>>>>
>>>>>>> Shows the injection of a "userService" RemoteObject and a
>>>>>>> "ServiceHelper". Where should these code if I am using the 
>>>>>>> CruxQuickStart
>>>>>>> as a base? In UserService.as? Where should the <mx:RemoteObject> be 
>>>>>>> defined
>>>>>>> so it can be injected?
>>>>>>>
>>>>>>> Any help would be great!
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Carlos Rovira
>>>>>> Apache Member & Apache Royale PMC
>>>>>> *Apache Software Foundation*
>>>>>> http://about.me/carlosrovira
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Carlos Rovira
>>>>> Apache Member & Apache Royale PMC
>>>>> *Apache Software Foundation*
>>>>> http://about.me/carlosrovira
>>>>>
>>>>>
>>>>
>>>> --
>>>> Carlos Rovira
>>>> Apache Member & Apache Royale PMC
>>>> *Apache Software Foundation*
>>>> http://about.me/carlosrovira
>>>>
>>>>
>>>
>>> --
>>>
>>> *David Slotemaker de Bruïne*
>>> *Head of Educational Robotics*
>>>
>>>
>>>
>>> Av. Sarriá, 130 - 08017 Barcelona
>>> <https://maps.google.com/?q=Av.+Sarri%C3%A1,+130+-+08017+Barcelona&entry=gmail&source=g>
>>>
>>>
>>> T. +34 932 523 729 ext. 135
>>>
>>> dslotema...@vicensvives.com
>>>
>>
>>
>> --
>>
>> *David Slotemaker de Bruïne*
>> *Head of Educational Robotics*
>>
>>
>>
>> Av. Sarriá, 130 - 08017 Barcelona
>> <https://maps.google.com/?q=Av.+Sarri%C3%A1,+130+-+08017+Barcelona&entry=gmail&source=g>
>>
>>
>> T. +34 932 523 729 ext. 135
>>
>> dslotema...@vicensvives.com
>>
>
>
> --
> Carlos Rovira
> Apache Member & Apache Royale PMC
> *Apache Software Foundation*
> http://about.me/carlosrovira
>
>

-- 

Piotr Zarzycki

Reply via email to