Hi David, Never happened to me before. I'd need to investigate the project to see what could be happening.
El sáb, 27 feb 2021 a las 15:18, David Slotemaker de Bruine (< [email protected]>) escribió: > OK. > > I will do as you suggest. Regarding the double call issue for the normal > RemoteObject call, Any clue why I amb getting the duplicate flex session > error? > > Thanks > > David > > On Sat., 27 Feb. 2021, 13:11 Carlos Rovira, <[email protected]> > wrote: > >> Hi David, >> >> there's no relation. You must revise carefully your project's >> configuration. If you don't get it you can copy paste the project that >> works and start transforming it since it could be difficult to find the >> issue. >> >> Also you have a two call issue that's not normal too, so something seems >> to be wrong. >> >> >> >> El sáb, 27 feb 2021 a las 12:06, David Slotemaker de Bruine (< >> [email protected]>) escribió: >> >>> Hi Carlos, >>> >>> I would agree with you but the code that works in a non Crux project >>> does work when pasted into the Crux project. This code doesn't use any Crux >>> calls and returns the same error. Is it possible that the RemoteObject call >>> is compiled differently depending on the compiler instructions? >>> >>> Thanks >>> >>> David >>> >>> On Fri., 26 Feb. 2021, 18:01 Carlos Rovira, <[email protected]> >>> wrote: >>> >>>> Hi, but that seems a problem in backend, not Royale. >>>> are you trying to go from very simple initial calls to more complex >>>> ones? >>>> >>>> El vie, 26 feb 2021 a las 16:38, David Slotemaker de Bruine (< >>>> [email protected]>) escribió: >>>> >>>>> There was an unhandled failure on the server. >>>>> java.lang.NullPointerException >>>>> >>>>> Not really helpful :) >>>>> >>>>> On Fri, 26 Feb 2021 at 16:18, Carlos Rovira <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> we need to see the NPE you refer >>>>>> thanks >>>>>> >>>>>> El vie, 26 feb 2021 a las 11:49, David Slotemaker de Bruine (< >>>>>> [email protected]>) escribió: >>>>>> >>>>>>> Hi Carlos, >>>>>>> >>>>>>> OK. Thanks. >>>>>>> >>>>>>> I think there is something wrong with the QuickStart project for >>>>>>> Crux for RemoteObjects and BlazeDS. >>>>>>> >>>>>>> I can now call the server but get NullPointer Exceptions as a >>>>>>> result. >>>>>>> >>>>>>> So I tried in another project to make the same call having >>>>>>> everything in the same mxml (RemoteObject, Handles etc). This call works >>>>>>> fine with the exception of duplicate HTTP errors on the first call. >>>>>>> >>>>>>> When I take the same code and compile it in the crux project I still >>>>>>> get NullPointer exceptions. Could it be the compiler arguments? >>>>>>> >>>>>>> The project that works has: >>>>>>> >>>>>>> -theme=${royalelib}/themes/JewelTheme/src/main/resources/defaults.css >>>>>>> -html-template=src/resources/jewel-index-template.html >>>>>>> -js-library-path+=${royalelib}/js/libs/MXRoyaleJS.swc >>>>>>> -compiler.exclude-defaults-css-files=MXRoyaleJS.swc:defaults.css >>>>>>> +configname=flex -js-library-path+=${royalelib}/js/libs/MXRoyaleJS.swc >>>>>>> >>>>>>> The Crux project has: >>>>>>> -theme=${royalelib}/themes/JewelTheme/src/main/resources/defaults.css >>>>>>> -html-template=src/main/resources/crux-jewel-example-index-template.html >>>>>>> -js-default-initializers=true >>>>>>> -keep-as3-metadata+=Inject,Dispatcher,EventHandler,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient >>>>>>> -keep-code-with-metadata=Inject +configname=flex >>>>>>> -js-library-path+=${royalelib}/js/libs/MXRoyaleJS.swc >>>>>>> >>>>>>> Any tips would be great, >>>>>>> >>>>>>> David >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, 25 Feb 2021 at 18:14, Carlos Rovira <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi David, >>>>>>>> >>>>>>>> the class to be used on the Service class should be: >>>>>>>> >>>>>>>> mx.rpc.remoting.RemoteObject; >>>>>>>> >>>>>>>> while the class used when you add in bean provider mxml file is >>>>>>>> mx.rpc.remoting.mxml.RemoteObject; >>>>>>>> although is transparent to you since you use <mx:RemoteObject/> >>>>>>>> without the need of any import. >>>>>>>> >>>>>>>> HTH >>>>>>>> >>>>>>>> Carlos >>>>>>>> >>>>>>>> >>>>>>>> El jue, 25 feb 2021 a las 18:08, David Slotemaker de Bruine (< >>>>>>>> [email protected]>) escribió: >>>>>>>> >>>>>>>>> Hi All, >>>>>>>>> >>>>>>>>> So after talking with Piotr I found my problem was I hadn't added >>>>>>>>> the new Controller Component to the Beans.mxml. That is the key so >>>>>>>>> that >>>>>>>>> Crux knows where to assign the events the app dispatches. >>>>>>>>> >>>>>>>>> One issue we did run into was that the definition of the >>>>>>>>> RemoteObjects weren't detected when they where defined in a seperate >>>>>>>>> ServicesConfig.mxml within the config directory. Even though this >>>>>>>>> file was >>>>>>>>> referenced in <crux:beanProviders>. >>>>>>>>> >>>>>>>>> Adding the remote object definitions directly to Beans.mxl was the >>>>>>>>> key. >>>>>>>>> >>>>>>>>> Also when Injecting the RemoteObject into the new XXXService.as >>>>>>>>> file it is of type: >>>>>>>>> >>>>>>>>> mx.rpc.remoting.mxml.RemoteObject; >>>>>>>>> >>>>>>>>> I now have issues getting the correct response from the server, >>>>>>>>> but that will be another post :) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, 25 Feb 2021 at 08:42, David Slotemaker de Bruine < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi Piotr, I will send you a link with the code, cheers! I will >>>>>>>>>> then post the solution back here when we find it! >>>>>>>>>> >>>>>>>>>> David >>>>>>>>>> >>>>>>>>>> On Wed, 24 Feb 2021 at 17:23, Piotr Zarzycki < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> 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 <[email protected]> >>>>>>>>>>> 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 >>>>>>>>>>>> <[email protected]> can help you I don't have many >>>>>>>>>>>> experience, sorry >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> El mar, 23 feb 2021 a las 15:18, David Slotemaker de Bruine (< >>>>>>>>>>>> [email protected]>) 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 < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Great! Thank you! >>>>>>>>>>>>>> >>>>>>>>>>>>>> I will give it a shot! >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, 18 Feb 2021 at 17:07, Carlos Rovira < >>>>>>>>>>>>>> [email protected]> 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 (< >>>>>>>>>>>>>>> [email protected]>) 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 (< >>>>>>>>>>>>>>>> [email protected]>) 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 (<[email protected]>) 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 >>>>>>>>>>>>>> >>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>>> *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 >>>>>>>>>>>>> >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Carlos Rovira >>>>>>>>>>>> Apache Member & Apache Royale PMC >>>>>>>>>>>> *Apache Software Foundation* >>>>>>>>>>>> http://about.me/carlosrovira >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> Piotr Zarzycki >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> *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 >>>>>>>>>> >>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> *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 >>>>>>>>> >>>>>>>>> [email protected] >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> 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 >>>>>>> >>>>>>> [email protected] >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>> >>>>> [email protected] >>>>> >>>> >>>> >>>> -- >>>> 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
