Thanks Andun :) Here are couple more comments: 1) WhiteboardBehavior.respond: how the string editedElement looks like? Maybe it is better to create *enum* with element names and use *switch*instead of nested if...else...if 2) WhiteboardBehavior.renderHead: I would recommend JSONArray instead of concatenating JSONObject.toString(). The code will be very smple in this case: for (Element e : elementMap.values()) { array.add(element.getJSON()); } 3) the bullet above also will require getJSON() method be changed to return JSONObject 4) I also would change
Boolean hidden=null; try{ hidden=(Boolean)object.get("hidden"); }catch(JSONException e){ //Add Error Handling } this.hidden = hidden; to be just: try{ this.hidden=(Boolean)object.get("hidden"); }catch(JSONException e){ //Add Error Handling } less code, same effect :) On Tue, Jul 16, 2013 at 1:54 AM, Andun Sameera <andun...@gmail.com> wrote: > Hi Maxim, > > I think Andrey knows the licenses level details about images. Other than > that I have fixed the things you have asked. You can build the > Whiteboard-Wicket <https://github.com/andunslg/Whiteboard-Wicket> project > and run the > Whiteboard-Wicket-Sample<https://github.com/andunslg/Whiteboard-Wicket-Sample>to > see whiteboard demo. I don't have a live deployment :(. > > Thanks! > > > On Mon, Jul 15, 2013 at 11:03 PM, Maxim Solodovnik > <solomax...@gmail.com>wrote: > >> Additionally: there is no need to perform >> hashmap.remove(key); >> hashmap.put(key, value); >> >> according to javadoc: >> http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html#put(K, >> V) >> "If the map previously contained a mapping for the key, the old value is >> replaced." >> >> >> On Tue, Jul 16, 2013 at 12:32 AM, Maxim Solodovnik >> <solomax...@gmail.com>wrote: >> >>> Hello Andun, >>> Can you please tell me what is the license for the images used in this >>> Whiteboard component? >>> >>> Comments: >>> 1) WhiteboardBehavior.respond method: heavy copy/paste should be removed >>> 2) instead of having static getter for all of your elements you can have >>> constructor accepting JSONObject >>> 3) It is bad idea to manually concat strings in getJSON methods, please >>> use "new JSONObject()....toString()" >>> 4) Please remove all System.out.print* (replace with log.debug(...)) >>> >>> after all of the above will be fixed I would like to take a look at >>> working prototype. Do you have it's working? Or I need to locally start >>> sample application for this? >>> >>> >>> On Mon, Jul 8, 2013 at 10:58 PM, Andun Sameera <andun...@gmail.com>wrote: >>> >>>> Hi Maxim, >>>> >>>> I have implemented following, >>>> >>>> - WhiteboardPanel >>>> - WhiteboardBehaviour with Synchronization implemented >>>> >>>> Now whiterboard working well I think. You can find the code in >>>> https://github.com/andunslg/Whiteboard-Wicket and a sample app in >>>> https://github.com/andunslg/Whiteboard-Wicket-Sample. I will do the >>>> polishing part of the code. >>>> >>>> Thanks! >>>> On Mon, Jul 8, 2013 at 6:33 AM, Maxim Solodovnik >>>> <solomax...@gmail.com>wrote: >>>> >>>>> Hello Andun, >>>>> >>>>> I'll take a look at your code today >>>>> >>>>> here is an example of pushing updates to the connected users: >>>>> >>>>> https://svn.apache.org/repos/asf/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/ChatPanel.java >>>>> >>>>> >>>>> On Mon, Jul 8, 2013 at 12:15 AM, Andun Sameera <andun...@gmail.com>wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> >>>>>> On Sun, Jul 7, 2013 at 10:03 PM, Andun Sameera <andun...@gmail.com>wrote: >>>>>> >>>>>>> Hi Maxim, >>>>>>> >>>>>>> Need your assistance in figuring out the whitboard synchronization >>>>>>> logic. Currently what we have is this. >>>>>>> >>>>>>> - WhiteboardBehaviour which can be applied in this format, >>>>>>> >>>>>>> WhiteboardBehavior whiteboardBehavior=new >>>>>>> WhiteboardBehavior("whiteboard"); >>>>>>> >>>>>>> - When this is added to a page, all the whiteboard elements will >>>>>>> be added to a Map. Each Creation,Update will effect on this >>>>>>> collection >>>>>>> - Using this kind of a JavaScript, we can add elements to a >>>>>>> whiteboard. >>>>>>> >>>>>>> elementCollection=whiteboard.getMainCollection(); >>>>>>> elementCollection.acceptJsonStr('ChangedElementJSON'); >>>>>>> >>>>>>> - Using this kind of a JavaScript, we can load a whiteboard >>>>>>> using JSON string of all the elements >>>>>>> >>>>>>> elementCollection=whiteboard.getMainCollection(); >>>>>>> elementCollection.acceptJsonStr('elementLisyJSON'); >>>>>>> >>>>>>> In the current test application, I use two buttons to add elements >>>>>>> to whitebord and load whitebord from given JSON string. >>>>>>> >>>>>>> My question is what is the best way to implement Whiteboard >>>>>>> Synchronization using these code in Wicket? I planned is this kind of >>>>>>> approach, >>>>>>> >>>>>>> - 1st person open the Whiteboard >>>>>>> - He is draws some elements and the element map in the >>>>>>> WhiteboardBehaviour get update >>>>>>> - 2nd person comes and open the whiteboard. The behavior found >>>>>>> that element map(This should be a static collection) is not empty. >>>>>>> Thus >>>>>>> load the content of whiteboard using the element map. 3rd, 4th >>>>>>> happens like >>>>>>> that >>>>>>> >>>>>>> I just implemented this in the code >>>>>> >>>>>>> >>>>>>> - When one person do a change in the whiteboard, element map wll >>>>>>> be updated. Meanwhile all the other have to be pushed with the new >>>>>>> change >>>>>>> >>>>>>> I am looking in to >>>>>> http://www.wicket-library.com/wicket-examples-6.0.x/atmosphere/ to >>>>>> do this task >>>>>> >>>>>>> >>>>>>> - >>>>>>> - There whiteboards get update with new change >>>>>>> >>>>>>> If this is OK how can we push updates to clients form wicket server >>>>>>> to achieve 4th step? If you want to have a look a the current code, all >>>>>>> are >>>>>>> in github. >>>>>>> >>>>>>> Thanks! >>>>>>> >>>>>>> >>>>>>> On Sun, Jul 7, 2013 at 2:52 AM, Andun Sameera <andun...@gmail.com>wrote: >>>>>>> >>>>>>>> Hi Maxim, >>>>>>>> >>>>>>>> I have created the WhiteboardBehaviour in >>>>>>>> https://github.com/andunslg/Whiteboard-Wicket. Also I have created >>>>>>>> JAVA objects to map elements in Andrey Whiteboard. Now each and every >>>>>>>> drawing on whiteboard are mapped in to a JAVA Object. Also other way >>>>>>>> around >>>>>>>> is happening. Also all the elements are kept in a MAP. >>>>>>>> >>>>>>>> I have implemented all these in the repo. Still the code is in a >>>>>>>> preliminary stage. But please have a look. There is a sample webapp in >>>>>>>> the >>>>>>>> repo. >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>>> >>>>>>>> On Sat, Jul 6, 2013 at 7:42 PM, Bogdanov Andrey <ba...@mail.ru>wrote: >>>>>>>> >>>>>>>>> Yes, you should be carefull with quotes and doublequotes. You >>>>>>>>> could use any of them, but if you use single quotes inside string, >>>>>>>>> then you >>>>>>>>> should use doublequotes to enclose the string. And vise versa. >>>>>>>>> >>>>>>>>> >>>>>>>>> Суббота, 6 июля 2013, 18:31 +05:30 от Andun Sameera < >>>>>>>>> andun...@gmail.com>: >>>>>>>>> >>>>>>>>> Got it working with this, >>>>>>>>> >>>>>>>>> collection.acceptJsonStr('{"id": "0", "type": "PointFree", "x": >>>>>>>>> "-530", "y": "14"}') >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, Jul 6, 2013 at 6:22 PM, Andun Sameera >>>>>>>>> <andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com> >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>> Sry for the previous mail! >>>>>>>>> >>>>>>>>> >>>>>>>>> Hi Andreay, >>>>>>>>> >>>>>>>>> Is this syntax correct to add a element to Whiteboard? >>>>>>>>> >>>>>>>>> var collection = whiteboard.collections.main; >>>>>>>>> collection.acceptJsonStr("{" >>>>>>>>> id": 0, "type": "PointFree", "x": -530, "y": 14}"); >>>>>>>>> >>>>>>>>> I get this error in Firebug console, >>>>>>>>> >>>>>>>>> SyntaxError: missing ) after argument list >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, Jul 6, 2013 at 6:21 PM, Andun Sameera >>>>>>>>> <andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com> >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>> Hi Andreay, >>>>>>>>> >>>>>>>>> Is this syntax correct to add a element to Whiteboard? >>>>>>>>> >>>>>>>>> collection.acceptJsonStr( >>>>>>>>> >>>>>>>>> collection.acceptJsonStr( >>>>>>>>> >>>>>>>>> collection.acceptJsonStr({collection.acceptJsonStr({collection.acceptJsonStr({ >>>>>>>>> >>>>>>>>> var collection = whiteboard.collections.main; >>>>>>>>> collection.acceptJsonStr("{"id": 0, "type": "PointFree", "x": >>>>>>>>> -530, "y": 14}"); >>>>>>>>> >>>>>>>>> I get this error in Firebug console, >>>>>>>>> >>>>>>>>> SyntaxError: missing ) after argument list >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, Jul 6, 2013 at 12:48 AM, Andun Sameera >>>>>>>>> <andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com> >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>> I got the update and will work on creating the Java Objects. >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jul 5, 2013 at 10:40 PM, Bogdanov Andrey >>>>>>>>> <ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru> >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>> Hi Andun, >>>>>>>>> >>>>>>>>> Just now I pushed corrected version of whiteboard to the repo ( >>>>>>>>> https://github.com/bay73/whiteboard.git ). >>>>>>>>> You could take it. I hope text element works well now. >>>>>>>>> Thanks for finding this bug. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Andrey >>>>>>>>> >>>>>>>>> >>>>>>>>> Пятница, 5 июля 2013, 3:08 +05:30 от Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com> >>>>>>>>> >: >>>>>>>>> >Hi Andrey, >>>>>>>>> > >>>>>>>>> >Currently I am in the process of Mapping Whiteboard Elements to >>>>>>>>> Java Objects. There I noticed that Text fields are bit buggy. I have >>>>>>>>> attached a screen shot. When we draw a text box, we are shown a >>>>>>>>> label. But >>>>>>>>> I can find a place to edit it. Also I tried with info tool. When I >>>>>>>>> enter a >>>>>>>>> text using that, it overlaps as shown in screen shot. Is there a >>>>>>>>> fault in >>>>>>>>> my code ? You can look at it in the git repo. >>>>>>>>> > >>>>>>>>> >Thanks! >>>>>>>>> > >>>>>>>>> >On Fri, Jul 5, 2013 at 2:10 AM, Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>> >>>>>>>>> wrote: >>>>>>>>> >>Hi All, >>>>>>>>> >> >>>>>>>>> >>I have create the >>>>>>>>> >>https://github.com/andunslg/Whiteboard-Wicketrepo. I have committed >>>>>>>>> >>my POC code there and doing the development on that. >>>>>>>>> >> >>>>>>>>> >>Thanks! >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >>On Thu, Jul 4, 2013 at 12:10 PM, Maxim Solodovnik < >>>>>>>>> solomax...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3asolomax...@gmail.com>> >>>>>>>>> wrote: >>>>>>>>> >>>sure, please create git repo! >>>>>>>>> >>> >>>>>>>>> >>>instead of using Wicket.ajax.get you can use normal >>>>>>>>> *AjaxBehavior you can also create functions of it using >>>>>>>>> getCallbackFunction. >>>>>>>>> >>>Old OM code had examples of that (was replaced with >>>>>>>>> wicketjquieryui-calendar) >>>>>>>>> >>> >>>>>>>>> >>> >>>>>>>>> >>>On Thu, Jul 4, 2013 at 3:45 AM, Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>> >>>>>>>>> wrote: >>>>>>>>> >>>>Hi All, >>>>>>>>> >>>> >>>>>>>>> >>>>I have successfully did a first step integration of Andrey's >>>>>>>>> whiteboard with Wicket. Now I can send the JSON string successfully >>>>>>>>> to the >>>>>>>>> JAVA code. Now I know the way and will work on formalizing the thing! >>>>>>>>> >>>> >>>>>>>>> >>>> >>>>>>>>> >>>>@Andrey >>>>>>>>> >>>> >>>>>>>>> >>>>Can you give me a example to add a onChnage method to main >>>>>>>>> collection. I tried to do it. But is fails. >>>>>>>>> >>>> >>>>>>>>> >>>>@ Maxim >>>>>>>>> >>>> >>>>>>>>> >>>>Can I create a Git Repo for the task? Is it going to be a >>>>>>>>> wicket-jquery-UI plug-in ? or else ? >>>>>>>>> >>>> >>>>>>>>> >>>>Thanks! >>>>>>>>> >>>> >>>>>>>>> >>>> >>>>>>>>> >>>>On Wed, Jul 3, 2013 at 11:18 PM, Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>> >>>>>>>>> wrote: >>>>>>>>> >>>>>Hi Andrey, >>>>>>>>> >>>>> >>>>>>>>> >>>>>OK will do it like that! >>>>>>>>> >>>>> >>>>>>>>> >>>>>Thanks! >>>>>>>>> >>>>> >>>>>>>>> >>>>> >>>>>>>>> >>>>>On Wed, Jul 3, 2013 at 11:15 PM, Bogdanov Andrey < >>>>>>>>> ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru>> >>>>>>>>> wrote: >>>>>>>>> >>>>>> Hi Andun, >>>>>>>>> >>>>>> >>>>>>>>> >>>>>>Unfortunately I can't help you with wicket-ajax (I'm nit >>>>>>>>> familiar with wicket). >>>>>>>>> >>>>>>Only one remark about onChange - defining onChange for >>>>>>>>> prototype is not a good idea, because whiteboard use two auxilary >>>>>>>>> collections which need not to be synchronized. onChange function >>>>>>>>> should be >>>>>>>>> defined only for one main collection. >>>>>>>>> >>>>>> >>>>>>>>> >>>>>>Regards, >>>>>>>>> >>>>>>Andrey >>>>>>>>> >>>>>> >>>>>>>>> >>>>>> >>>>>>>>> >>>>>>Среда, 3 июля 2013, 22:50 +05:30 от Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>>: >>>>>>>>> >>>>>>>Hi, >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>Considering the example which Andrey gave me early, I am >>>>>>>>> planning to do >>>>>>>>> >>>>>>>this, >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> - Using the method given below, we can get a JSON string >>>>>>>>> for any update >>>>>>>>> >>>>>>> happen in Closure WhiteBoard >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>// to be defined on using of collection >>>>>>>>> >>>>>>>bay.whiteboard.Collection.prototype.onChange = >>>>>>>>> function(element){ >>>>>>>>> >>>>>>> alert(this.getJson(element)); >>>>>>>>> >>>>>>>} >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> - I will do a Wicket.Ajax call in this JavaScript method >>>>>>>>> to send this >>>>>>>>> >>>>>>> JSON string to the Server Side >>>>>>>>> >>>>>>> - There I process the string and map it to Java Objects >>>>>>>>> >>>>>>> - Then Synchronization happens >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>As the initial step to do that, I am trying to implement a >>>>>>>>> simple, >>>>>>>>> >>>>>>>application which can sent JavaScript Ajax calls to Wicket >>>>>>>>> server. I use >>>>>>>>> >>>>>>>this article >>>>>>>>> >>>>>>> >>>>>>>>> https://cwiki.apache.org/confluence/display/WICKET/Calling+Wicket+from+Javascript. >>>>>>>>> >>>>>>>I have created the application given below. >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>public class HomePage extends WebPage { >>>>>>>>> >>>>>>> private static final long serialVersionUID = 1L; >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> public HomePage(final PageParameters parameters) { >>>>>>>>> >>>>>>> super(parameters); >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> final AbstractDefaultAjaxBehavior behave = new >>>>>>>>> >>>>>>>AbstractDefaultAjaxBehavior() { >>>>>>>>> >>>>>>> protected void respond(final AjaxRequestTarget >>>>>>>>> target) { >>>>>>>>> >>>>>>> target.add(new Label("foo", "Yeah I was >>>>>>>>> just called from >>>>>>>>> >>>>>>>Javascript!")); >>>>>>>>> >>>>>>> } >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> public void renderHead(Component >>>>>>>>> component,IHeaderResponse >>>>>>>>> >>>>>>>response){ >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> String componentMarkupId = >>>>>>>>> component.getMarkupId(); >>>>>>>>> >>>>>>> String callbackUrl = >>>>>>>>> getCallbackUrl().toString(); >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> response.render( >>>>>>>>> >>>>>>>JavaScriptHeaderItem.forScript("var >>>>>>>>> >>>>>>>componentMarkupId='"+componentMarkupId+"'; var >>>>>>>>> >>>>>>>callbackUrl='"+callbackUrl+"';","values")); >>>>>>>>> >>>>>>> } >>>>>>>>> >>>>>>> }; >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> add(behave); >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> } >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>} >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>and my HomePage.html, >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>><!DOCTYPE HTML> >>>>>>>>> >>>>>>><html> >>>>>>>>> >>>>>>><body> >>>>>>>>> >>>>>>><script src=" >>>>>>>>> http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js >>>>>>>>> >>>>>>>"></script> >>>>>>>>> >>>>>>><script type="text/javascript"> >>>>>>>>> >>>>>>> $(function() { >>>>>>>>> >>>>>>> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + >>>>>>>>> '' }); >>>>>>>>> >>>>>>> alert(wcall); >>>>>>>>> >>>>>>> }); >>>>>>>>> >>>>>>></script> >>>>>>>>> >>>>>>></body> >>>>>>>>> >>>>>>></html> >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>Still I cant get this to a working position. When I start >>>>>>>>> this application, >>>>>>>>> >>>>>>>wicket-ajax.js file is not loading. Thus console gives >>>>>>>>> following error, >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>ReferenceError: Wicket is not defined >>>>>>>>> >>>>>>>[Break On This Error] >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '' }); >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>Still cant find why wicket-ajax is not loaded to my >>>>>>>>> application. Will let >>>>>>>>> >>>>>>>you know further updates! >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>Thanks! >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>On Tue, Jul 2, 2013 at 2:08 PM, Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>> OK Maxim. Will do it like that! >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> On Tue, Jul 2, 2013 at 2:05 PM, Maxim Solodovnik < >>>>>>>>> solomax...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3asolomax...@gmail.com>>wrote: >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> I would totally disagree with >>>>>>>>> >>>>>>>>> "At the Wicket Java code we save these elements as Java >>>>>>>>> Objecst which >>>>>>>>> >>>>>>>>> contains the JSON strings." >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Java objects should contain normal fields like "Point >>>>>>>>> center; int >>>>>>>>> >>>>>>>>> radius;" and be (de)serialized (from)into JSON if >>>>>>>>> necessary. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Jul 2, 2013 at 2:27 PM, Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com>>wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Hi Andrey, >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> Great! If you can give me a example for, >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> collection.onChange(element) >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> it will be highly appreciated. >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> @Maxim, >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> After some thinking I cam across of this idea. Please >>>>>>>>> correct me If I am >>>>>>>>> >>>>>>>>>> wrong. >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> - All the whiteboard elements can be represented as >>>>>>>>> JSON strings >>>>>>>>> >>>>>>>>>> (Have to find a way to add PDF,DOCs, Pictures to >>>>>>>>> whiteboard in this way) >>>>>>>>> >>>>>>>>>> - At the Wicket Java code we save these elements as >>>>>>>>> Java Objecst >>>>>>>>> >>>>>>>>>> which contains the JSON strings. >>>>>>>>> >>>>>>>>>> - To synchronize white board we can send these >>>>>>>>> object to all the >>>>>>>>> >>>>>>>>>> viewers. >>>>>>>>> >>>>>>>>>> - To save/load we can use this already implemented >>>>>>>>> JSON based >>>>>>>>> >>>>>>>>>> serialization and de-serialization. >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> But have to find ways to get all these data from >>>>>>>>> closure implementation >>>>>>>>> >>>>>>>>>> to wicket! >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>>> On Tue, Jul 2, 2013 at 11:28 AM, Bogdanov Andrey < >>>>>>>>> ba...@mail.ru<https://e.mail.ru/sentmsg?mailto=mailto%3aba...@mail.ru>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Hi Andun, >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Whiteboard consists of two main objects: ui-component >>>>>>>>> >>>>>>>>>>> "bay.whiteboard.Whiteboard", which contains >>>>>>>>> functionality for user >>>>>>>>> >>>>>>>>>>> interaction and collections of objects >>>>>>>>> "bay.whiteboard.Collection" which >>>>>>>>> >>>>>>>>>>> contains list of objects and some stuff to manipulate >>>>>>>>> them. >>>>>>>>> >>>>>>>>>>> After createing WB with >>>>>>>>> >>>>>>>>>>> whiteboard = bay.whiteboard.Create(); >>>>>>>>> >>>>>>>>>>> you could access to collection as >>>>>>>>> >>>>>>>>>>> collection = whiteboard.collections.main; or >>>>>>>>> >>>>>>>>>>> collection = whiteboard.getMainCollection(); - i've >>>>>>>>> just added this >>>>>>>>> >>>>>>>>>>> method >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> After that you could define >>>>>>>>> >>>>>>>>>>> collection.onChange(element) - method wich will be >>>>>>>>> invoked every >>>>>>>>> >>>>>>>>>>> time when some drawing elements add or change. >>>>>>>>> >>>>>>>>>>> Also you could use methods: >>>>>>>>> >>>>>>>>>>> collection.getJson(element); - to obtain json >>>>>>>>> code for an element >>>>>>>>> >>>>>>>>>>> collection.jsonCode(); - to obtain json code >>>>>>>>> for whole >>>>>>>>> >>>>>>>>>>> collection >>>>>>>>> >>>>>>>>>>> collection.acceptJsonStr(str); - to add or >>>>>>>>> change one element >>>>>>>>> >>>>>>>>>>> described as json >>>>>>>>> >>>>>>>>>>> collection.parseJson(str); - to rebuild all from >>>>>>>>> the given json >>>>>>>>> >>>>>>>>>>> string >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> As an example you could explore linkWebSocket method >>>>>>>>> in ui.js, which >>>>>>>>> >>>>>>>>>>> allows synchronize wb-content through webSocket >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>> >>>>>>>>>>> Andrey Bogdanov >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Вторник, 2 июля 2013, 1:25 +05:30 от Andun Sameera < >>>>>>>>> andun...@gmail.com<https://e.mail.ru/sentmsg?mailto=mailto%3aandun...@gmail.com> >>>>>>>>> >>>>>>>>>>> >: >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Hi Andrey, >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> I am moving in to this new thread to discuss about the >>>>>>>>> clarifications, >>>>>>>>> >>>>>>>>>>> improvements and integration of your Whiteboard to >>>>>>>>> wicket. I have looked at >>>>>>>>> >>>>>>>>>>> your code which can be found >>>>>>>>> https://github.com/bay73/whiteboard . I >>>>>>>>> >>>>>>>>>>> have following questions, >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> - In Wicket, I want map Whiteboard >>>>>>>>> Elements(Rectangle, Circle, >>>>>>>>> >>>>>>>>>>> Text, etc.) to Java objects. >>>>>>>>> >>>>>>>>>>> - Thus we can send those object to all the >>>>>>>>> Whiteboard viewers. >>>>>>>>> >>>>>>>>>>> - Using these objects there Whiteboards will be >>>>>>>>> updated. >>>>>>>>> >>>>>>>>>>> - To do that, can I get some data from your code? >>>>>>>>> which can be >>>>>>>>> >>>>>>>>>>> later used to create elements. I saw there is a >>>>>>>>> serialization methods and >>>>>>>>> >>>>>>>>>>> deserilization method in base.js. If we can extend >>>>>>>>> that mechanism to give >>>>>>>>> >>>>>>>>>>> some data when element is drawn or edited as an >>>>>>>>> event, I can use them to >>>>>>>>> >>>>>>>>>>> create Java objects. >>>>>>>>> >>>>>>>>>>> - Also there should be a mechanism to draw elements >>>>>>>>> on your >>>>>>>>> >>>>>>>>>>> Whiteboard by passing those data. >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Can we do these things? >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>>>> -- >>>>>>>>> >>>>>>>>>>> Regards >>>>>>>>> >>>>>>>>>>> Andun S.L. Gunawardana >>>>>>>>> >>>>>>>>>>> Undergraduate >>>>>>>>> >>>>>>>>>>> Department of Computer Science And Engineering >>>>>>>>> >>>>>>>>>>> University of Moratuwa >>>>>>>>> >>>>>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>>>>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>>>>>>>>>> Twitter - http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>>> -- >>>>>>>>> >>>>>>>>>>> Андрей Богданов >>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> -- >>>>>>>>> >>>>>>>>>> Regards >>>>>>>>> >>>>>>>>>> Andun S.L. Gunawardana >>>>>>>>> >>>>>>>>>> Undergraduate >>>>>>>>> >>>>>>>>>> Department of Computer Science And Engineering >>>>>>>>> >>>>>>>>>> University of Moratuwa >>>>>>>>> >>>>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>>>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>>>>>>>>> Twitter - http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> WBR >>>>>>>>> >>>>>>>>> Maxim aka solomax >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> -- >>>>>>>>> >>>>>>>> Regards >>>>>>>>> >>>>>>>> Andun S.L. Gunawardana >>>>>>>>> >>>>>>>> Undergraduate >>>>>>>>> >>>>>>>> Department of Computer Science And Engineering >>>>>>>>> >>>>>>>> University of Moratuwa >>>>>>>>> >>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>>>>>>> Twitter - http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>-- >>>>>>>>> >>>>>>>Regards >>>>>>>>> >>>>>>>Andun S.L. Gunawardana >>>>>>>>> >>>>>>>Undergraduate >>>>>>>>> >>>>>>>Department of Computer Science And Engineering >>>>>>>>> >>>>>>>University of Moratuwa >>>>>>>>> >>>>>>>Sri Lanka >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>>>Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>>>>>>LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>>>>>>Twitter - http://twitter.com/AndunSLG >>>>>>>>> >>>>>>> >>>>>>>>> >>>>>> >>>>>>>>> >>>>>> >>>>>>>>> >>>>>>-- >>>>>>>>> >>>>>>Андрей Богданов >>>>>>>>> >>>>> >>>>>>>>> >>>>> >>>>>>>>> >>>>> >>>>>>>>> >>>>>-- >>>>>>>>> >>>>>Regards >>>>>>>>> >>>>>Andun S.L. Gunawardana >>>>>>>>> >>>>>Undergraduate >>>>>>>>> >>>>>Department of Computer Science And Engineering >>>>>>>>> >>>>>University of Moratuwa >>>>>>>>> >>>>>Sri Lanka >>>>>>>>> >>>>> >>>>>>>>> >>>>>Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>>>>LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>>>>Twitter - http://twitter.com/AndunSLG >>>>>>>>> >>>>> >>>>>>>>> >>>>> >>>>>>>>> >>>>> >>>>>>>>> >>>>> >>>>>>>>> >>>> >>>>>>>>> >>>> >>>>>>>>> >>>>-- >>>>>>>>> >>>>Regards >>>>>>>>> >>>>Andun S.L. Gunawardana >>>>>>>>> >>>>Undergraduate >>>>>>>>> >>>>Department of Computer Science And Engineering >>>>>>>>> >>>>University of Moratuwa >>>>>>>>> >>>>Sri Lanka >>>>>>>>> >>>> >>>>>>>>> >>>>Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>>>LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>>>Twitter - http://twitter.com/AndunSLG >>>>>>>>> >>>> >>>>>>>>> >>>> >>>>>>>>> >>>> >>>>>>>>> >>>> >>>>>>>>> >>> >>>>>>>>> >>> >>>>>>>>> >>>-- >>>>>>>>> >>>WBR >>>>>>>>> >>>Maxim aka solomax >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >>-- >>>>>>>>> >>Regards >>>>>>>>> >>Andun S.L. Gunawardana >>>>>>>>> >>Undergraduate >>>>>>>>> >>Department of Computer Science And Engineering >>>>>>>>> >>University of Moratuwa >>>>>>>>> >>Sri Lanka >>>>>>>>> >> >>>>>>>>> >>Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >>LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >>Twitter - http://twitter.com/AndunSLG >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> > >>>>>>>>> > >>>>>>>>> >-- >>>>>>>>> >Regards >>>>>>>>> >Andun S.L. Gunawardana >>>>>>>>> >Undergraduate >>>>>>>>> >Department of Computer Science And Engineering >>>>>>>>> >University of Moratuwa >>>>>>>>> >Sri Lanka >>>>>>>>> > >>>>>>>>> >Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> >LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> >Twitter - http://twitter.com/AndunSLG >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Андрей Богданов >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards >>>>>>>>> Andun S.L. Gunawardana >>>>>>>>> Undergraduate >>>>>>>>> Department of Computer Science And Engineering >>>>>>>>> University of Moratuwa >>>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> Twitter -http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards >>>>>>>>> Andun S.L. Gunawardana >>>>>>>>> Undergraduate >>>>>>>>> Department of Computer Science And Engineering >>>>>>>>> University of Moratuwa >>>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> Twitter -http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards >>>>>>>>> Andun S.L. Gunawardana >>>>>>>>> Undergraduate >>>>>>>>> Department of Computer Science And Engineering >>>>>>>>> University of Moratuwa >>>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> Twitter -http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards >>>>>>>>> Andun S.L. Gunawardana >>>>>>>>> Undergraduate >>>>>>>>> Department of Computer Science And Engineering >>>>>>>>> University of Moratuwa >>>>>>>>> Sri Lanka >>>>>>>>> >>>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>>> LinkedIn - >>>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>>> Twitter -http://twitter.com/AndunSLG >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Андрей Богданов >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Regards >>>>>>>> Andun S.L. Gunawardana >>>>>>>> Undergraduate >>>>>>>> Department of Computer Science And Engineering >>>>>>>> University of Moratuwa >>>>>>>> Sri Lanka >>>>>>>> >>>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>>> LinkedIn - >>>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>>> Twitter -http://twitter.com/AndunSLG >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards >>>>>>> Andun S.L. Gunawardana >>>>>>> Undergraduate >>>>>>> Department of Computer Science And Engineering >>>>>>> University of Moratuwa >>>>>>> Sri Lanka >>>>>>> >>>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>>> LinkedIn - >>>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>>> Twitter -http://twitter.com/AndunSLG >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> Thanks! >>>>>> >>>>>> -- >>>>>> Regards >>>>>> Andun S.L. Gunawardana >>>>>> Undergraduate >>>>>> Department of Computer Science And Engineering >>>>>> University of Moratuwa >>>>>> Sri Lanka >>>>>> >>>>>> Blog - http://www.insightforfuture.blogspot.com/ >>>>>> LinkedIn - >>>>>> http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>>>> Twitter -http://twitter.com/AndunSLG >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> WBR >>>>> Maxim aka solomax >>>>> >>>> >>>> >>>> >>>> -- >>>> Regards >>>> Andun S.L. Gunawardana >>>> Undergraduate >>>> Department of Computer Science And Engineering >>>> University of Moratuwa >>>> Sri Lanka >>>> >>>> Blog - http://www.insightforfuture.blogspot.com/ >>>> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 >>>> Twitter -http://twitter.com/AndunSLG >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> -- >>> WBR >>> Maxim aka solomax >>> >> >> >> >> -- >> WBR >> Maxim aka solomax >> > > > > -- > Regards > Andun S.L. Gunawardana > Undergraduate > Department of Computer Science And Engineering > University of Moratuwa > Sri Lanka > > Blog - http://www.insightforfuture.blogspot.com/ > LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 > Twitter -http://twitter.com/AndunSLG > > > > > -- WBR Maxim aka solomax