Re: Google Closure Whiteboard

2013-07-03 Thread Andun Sameera
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 wrote:

 OK Maxim. Will do it like that!


 On Tue, Jul 2, 2013 at 2:05 PM, Maxim Solodovnik solomax...@gmail.comwrote:

 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.comwrote:

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

   Hi Andrey,

 I am moving in to this new thread to discuss about the clarifications,
 

Re[2]: Google Closure Whiteboard

2013-07-03 Thread Bogdanov Andrey
 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:
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  wrote:

 OK Maxim. Will do it like that!


 On Tue, Jul 2, 2013 at 2:05 PM, Maxim Solodovnik  solomax...@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 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  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 

Re: Re[2]: Google Closure Whiteboard

2013-07-03 Thread Andun Sameera
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 wrote:

 Hi Andrey,

 OK will do it like that!

 Thanks!


 On Wed, Jul 3, 2013 at 11:15 PM, Bogdanov Andrey ba...@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:
 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 
 wrote:
 
  OK Maxim. Will do it like that!
 
 
  On Tue, Jul 2, 2013 at 2:05 PM, Maxim Solodovnik 
 solomax...@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.comwrote:
 
  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 
 wrote:
 
  Hi Andun,
 
  Whiteboard consists of two main objects: ui-component