Thanks Supun for taking the initiative. I echo Shameera that this seem to be a good working stop-gap strategy. But I am not knowledgable enough to judge on this topic and would like to listen critical feedback from others.
Suresh On Mar 17, 2014, at 2:58 PM, Shameera Rathnayaka <[email protected]> wrote: > Hi Supun, > > This is great, I too found this $scope.apply()[1] would solve our issue . And > i was going to follow this[2] and come up with a sample demo but you already > have done it :) (didn't check it, will do). For now we can wrap exiting > javaScript client as angular service and use it inside the angular. But for > long run It would be good to use Thrift generated JS client instead exiting > JS client. @Sanchit and all WDYT? > > [1] > https://github.com/angular/angular.js/wiki/When-to-use-$scope.$apply%28%29 > [2] http://jimhoskins.com/2012/12/17/angularjs-and-apply.html > > > Thanks, > Shameera. > > > > > On Tue, Mar 18, 2014 at 12:07 AM, Supun Nakandala <[email protected]> > wrote: > Hi All, > > I was able to do successful POC on the $subject (the source code is available > at [1]). I implemented a simple thrift API (thrift descriptor [2]) for echo > function. The server side was implemented in java and for the client side I > used javascript. > > Important points WRT to thrift > ->Thrift javascript client can be used only against a http server. So I > wrapped the EchoServiceHandler.java[3] inside EchoServlet.java[4] and > deployed in tomcat server. > ->Thrift client sdk currently supports only AJAX based communication. > > Important points WRT to thrift client and angular integration > ->Thrift js client can be used for the communication with the server > within angular. But the problem is, since thrift client is not part of > angular, when we do the ajax communication and update the model the changes > will not be updated in the DOM. The reason is angular is not aware of the > events triggered outside of the framework. But this can be overcome by > wrapping thrift client inside an angular service and using promises in > angular to notify the success of ajax calls and then manually updating the > DOM. > > The thrift client that I created for this service can be found at[5]. This > thrift client is wrapped inside this angular service[6] and that service is > used in controller [7]. I have also attached screen shots of the demo. > > Hope Shameera, Sanchit, Viknes or Vijayendra can provide feedback on this POC > and evaluate whether this POC is sound enough to guaranty that web based > experiment builder can be integrated with the thrift client sdk. > > Thank you. > Supun Nakandala > > [1] - https://github.com/scnakandala/echo_service > [2] - https://github.com/scnakandala/echo_service/blob/master/Echo.thrift > [3] - > https://github.com/scnakandala/echo_service/blob/master/src/echo/EchoServiceHandler.java > [4] - > https://github.com/scnakandala/echo_service/blob/master/src/echo/EchoServlet.java > [5] - > https://github.com/scnakandala/echo_service/blob/master/WebContent/Web/app/lib/echo_service/echo_client.js > > [6] - > https://github.com/scnakandala/echo_service/blob/master/WebContent/Web/app/js/services.js > > [7] - > https://github.com/scnakandala/echo_service/blob/master/WebContent/Web/app/js/controllers.js > > > > > > -- > Best Regards, > Shameera Rathnayaka. > > email: shameera AT apache.org , shameerainfo AT gmail.com > Blog : http://shameerarathnayaka.blogspot.com/
