wiquery vs wicket-jquery-ui

2013-03-08 Thread Oscar Besga Arcauz
 
Hi wickers

I was searching for a wicket + query-ui libraries and I found
* wiquery - https://github.com/WiQuery/wiquery
* wicket-jquery-ui - https://github.com/sebfz1/wicket-jquery-ui

Trying to not make controversy, have anyone used any ?
Have anyone tested both and chose one ? Why ?

I found wiquery more mature and matched with last wicket libraries;
but wicket-jquery-ui more active recently.

What do you think ?


   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Wicket modal

2013-03-07 Thread Oscar Besga Arcauz
 Hi wickers !

I'm using a ModalWindow to show a simple phrase where a form is sent to the 
server.

I used 

ModalWindow wModal = new ModalWindow(ventanaModal);
wModal.setAutoSize(true);
wModal.setResizable(false);

But when I show the wModal (with wModal.show(target);  ), the inner panel gets 
a 200px heigth, hardcoded into style. Width is ok.
Is this ok ? How can I get a autoheigth ?




I tried with fixed size, in order to get a it , I must do:
wModal.setInitialHeight(30);
wModal.setHeightUnit(px);
wModal.setInitialWidth(200);
wModal.setWidthUnit(px);
wModal.setUseInitialHeight(true);
wModal.setAutoSize(false);
wModal.setAutoSize(false);

Isn't this a little complicated ?
But I really don't like fixed sizes into HTML...


Thanks

   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Error with Hidden Field and its enum value

2013-03-04 Thread Oscar Besga Arcauz
Thanks Andrea !!

Yes, I could store the value on the Panel which holds the form - but then I 
couldn't use it as stateless. Or in WebSession, but it's not adequate...
Also. I could use a String and make the conversion hardcoded..

But I searched the converters, and I tried this (maybe a little complicated) 
and it worked allright !


public class MyWebApplication extends WebApplication {

    @Override
    protected IConverterLocator newConverterLocator() {
    ConverterLocator locator = (ConverterLocator) 
super.newConverterLocator();
    locator.set(MyEnum.class, new MyEnumConverter());
    return locator;
    }

}


   public class MyEnumConverter implements IConverterMyEnum {
   

  @Override
   public MyEnumconvertToObject(String s, Locale locale) {
   try {
return MyEnum.valueOf(s);
} catch (Exception e) {
log_error(MyEnum.valueOf(s)  + s, e);
return null;
}
   }

   @Override
   public String convertToString(MyEnum myEnum, Locale locale) {
   return myEnum.name();
   } 
   }

   Oscar Besga Arcauz 

-Andrea Del Bene an.delb...@gmail.com escribió: -
Para: users@wicket.apache.org
De: Andrea Del Bene an.delb...@gmail.com
Fecha: 01/03/2013  17:55
Asunto: Re: Error with Hidden Field and its enum value

The error occurs because Wicket convert your enum to a string when the 
form is rendered, then it tries to do the opposite converting the string 
to your enum. And here we have the problem. Wicket doesn't fin a valid 
converter (see JAvaDoc of FormComponent.convertInput) to obtain your 
enum from its string value. But the real question is: do you really need 
to have such hidden field in your form? Why can't you simply get rid of it?
   Hi wickers  !!

 I've a problem with a form and a hidden field.
 The form has a CompoundPropertyModel of a data class. This class has an enum 
 propertiy, which I want to store into a HiddenField and later retrieve (with 
 the whole data class and the rest of the data).

 When the panel is rendered, the hidden field gets the correct value - the 
 enum name() (or toString()? ) value.
 But when I retrieve the form, with the AjaxSubmitLink, I get this error in 
 the feedback messagges

      DEBUG - FeedbackMessages           - Adding feedback message 
 '[FeedbackMessage message = The value of 'myType' is not a valid MyType., 
 reporter = myType, level = ERROR]'


 Any ideas ?

 Thanks a lot

   

         Oscar Besga Arcauz    


 EXAMPLE CODE


 //Enumerated
 public enum MyType { myTypeOne, myTypeTwo, andSoOn }

 // Data class
 public class MyData implements Serializable { 
   MyType myType;
 }

 //Panel with form
 public class MyPanel extends Panel {

      public MyPanel(String id) {
          super(id);
   MyData data = new MyData();
   data.myType = MyType.myTypeTwo;
          FormMyData form = new FormMyData(form,new 
 CompoundPropertyModelMyData(data));
   form.add(new HiddenField(myType); //data
          AjaxSubmitLink submit = new AjaxSubmitLink(Submit){

              @Override
              protected void onError(AjaxRequestTarget target, Form? form) {
                  //ALWAYS GETS ME AN ERROR !!!
   super.onError(target,form);
              }

              @Override
              protected void onSubmit(AjaxRequestTarget target, Form? form) {
                  super.onSubmit(target, form);
              }
          };   
      }

 }


         Oscar Besga Arcauz    
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Error with Hidden Field and its enum value

2013-03-01 Thread Oscar Besga Arcauz
 Hi wickers  !!

I've a problem with a form and a hidden field.
The form has a CompoundPropertyModel of a data class. This class has an enum 
propertiy, which I want to store into a HiddenField and later retrieve (with 
the whole data class and the rest of the data).

When the panel is rendered, the hidden field gets the correct value - the enum 
name() (or toString()? ) value.
But when I retrieve the form, with the AjaxSubmitLink, I get this error in the 
feedback messagges

DEBUG - FeedbackMessages   - Adding feedback message 
'[FeedbackMessage message = The value of 'myType' is not a valid MyType., 
reporter = myType, level = ERROR]'


Any ideas ?

Thanks a lot

 

   Oscar Besga Arcauz 


EXAMPLE CODE


//Enumerated
public enum MyType { myTypeOne, myTypeTwo, andSoOn }

// Data class
public class MyData implements Serializable {   
MyType myType;
}

//Panel with form
public class MyPanel extends Panel {

public MyPanel(String id) {
super(id);
MyData data = new MyData();
data.myType = MyType.myTypeTwo;
FormMyData form = new FormMyData(form,new 
CompoundPropertyModelMyData(data));
form.add(new HiddenField(myType); //data
AjaxSubmitLink submit = new AjaxSubmitLink(Submit){

@Override
protected void onError(AjaxRequestTarget target, Form? form) {
//ALWAYS GETS ME AN ERROR !!! 
super.onError(target,form);
}

@Override
protected void onSubmit(AjaxRequestTarget target, Form? form) {
super.onSubmit(target, form);
}
};  
}

}


   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



wicket6-ajax-anchorbrowserhistory

2013-02-26 Thread Oscar Besga Arcauz
 Hi wickers !

First, I'd like to thank all the people that have helped me from this forum: 


Second, I've created a github repo to place a pair of classes that I'm using in 
my projects.

    https://github.com/obaisdefe/wicket6-ajax-anchorbrowserhistory

This code is based on the work of vmontane, at 
https://github.com/vmontane/wicket-ajax-bookmarks
( Also, special thanks to vmontane )

There are two classes:
- A link that changes the hash of the url, the AnchorAjaxLink (really it has no 
ajax action)
- A behaviour to capture, via ajax, the changes made to the hash of the url, 
HistoryAjaxBehaviour

They are based on jQuery and they are working in my code, so feel free to use 
them


The examples can be found in this repo

    https://github.com/obaisdefe/wicket6-ajax-anchorbrowserhistory-example



Any suggestion or enhacement is wellcome !!

Thanks !!!

   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Request scoped variables, in ajaxrequesttarget

2013-02-13 Thread Oscar Besga Arcauz
 Hi wickers !

I was wondering If there's any method to have request-scoped variables ( as 
HttpServletRequest.get/setAttributes )
Specially with AjaxRequestTarget, in AJAX calls. 

I'm  using my own events within ajax calls. I know that an ajax call fires  an 
event into every component of a application; and I'd like to use this  event 
and avoid sending a second custom event.
Because of that, I want to attach some data to the request - to the 
AjaxRequestTarget maybe.


For  I've read in the forum, the way to do it could be a transient variable  
into the page which is nullyfied on the onDetach method.
But I find it not very elegant

Any ideas ?

Thanks


   Oscar Besga Arcauz 


PS.  I'm supposing that a ajax event called over one page of one user  
(session) is not propaged over other pages and other users (sessions)

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Request scoped variables, in ajaxrequesttarget

2013-02-13 Thread Oscar Besga Arcauz
Ok, it's a little complicated to create the metadata

If I'm rigth, the process is - for example when click on an AjaxLink into the 
page

1- Execute the method onClick of the AjaxLink
2- Send an event to all the components of the page (the page itself included, 
on first place, but not other pages ?),
   - The source of the event is the page itself
   - The type of broadcast is BREADTH 
   - The payload is the AjaxRequestTarget (from the onclick method call)

/ EXAMPLE OF DATA /
public class MyEventData {
    
    static  MetaDataKeyMyEventData METAKEY_MYEVENTDATA = new 
MetaDataKeyMyEventData(){}; 
    
    String s = ;

    public MyEventData(){}
    
    public MyEventData(String s) {
    this.s = s;
    }


    
    public MetaDataKeyMyEventData getWicketMetadataData(){
    // A little complicated
    MetaDataKeyMyEventData key = new MetaDataKeyMyEventData(){};
    MetaDataEntryMyEventData metaDataEntry = new 
MetaDataEntryMyEventData(key,this);
    MetaDataEntryMyEventData[] arrayMetaDataEntry =  new 
MetaDataEntry[]{metaDataEntry};
    key.set(arrayMetaDataEntry,this);
    return key;
    }
    
    public void setIntoRequest(RequestCycle rc){
    rc.setMetaData(getWicketMetadataData(),this);
    }
    
    public static MyEventData getFromRequest(RequestCycle rc){
    return rc.getMetaData(METAKEY_MYEVENTDATA);
    }
    
}


   Oscar Besga Arcauz 

-Ernesto Reinaldo Barreiro reier...@gmail.com escribió: -
Para: users@wicket.apache.org
De: Ernesto Reinaldo Barreiro reier...@gmail.com
Fecha: 13/02/2013  13:00
Asunto: Re: Request scoped variables, in ajaxrequesttarget

Hi Oscar,

On Wed, Feb 13, 2013 at 12:54 PM, Oscar Besga Arcauz obe...@isdefe.eswrote:

  Hi wickers !

 I was wondering If there's any method to have request-scoped variables (
 as HttpServletRequest.get/setAttributes )
 Specially with AjaxRequestTarget, in AJAX calls.


Maybe RequestCycle#setMetaData might be useful for that.


Regards - Ernesto Reinaldo Barreiro
Antilia Soft
http://antiliasoft.com/ http://antiliasoft.com/antilia

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Request scoped variables, in ajaxrequesttarget

2013-02-13 Thread Oscar Besga Arcauz
Yes, this works ok !

 why do you need to fire a custom event?
I've four main panels in my app, in order to communicate each other withour 
listeners

Can't you just use AJAX event triggered by ART?
ART ?
Maybe ApplicationRuntime

Ok, that's what I want to use, the AJAX event, but I want to have shared data 
in the request within the components

Thanks !!!


 / EXAMPLE OF DATA /
 public class MyEventData {
  
  static  MetaDataKeyMyEventData METAKEY_MYEVENTDATA = new 
 MetaDataKeyMyEventData(){};
  
  String s = ;

  public MyEventData(){}
  
  public MyEventData(String s) {
  this.s = s;
  }


  
  
  public void setIntoRequest(RequestCycle rc){
  rc.setMetaData(METAKEY_MYEVENTDATA,this);
  }
  
  public static MyEventData getFromRequest(RequestCycle rc){
  return rc.getMetaData(METAKEY_MYEVENTDATA);
  }
  
 }

   Oscar Besga Arcauz 

-Bas Gooren b...@iswd.nl escribió: -
Para: users@wicket.apache.org
De: Bas Gooren b...@iswd.nl
Fecha: 13/02/2013  15:35
Asunto: Re: Request scoped variables, in ajaxrequesttarget

Well, it's a lot simpler than that.

Simply call rc.setMetaData( METAKEY_MYEVENTDATA, this );

Wicket handles the actual storage details (like storing your data in a 
MetaDataEntry array etc).
Nothing you need to think about :-)

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 13-2-2013 15:31, schreef Oscar Besga Arcauz:
 Ok, it's a little complicated to create the metadata

 If I'm rigth, the process is - for example when click on an AjaxLink into the 
 page

 1- Execute the method onClick of the AjaxLink
 2- Send an event to all the components of the page (the page itself included, 
 on first place, but not other pages ?),
     - The source of the event is the page itself
     - The type of broadcast is BREADTH
     - The payload is the AjaxRequestTarget (from the onclick method call)

 / EXAMPLE OF DATA /
 public class MyEventData {
      
      static  MetaDataKeyMyEventData METAKEY_MYEVENTDATA = new 
 MetaDataKeyMyEventData(){};
      
      String s = ;

      public MyEventData(){}
      
      public MyEventData(String s) {
          this.s = s;
      }


      
      public MetaDataKeyMyEventData getWicketMetadataData(){
          // A little complicated
          MetaDataKeyMyEventData key = new MetaDataKeyMyEventData(){};
          MetaDataEntryMyEventData metaDataEntry = new 
 MetaDataEntryMyEventData(key,this);
          MetaDataEntryMyEventData[] arrayMetaDataEntry =  new 
 MetaDataEntry[]{metaDataEntry};
          key.set(arrayMetaDataEntry,this);
          return key;
      }
      
      public void setIntoRequest(RequestCycle rc){
          rc.setMetaData(getWicketMetadataData(),this);
      }
      
      public static MyEventData getFromRequest(RequestCycle rc){
          return rc.getMetaData(METAKEY_MYEVENTDATA);
      }
      
 }


         Oscar Besga Arcauz    

 -Ernesto Reinaldo Barreiro reier...@gmail.com escribió: -
 Para: users@wicket.apache.org
 De: Ernesto Reinaldo Barreiro reier...@gmail.com
 Fecha: 13/02/2013  13:00
 Asunto: Re: Request scoped variables, in ajaxrequesttarget

 Hi Oscar,

 On Wed, Feb 13, 2013 at 12:54 PM, Oscar Besga Arcauz obe...@isdefe.eswrote:

   Hi wickers !

 I was wondering If there's any method to have request-scoped variables (
 as HttpServletRequest.get/setAttributes )
 Specially with AjaxRequestTarget, in AJAX calls.


 Maybe RequestCycle#setMetaData might be useful for that.


 Regards - Ernesto Reinaldo Barreiro
 Antilia Soft
 http://antiliasoft.com/ http://antiliasoft.com/antilia

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Insidious error

2013-01-24 Thread Oscar Besga Arcauz
 
Hi Wickers

I've deployed my wicket webapp in production, now it's online.
Thanks for all your help !


But..

There's an error, that is thrown intermittent, from time to time.
It doesn't appear to affect the main behaviour of the website

I've trying to reach source and debug and fix it, but it has been impossible to 
me.
If anyone has a hint or knows what is happening, it will be truly appreciated 

Thanks !!

ERROR WebIsdefe:276 - ERROR !  
Method  onRequest of interface org.apache.wicket.behavior.IBehaviorListener  
targeted at  
es.isdefe.webisdefe.webapp.panels.inicio.Inicio$InicioJsBehaviour@2b0c59fc  on 
component [Inicio [Component id = contenido]] threw an exception
org.apache.wicket.WicketRuntimeException:  Method onRequest of interface  
org.apache.wicket.behavior.IBehaviorListener targeted at  
es.isdefe.webisdefe.webapp.panels.inicio.Inicio$InicioJsBehaviour@2b0c59fc  on 
component [Inicio [Component id = contenido]] threw an exception
    at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:274)
    at 
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)

Caused by: java.lang.IllegalArgumentException: 
java.lang.ClassCastException@1e275ff3
    at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
    ... 26 more
18:12:26,156 ERROR DefaultExceptionMapper:123 - Unexpected error occurred
org.apache.wicket.WicketRuntimeException:  Method onRequest of interface  
org.apache.wicket.behavior.IBehaviorListener targeted at  
es.isdefe.webisdefe.webapp.panels.inicio.Inicio$InicioJsBehaviour@2b0c59fc  on 
component [Inicio [Component id = contenido]] threw an exception
    at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:274)
    at 
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
     at  
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:247)
    at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)
    at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:830)
    at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
[...]
Caused by: java.lang.IllegalArgumentException: 
java.lang.ClassCastException@1e275ff3
    at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
    ... 26 more


       Oscar Besga Arcauz     


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Do not cache pages, nor in application, nor in browser

2013-01-16 Thread Oscar Besga Arcauz
I've made a class, extending the DefaultPageManagerProvider to avoid Wicket 
page store (in order recreate every page at every request from users)


I'm testing it, and found no problems - for now.

Take a look; I'm thinking about sending it to JIRA as an improvement


/**
 * User: obesga
 * Date: 16-jan-2013
 * Page manager that does not store any page, nor any bit
 */
public class VoidPageManagerProvider extends DefaultPageManagerProvider {

    // Common properties
    private IPageManagerContext iPageManagerContext;
    private IPageManager iPageManager;
    private IDataStore iDataStore;
    private IPageStore iPageStore;

    /**
 * Basic construftor
 * @param application Actual application
 */
    public VoidPageManagerProvider(Application application) {
    super(application);
    iPageManagerContext =  new DefaultPageManagerContext();
    iDataStore = new VoidIDataStore();
    iPageStore = new VoidIPageStore();
    iPageManager = new 
VoidPageStoreManager(application.getName(),iPageStore,iPageManagerContext);
    }

    @Override
    public IPageManager get(IPageManagerContext pageManagerContext) {
    return iPageManager;
    }

    @Override
    protected IPageStore newPageStore(IDataStore dataStore) {
    return iPageStore;
    }

    @Override
    protected IDataStore newDataStore() {
    return iDataStore;
    }

    /**
 * A data store that doesn't store a byte
 */
    private class VoidIDataStore implements IDataStore {

    public byte[] getData(String s, int i) {
    return null;
    }

    public void removeData(String s, int i) {
    }

    public void removeData(String s) {
    }

    public void storeData(String s, int i, byte[] bytes) {
    }

    public void destroy() {
    }

    public boolean isReplicated() {
    return true;
    }

    public boolean canBeAsynchronous() {
    return true;
    }
    }

    /**
 * A page store that doesn't store a page
 */
    private class VoidIPageStore implements IPageStore {

    public void destroy() {

    }

    public IManageablePage getPage(String s, int i) {
    return null;
    }

    public void removePage(String s, int i) {

    }

    public void storePage(String s, IManageablePage iManageablePage) {

    }

    public void unbind(String s) {

    }

    public Serializable prepareForSerialization(String s, Object o) {
    return null;
    }

    public Object restoreAfterSerialization(Serializable serializable) {
    return null;
    }

    public IManageablePage convertToPage(Object o) {
    return null;
    }
    }

    /**
 * The basic store manager, extended to not support versioning
 */
    private class VoidPageStoreManager extends PageStoreManager implements 
IPageManager {

    public VoidPageStoreManager(String applicationName, IPageStore 
pageStore, IPageManagerContext context) {
    super(applicationName, pageStore, context);
    }

    @Override
    public boolean supportsVersioning() {
    return false;
    }
    }


}





   Oscar Besga Arcauz 

-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 16/01/2013  09:00
Asunto: Re: Do not cache pages, nor in application, nor in browser

Hi,


On Tue, Jan 15, 2013 at 7:59 PM, Oscar Besga Arcauz obe...@isdefe.eswrote:



 I use these code in order to avoid web page cache, in browser and in
 wicket application;
 also I want to avoid disk caching and serialization

 I'm using Wicket6


 ¿ Do you see this code correct ? ¿ Is there any easier way to accomplish
 this ?

 /**
  * App
  */
 public class MyApplication extends WebApplication {
     @Override
     public void init() {
         super.init();
         setPageManagerProvider(new MyPageManagerProvider(this));
     }

     /**
      * shall not save
      */
     private class MyPageManagerProvider extends DefaultPageManagerProvider
 {

         private MyPageManagerProvider(Application application) {
             super(application);
         }


         @Override
         protected IDataStore newDataStore() {
             // guardamos tod o en memoria
             return new HttpSessionDataStore(new
 DefaultPageManagerContext(), new PageNumberEvictionStrategy(0));


You can use getStoreSettings#setMaxSizePerSession(Bytes.bytes(1))  with the
default DiskDataStore too.
But your approach is better because this way you don't do IO operations.


         }

     }

 }



 /**/

 /**
  * Web Page
  */
 public class MyPage extends WebPage {

     @Override
     protected void setHeaders(WebResponse response) {
         super.setHeaders(response);
         response.setHeader(X

Do not cache pages, nor in application, nor in browser

2013-01-15 Thread Oscar Besga Arcauz
 

I use these code in order to avoid web page cache, in browser and in wicket 
application;
also I want to avoid disk caching and serialization

I'm using Wicket6


¿ Do you see this code correct ? ¿ Is there any easier way to accomplish this ?

/**
 * App
 */
public class MyApplication extends WebApplication {
    @Override
    public void init() {
    super.init();
    setPageManagerProvider(new MyPageManagerProvider(this));
}

/**
 * shall not save
 */
private class MyPageManagerProvider extends DefaultPageManagerProvider {

private MyPageManagerProvider(Application application) {
super(application);
}


@Override
protected IDataStore newDataStore() {
// guardamos tod o en memoria
return new HttpSessionDataStore(new DefaultPageManagerContext(), 
new PageNumberEvictionStrategy(0));
}

}

}


/**/

/**
 * Web Page
 */
public class MyPage extends WebPage {

    @Override
    protected void setHeaders(WebResponse response) {
    super.setHeaders(response);
    response.setHeader(X-Frame-Options,deny); // Avoid  IFRFAMES
    response.setHeader(Cache-Control, 
no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0);
    response.setHeader(Expires,0);
    response.setHeader(Pragma, no-cache);
    response.disableCaching();
    }

}




   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



[FYI] X-Frame-Options deny Header

2012-12-12 Thread Oscar Besga Arcauz
Hi Wickers


In my Wicket app, I had another filter, prior to wicket app, that used to add 
headers to every request to the webapp. 
One of this headers was X-Frame-Options with value deny, which prevents pages 
and elements to be used into an iframe; its recommended for security reasons 
(XSS and 
CSRF )

In some forms, however, it blocked updates and inner-reloads (specially when a 
file upload was involved); it has been a little knigthmare to find what was 
going on.

So I removed this header, setting it only in wicket pages

I hope you find it useful.



 
   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Deploy on production: optimization tip tricks

2012-11-25 Thread Oscar Besga Arcauz
Thank you !

Some of these improvements are already implemented on my site.

I've been looking forward to implement wicket-specific optimizations (althought 
I'm discovering that wicket alone it's default optimized on deployment mode ) 

And as you already said, perfomance is an art where no silver bullets are 
common; but a search for balance and tradeoffs.

For example, I've said that using (1) code will . Well, for one side it will 
dinamically minify the resulting html code downloaded by browser. But these 
settings will make page processing slower.

So it's up to you to choose the rigth approach.

(1)
        getMarkupSettings().setStripComments(true);
    getMarkupSettings().setCompressWhitespace(true);
    getMarkupSettings().setStripWicketTags(true);


   Oscar Besga Arcauz 

-Serban.Balamaci thespamtr...@gmail.com escribió: -
Para: users@wicket.apache.org
De: Serban.Balamaci thespamtr...@gmail.com
Fecha: 15/11/2012  22:45
Asunto: Re: Deploy on production: optimization tip  tricks

Hi Oscar,
Probably nobody responded because this is not a simple topic but with many
implications and turns. There are many optimizations that can be done not
necessarily related to wicket. 
I'd recomend http://stevesouders.com/ blog, http://www.bookofspeed.com/ ,
http://www.guypo.com/

But ok I'll play along and add my 2 cents: 
1. Setting Caching  headers on the web response is for certain something
that you'd want to do. Set a long expire date for JS and CSS file like
months even 1year. But you'd also want the users to receive the latest css
and JS files you make with a new release. So it's good to mix up the
resource name with some kind of version token(I use the app version nr in
the css/js files name something like link rel=stylesheet type=text/css
href=https://portal.isdefe.es/2.14/css/site.css; /).

Also most important optimizations that give the user the impression of speed
are related to loading the JS files. While JS files are being downloaded the
PAGE RENDERING is STOPPED. So it's a good idea to put them at the page's
bottom and using the css and html to render the page in an usable(nice
looking) state and then, while the user is reading and figuring out the
content, the JS enhancements like sliding menus etc are loading in the
background. Otherwise keeping the JS at the top results in the so called
WhitePageOfDeath in which the user sees a blank page while the header JS
files are being downloaded.
You can achieve the same thing as putting the JS at the page bottom but
while keeping the JS files at the head with the defer attribute easily
like . That means the rendering will not be blocked but the JS will execute
on DomReady event.

2. Minification and merging JS files into one:
A. Most today's browsers are limited to making at most 6 parallel requests
to a certain domain. So you don't want to have more js files merged into a
single one so you don't wait for another wave of free connections. There is
also the RoundTripTime overhead associated with making a new call to the
server.
B. The the bigger a text file is, the better it's compression ratio will be.
So you'd get some benefit from merging all the js files into one and the
gzip compression will be greater and also the minification gain. I recommend
the *wro4j* project as it has lots of minification plugins. 
Unfortunately Wicket's component nature where every component can contribute
it's own separate JS file makes it harder to have a single big minified JS
file for all the page.


3. Using CDNs have the benefit of lower latency and also introducing another
domain and thus increasing those 6 max nr of connections. Using some famous
CDN like you did for JQuery also increases the probability of user already
having Jquery in the cache from another site that he visited before(that's
why I'm a fan of not also including the JQuery library in a minified package
of all your site's JS files). 

Using asynchronous loading for 3rd party scripts like g+, facebook, ga are
mandatory also these days.

4. Caching before the web server layer - using a caching proxy like Varnish
or Apache/Nginx with a caching module to save maybe DB generated image
resources maybe can be a good idea also.
The topic is far far from being exhausted so I think that's the reason why
nobody is playing along with responding. 

Personally I'm curios if an enhancement of providing Transfer-Encoding:
chunked and keeping the JS resources in the head with the defer
attribute(so the browser quickly receives the header and can begin the
download of JS files) while a slow DB prevents us from returning the full
html. But I'm afraid it might be a mess with not really huge gains in
performance and wicket by it's component nature means we don't know the
required js resources in the page's head until all the components have been
added to the page and got a chance to contribute there needed resources. 

I'm also curious what the future holds in terms of the SPDY protocol

After/before creation or serialization

2012-11-25 Thread Oscar Besga Arcauz
 

Hi wickers !

Is there a method on Wicket components that is called before creation/load(f.e. 
from disk, deserialization) and another method called before destroy/save(to 
disk, serialization)

Would it be methods onInitialize()   and onDetach()  of 
org.apache.wicket.Component ?

Thanks !


   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: After/before creation or serialization

2012-11-25 Thread Oscar Besga Arcauz
 Thanks

Yes, I can use both methos onInitialize + onRead and onDetach + onSave

Perhaps I should ask if onInitialize and onDetach are used when component is 
serialized /deserialized on wicket 6

My plan is to do avoid this

    MyPanel(String id){
    super(id)
        ((MyApplicattion)getApplication()).getDao().getData();
   }

and turn into this


    MyPanel(String id){
    super(id)
    }

    private transient Dao dao;

    void onCreateOrRead(){
    dao = ((MyApplicattion)getApplication()).getDao();
    }


   void onCreateOrRead(){
    dao = null; // Not necessary
   }


   Oscar Besga Arcauz 

-Cedric Gatay gata...@gmail.com escribió: -
Para: users@wicket.apache.org
De: Cedric Gatay gata...@gmail.com
Fecha: 25/11/2012  13:36
Asunto: Re: After/before creation or serialization

Hi,
I don't know if there is a special Wicket thing, but you can use the
standard Java way like this :
    private void writeObject(ObjectOutputStream out) throws IOException {
        //provide your own logic
    }

    private void readObject(ObjectInputStream in) throws IOException,
ClassNotFoundException {
        //provide your own logic
    }

Regards,

__
Cedric Gatay
http://www.bloggure.info | http://cedric.gatay.fr |
@Cedric_Gatayhttp://twitter.com/Cedric_Gatay



On Sun, Nov 25, 2012 at 1:28 PM, Oscar Besga Arcauz obe...@isdefe.eswrote:



 Hi wickers !

 Is there a method on Wicket components that is called before
 creation/load(f.e. from disk, deserialization) and another method called
 before destroy/save(to disk, serialization)

 Would it be methods onInitialize()   and onDetach()  of
 org.apache.wicket.Component ?

 Thanks !


    Oscar Besga Arcauz    
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: After/before creation or serialization

2012-11-25 Thread Oscar Besga Arcauz
Hi Martin 

 
Yes, I've tried @SpringBean but I don't like it because I noticed a (not very 
big) performace loss when using it; because the dynamicly-created serializable 
proxy. 
Or at least that seems to me.

IMHO, the proxy is an overwhelming solution, I prefer a combination of 
transients and 'if (dao==null) dao = (
((MyApplicattion)getApplication()).getDao());'

Simply if this can be done in another way.

Thanks 




   Oscar Besga Arcauz 

-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 25/11/2012  15:57
Asunto: Re: After/before creation or serialization

Hi,

onInitialize is called just once for any Component. As its javadoc says it
is called some time before the first call of #onConfigure.
#onDetach() is called before passing the Page to serialization but it can
be called at any time and several times per request cycle, so it is not
good idea to do your task there too.

The solution you are looking for is wicket-ioc module. It is the base for
@SpringBean and @Inject support in Wicket. It injects serializable proxy
instead of your real DAO/Service/... So it is very cheap for serialization
and doesn't require your real dao/service to be Serializable itself.


On Sun, Nov 25, 2012 at 2:22 PM, Oscar Besga Arcauz obe...@isdefe.eswrote:

  Thanks

 Yes, I can use both methos onInitialize + onRead and onDetach + onSave

 Perhaps I should ask if onInitialize and onDetach are used when component
 is serialized /deserialized on wicket 6

 My plan is to do avoid this

     MyPanel(String id){
         super(id)
         ((MyApplicattion)getApplication()).getDao().getData();
    }

 and turn into this


     MyPanel(String id){
         super(id)
     }

     private transient Dao dao;

     void onCreateOrRead(){
         dao = ((MyApplicattion)getApplication()).getDao();
     }


    void onCreateOrRead(){
         dao = null; // Not necessary
    }


    Oscar Besga Arcauz    

 -Cedric Gatay gata...@gmail.com escribió: -
 Para: users@wicket.apache.org
 De: Cedric Gatay gata...@gmail.com
 Fecha: 25/11/2012  13:36
 Asunto: Re: After/before creation or serialization

 Hi,
 I don't know if there is a special Wicket thing, but you can use the
 standard Java way like this :
     private void writeObject(ObjectOutputStream out) throws IOException {
         //provide your own logic
     }

     private void readObject(ObjectInputStream in) throws IOException,
 ClassNotFoundException {
         //provide your own logic
     }

 Regards,

 __
 Cedric Gatay
 http://www.bloggure.info | http://cedric.gatay.fr |
 @Cedric_Gatayhttp://twitter.com/Cedric_Gatay



 On Sun, Nov 25, 2012 at 1:28 PM, Oscar Besga Arcauz obe...@isdefe.es
 wrote:

 
 
  Hi wickers !
 
  Is there a method on Wicket components that is called before
  creation/load(f.e. from disk, deserialization) and another method called
  before destroy/save(to disk, serialization)
 
  Would it be methods onInitialize()   and onDetach()  of
  org.apache.wicket.Component ?
 
  Thanks !
 
 
     Oscar Besga Arcauz    
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
 
 

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com http://jweekend.com/

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Deploy on production: optimization tip tricks

2012-11-15 Thread Oscar Besga Arcauz
(I respond myself, which is not a good policy )

I've been playing with wicket api, and now I'm doing this



public final static String GOOGLE_URL = 
//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js;

    @Override
    public void init() {
    super.init();


    /*
 ...  
    */



    if (getConfigurationType() == RuntimeConfigurationType.DEPLOYMENT){
    getMarkupSettings().setStripComments(true);
    getMarkupSettings().setCompressWhitespace(true);
    getMarkupSettings().setStripWicketTags(true);
//Use Google CDN
getJavaScriptLibrarySettings().setJQueryReference( new 
UrlResourceReference(Url.parse(GOOGLE_URL)););

    }



    }

   Oscar Besga Arcauz 

-Oscar Besga Arcauz/ISNOTES@ISNOTES escribió: -
Para: users@wicket.apache.org
De: Oscar Besga Arcauz/ISNOTES@ISNOTES
Fecha: 11/11/2012  19:45
Asunto: Deploy on production: optimization tip  tricks

Hi wickers !

Thanks to your previous help, I'm about to launch a website based on wikcet.

I'm making some final optimizations, some general-web-server related; 
as seen in  http://developer.yahoo.com/performance/rules.html or cookie-free 
elements 
http://serverfault.com/questions/234891/how-to-configure-cookieless-virtual-host-in-apache2 .

Other are tomcat related, like gzip compression ( 
http://techxplorer.com/2010/09/17/enabling-gzip-compression-in-tomcat/ and 
http://viralpatel.net/blogs/enable-gzip-compression-in-tomcat/ ) or general 
clues ( http://www.mulesoft.com/tomcat-jsp )

For wicket I've found this slideshare 
http://www.slideshare.net/dashorst/keep-your-wicket-application-in-production

and to use this (bellow) because scripts in this way in various components are 
'crunched' into one script on page renderization:

response.render(OnDomReadyHeaderItem.forScript(foobar)); // Also can use 
OnLoadHeaderItem


Do you havew any other optimization tip  tricks (aplication config, etc.) ?





I'm thinking to write a wiki page summarizing responses, a 'Deployment' section 
... 



       Oscar Besga Arcauz     
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Deploy on production: optimization tip tricks

2012-11-11 Thread Oscar Besga Arcauz
Hi wickers !

Thanks to your previous help, I'm about to launch a website based on wikcet.

I'm making some final optimizations, some general-web-server related; 
as seen in  http://developer.yahoo.com/performance/rules.html or cookie-free 
elements 
http://serverfault.com/questions/234891/how-to-configure-cookieless-virtual-host-in-apache2
 .

Other are tomcat related, like gzip compression ( 
http://techxplorer.com/2010/09/17/enabling-gzip-compression-in-tomcat/ and 
http://viralpatel.net/blogs/enable-gzip-compression-in-tomcat/ ) or general 
clues ( http://www.mulesoft.com/tomcat-jsp )

For wicket I've found this slideshare 
http://www.slideshare.net/dashorst/keep-your-wicket-application-in-production

and to use this (bellow) because scripts in this way in various components are 
'crunched' into one script on page renderization:

response.render(OnDomReadyHeaderItem.forScript(foobar)); // Also can use 
OnLoadHeaderItem


Do you havew any other optimization tip  tricks (aplication config, etc.) ?





I'm thinking to write a wiki page summarizing responses, a 'Deployment' section 
... 



   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket page HTML extractor

2012-10-08 Thread Oscar Besga Arcauz
 
Yes,  I've used code from mail example, as I said. The mail example does not  
fit into my needs because the rendering thread must be independent,  
out-of-request. ( for example into a Timer/TimerTask)

I've been looking into Wicket tester classes  
(http://wicket.apache.org/apidocs/1.5/org/apache/wicket/util/tester/BaseWicketTester.html)
and I've made changes to code.

Luckily,  I've succeed and I got a functional request-independent page 
renderer,  which only dependes on webapp and it's easy to use:

MyAppPageBuffer.java
http://pastebin.com/XJMV8N7d

If you want to see and review it, comments are welcome


   Oscar Besga Arcauz 

Pd. with a little side effect, but I'll talk about it on another mail




-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 08/10/2012  10:00
Asunto: Re: Wicket page HTML extractor

Hi,

Why don't use the source of MailTemplate example
(http://www.wicket-library.com/wicket-examples/mailtemplate) ?

Your code seems to be much more complex.

On Fri, Oct 5, 2012 at 8:02 PM, Oscar Besga Arcauz obe...@isdefe.es wrote:
  Hi wickers !

 I want to generate the HTML from a wicket WebPage and store into a String; 
 out of a request - for example in a timer thread.
 I'm thinking in making a buffer (inter request) for my webapplication for 
 some pages, for this I want to extract HTML-generated content from wicket 
 pages.



 Here  in danwalmsley blog - 
 http://www.danwalmsley.com/2008/10/21/render-a-wicket-page-to-a-string-for-html-email/ -
 and mail template (page-generated) example - 
 http://www.wicket-library.com/wicket-examples/mailtemplate/?0 -
 I've seen some code to build the extractor.

 I've walked some steps, and I think I'm on the rigth direction, but it 
 doesn't work.

 This is the code I've done so far, if anyone knows I'll be graceful for 
 commenting


 class WebPageExtractor

     protected String renderPageToString(WebApplication webApp) {

         String urlForMockRequest = myPage; // I've also tried 
 localhost/myPage and others
         String filterPrefix = ; // Doesn't know what to put here, really. 
 Wicket filter is to *

         //get the servlet context
         ServletContext context = webApp.getServletContext();

         //fake a request/response cycle
         MockHttpSession servletSession = new MockHttpSession(context);
         servletSession.setTemporary(true);

         MockHttpServletRequest mockServletRequest = new 
 MockHttpServletRequest(isdefeWebApp, servletSession, context);
         mockServletRequest.setURL(/ + urlForMockRequest);
         // also tried this 
 mockServletRequest.setURL(mockServletRequest.getContextPath() + 
 mockServletRequest.getServletPath() + /);
         MockHttpServletResponse mockServletResponse = new 
 MockHttpServletResponse(mockServletRequest);

         //initialize request and response
         mockServletRequest.initialize();
         mockServletResponse.initialize();

         // Generate wicket web request and so on..
         Url url = new Url(Arrays.asList(urlForMockRequest), new 
 ArrayListUrl.QueryParameter());

         ServletWebRequest webRequest = new 
 ServletWebRequest(mockServletRequest, filterPrefix, url);
         ServletWebResponse webResponse = new ServletWebResponse(webRequest, 
 mockServletResponse);
         BufferedWebResponse bufferedWebResponse = new 
 BufferedWebResponse(webResponse);

         RequestCycle requestCycle = webApp.createRequestCycle(webRequest, 
 bufferedWebResponse);
         BookmarkablePageRequestHandler bookmarkablePageRequestHandler = new 
 BookmarkablePageRequestHandler(new PageProvider(MyPage.class, new 
 PageParameters()));
         bookmarkablePageRequestHandler.respond(requestCycle);
         // Also tried
         //requestCycle.setResponsePage(MyPage.class,new PageParameters());
         requestCycle.processRequestAndDetach();
         requestCycle.getResponse().close();
         CharSequence cs = bufferedWebResponse.getText(); //NULL!!!
         if (cs != null) {
             return cs.toString();
         } else {
             // CS is always null :(
             return null;
         }
 }


 Thanks for your help and excuse my poor english



    Oscar Besga Arcauz    
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket page HTML extractor

2012-10-08 Thread Oscar Besga Arcauz
I've created a page that responds with the buffer [MyAppPageBuffer]

http://pastebin.com/d3UzajiU


Reviews and comments are wellcomed !
 

   Oscar Besga Arcauz 

-Oscar Besga Arcauz/ISNOTES@ISNOTES escribió: -
Para: users@wicket.apache.org
De: Oscar Besga Arcauz/ISNOTES@ISNOTES
Fecha: 08/10/2012  15:06
Asunto: Re: Wicket page HTML extractor

 
Yes,  I've used code from mail example, as I said. The mail example does not  
fit into my needs because the rendering thread must be independent,  
out-of-request. ( for example into a Timer/TimerTask)

I've been looking into Wicket tester classes  
(http://wicket.apache.org/apidocs/1.5/org/apache/wicket/util/tester/BaseWicketTester.html)
and I've made changes to code.

Luckily,  I've succeed and I got a functional request-independent page 
renderer,  which only dependes on webapp and it's easy to use:

MyAppPageBuffer.java
http://pastebin.com/XJMV8N7d

If you want to see and review it, comments are welcome


       Oscar Besga Arcauz     

Pd. with a little side effect, but I'll talk about it on another mail




-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 08/10/2012  10:00
Asunto: Re: Wicket page HTML extractor

Hi,

Why don't use the source of MailTemplate example
(http://www.wicket-library.com/wicket-examples/mailtemplate) ?

Your code seems to be much more complex.

On Fri, Oct 5, 2012 at 8:02 PM, Oscar Besga Arcauz obe...@isdefe.es wrote:
  Hi wickers !

 I want to generate the HTML from a wicket WebPage and store into a String; 
 out of a request - for example in a timer thread.
 I'm thinking in making a buffer (inter request) for my webapplication for 
 some pages, for this I want to extract HTML-generated content from wicket 
 pages.



 Here  in danwalmsley blog - 
 http://www.danwalmsley.com/2008/10/21/render-a-wicket-page-to-a-string-for-html-email/ -
 and mail template (page-generated) example - 
 http://www.wicket-library.com/wicket-examples/mailtemplate/?0 -
 I've seen some code to build the extractor.

 I've walked some steps, and I think I'm on the rigth direction, but it 
 doesn't work.

 This is the code I've done so far, if anyone knows I'll be graceful for 
 commenting


 class WebPageExtractor

     protected String renderPageToString(WebApplication webApp) {

         String urlForMockRequest = myPage; // I've also tried 
 localhost/myPage and others
         String filterPrefix = ; // Doesn't know what to put here, really. 
 Wicket filter is to *

         //get the servlet context
         ServletContext context = webApp.getServletContext();

         //fake a request/response cycle
         MockHttpSession servletSession = new MockHttpSession(context);
         servletSession.setTemporary(true);

         MockHttpServletRequest mockServletRequest = new 
 MockHttpServletRequest(isdefeWebApp, servletSession, context);
         mockServletRequest.setURL(/ + urlForMockRequest);
         // also tried this 
 mockServletRequest.setURL(mockServletRequest.getContextPath() + 
 mockServletRequest.getServletPath() + /);
         MockHttpServletResponse mockServletResponse = new 
 MockHttpServletResponse(mockServletRequest);

         //initialize request and response
         mockServletRequest.initialize();
         mockServletResponse.initialize();

         // Generate wicket web request and so on..
         Url url = new Url(Arrays.asList(urlForMockRequest), new 
 ArrayListUrl.QueryParameter());

         ServletWebRequest webRequest = new 
 ServletWebRequest(mockServletRequest, filterPrefix, url);
         ServletWebResponse webResponse = new ServletWebResponse(webRequest, 
 mockServletResponse);
         BufferedWebResponse bufferedWebResponse = new 
 BufferedWebResponse(webResponse);

         RequestCycle requestCycle = webApp.createRequestCycle(webRequest, 
 bufferedWebResponse);
         BookmarkablePageRequestHandler bookmarkablePageRequestHandler = new 
 BookmarkablePageRequestHandler(new PageProvider(MyPage.class, new 
 PageParameters()));
         bookmarkablePageRequestHandler.respond(requestCycle);
         // Also tried
         //requestCycle.setResponsePage(MyPage.class,new PageParameters());
         requestCycle.processRequestAndDetach();
         requestCycle.getResponse().close();
         CharSequence cs = bufferedWebResponse.getText(); //NULL!!!
         if (cs != null) {
             return cs.toString();
         } else {
             // CS is always null :(
             return null;
         }
 }


 Thanks for your help and excuse my poor english



    Oscar Besga Arcauz    
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

IFormValidator with ajax

2012-10-05 Thread Oscar Besga Arcauz
 Hi Wickers !

I'm using Wicket.6.0.x and I'm using an IFormValidator as a subclass o a form, 
attached to it by an FormValidatorAdapter.
The form uses a AjaxSubmitLink to send data back.

When it comes to validate method, the model objects of the form and the 
components are null; althougth later into the AjaxSubmitLink .onSubmit the data 
is correctly attached to the models.

¿ Is that supposed to be fine ? ¿ May I use the raw inputs instead of models ?

   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Re: IFormValidator with ajax

2012-10-05 Thread Oscar Besga Arcauz
Ok, it works fine

Thaks !


   Oscar Besga Arcauz 

-Sven Meier s...@meiers.net escribió: -
Para: users@wicket.apache.org
De: Sven Meier s...@meiers.net
Fecha: 05/10/2012  15:01
Asunto: Re: IFormValidator  with ajax

 May I use the raw inputs instead of models ?

You can use the converted input.

Sven

Oscar Besga Arcauz obe...@isdefe.es schrieb:

 Hi Wickers !

I'm using Wicket.6.0.x and I'm using an IFormValidator as a subclass o a form, 
attached to it by an FormValidatorAdapter.
The form uses a AjaxSubmitLink to send data back.

When it comes to validate method, the model objects of the form and the 
components are null; althougth later into the AjaxSubmitLink .onSubmit the 
data is correctly attached to the models.

¿ Is that supposed to be fine ? ¿ May I use the raw inputs instead of models ?

       Oscar Besga Arcauz     
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Wicket page HTML extractor

2012-10-05 Thread Oscar Besga Arcauz
 Hi wickers !

I want to generate the HTML from a wicket WebPage and store into a String; out 
of a request - for example in a timer thread.
I'm thinking in making a buffer (inter request) for my webapplication for some 
pages, for this I want to extract HTML-generated content from wicket pages.



Here  in danwalmsley blog - 
http://www.danwalmsley.com/2008/10/21/render-a-wicket-page-to-a-string-for-html-email/
 -
and mail template (page-generated) example - 
http://www.wicket-library.com/wicket-examples/mailtemplate/?0 -
I've seen some code to build the extractor.

I've walked some steps, and I think I'm on the rigth direction, but it doesn't 
work.

This is the code I've done so far, if anyone knows I'll be graceful for 
commenting


class WebPageExtractor

    protected String renderPageToString(WebApplication webApp) {
    
        String urlForMockRequest = myPage; // I've also tried 
localhost/myPage and others
        String filterPrefix = ; // Doesn't know what to put here, really. 
Wicket filter is to *
        
        //get the servlet context
    ServletContext context = webApp.getServletContext();

    //fake a request/response cycle
    MockHttpSession servletSession = new MockHttpSession(context);
    servletSession.setTemporary(true);

    MockHttpServletRequest mockServletRequest = new 
MockHttpServletRequest(isdefeWebApp, servletSession, context);
    mockServletRequest.setURL(/ + urlForMockRequest);
    // also tried this 
mockServletRequest.setURL(mockServletRequest.getContextPath() + 
mockServletRequest.getServletPath() + /);
    MockHttpServletResponse mockServletResponse = new 
MockHttpServletResponse(mockServletRequest);

    //initialize request and response
    mockServletRequest.initialize();
    mockServletResponse.initialize();

        // Generate wicket web request and so on..
    Url url = new Url(Arrays.asList(urlForMockRequest), new 
ArrayListUrl.QueryParameter());
    
    ServletWebRequest webRequest = new 
ServletWebRequest(mockServletRequest, filterPrefix, url);
    ServletWebResponse webResponse = new ServletWebResponse(webRequest, 
mockServletResponse);
    BufferedWebResponse bufferedWebResponse = new 
BufferedWebResponse(webResponse);

    RequestCycle requestCycle = webApp.createRequestCycle(webRequest, 
bufferedWebResponse);
    BookmarkablePageRequestHandler bookmarkablePageRequestHandler = new 
BookmarkablePageRequestHandler(new PageProvider(MyPage.class, new 
PageParameters()));
    bookmarkablePageRequestHandler.respond(requestCycle);
        // Also tried
    //requestCycle.setResponsePage(MyPage.class,new PageParameters());
    requestCycle.processRequestAndDetach();
    requestCycle.getResponse().close();
    CharSequence cs = bufferedWebResponse.getText(); //NULL!!!
    if (cs != null) {
    return cs.toString();
    } else {
    // CS is always null :(
    return null;
    }
}


Thanks for your help and excuse my poor english



   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Wicket rendering jquery late

2012-09-26 Thread Oscar Besga Arcauz
 Hi wickers !

I've a problem with wicket and jquery resource rendering.

My webpage has many panels wich uses jquery, and they have javascript attached 
to it. 
This panel-dependant javascript uses jquery, so I render jquery with a 
resourcerefernce in the webpage. 
(The page doesn't use ajax because I want to mantain page stateless and 
bookmarkable.)

The problem is that the javascript attached to panel is rendered first into the 
page, and the jquery reference is the last. 
so, when the page fully renders, i've some 'ReferenceError: $ is not defined' 
errors in webrowser console.

¿ Has anyone experienced similar problems ?


Other little question: wicket6 uses jquery 1.7.2; has anyone tried with 1.8.x ?

Thanks in advance


   Oscar Besga Arcauz 


PS. 

Example code (little long) ---

public class MyPage extends WebPage {


public MyPage (PageParameters parameters) {
super(parameters);
add(new MyPageJsBehaviour());
add(new MyPanel(mypanel));
}


private class MyPageJsBehaviour extends Behavior {

@Override
public void renderHead(Component component, IHeaderResponse 
response) {

response.render(JavaScriptHeaderItem.forReference(JQueryResourceReference.get(),jquery));
super.renderHead(component,response);
   }
}

}


public class MyPanel extends Panel {


public MyPanel(String id,String lang) {
super(id);
add(new MyPanelJsBehaviour());
}

private class MyPanelJsBehaviour extends Behavior {

@Override
public void renderHead(Component component, IHeaderResponse 
response) {
super.renderHead(component,response);
response.render(JavaScriptHeaderItem.forReference(new 
JavaScriptResourceReference(MyPanel .class, MyPanel.js),mypaneljs));
/**
//MyPanel.js
$(function () { // -- here arises the error, as $ is not 
defined because MyPanel.js is loaded before jquery !!!
   $('mypanel').dosomething();
});
**/
}
}

}


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket rendering jquery late

2012-09-26 Thread Oscar Besga Arcauz
Ok, thanks

I've done this. althougth the name is horrible

public abstract class JavaScriptJQueryDependantResourceReference extends 
JavaScriptResourceReference {

    public JavaScriptJQueryDependantResourceReference(Class? scope, String 
name, Locale locale, String style, String variation) {
    super(scope, name, locale, style, variation);
    }

    public JavaScriptJQueryDependantResourceReference(Class? scope, String 
name) {
    super(scope, name);
    }

    @Override
    public Iterable? extends HeaderItem getDependencies() {
    
    ListHeaderItem dependencies = new ArrayListHeaderItem();
    Iterable? extends HeaderItem iterable =  super.getDependencies();
    if (iterable != null)
    for(HeaderItem headerItem : iterable)
    dependencies.add(headerItem);    
    
dependencies.add(JavaScriptReferenceHeaderItem.forReference(JQueryResourceReference.get()));
    return dependencies;

    }
}

   Oscar Besga Arcauz 

-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 26/09/2012  13:49
Asunto: Re: Wicket rendering jquery late

Hi,

Wicket 6 introduces dependencies between resources -
http://wicketinaction.com/2012/07/wicket-6-resource-management/
So you can modify your JavaScriptResourceReferences to be
org.apache.wicket.resource.JQueryPluginResourceReference instead. This
way Wicket will be able to calculate the graph.

Wicket 6.0.0 comes with JQuery 1.7.2 but you can upgrade it to 1.8 if
you wish with 
org.apache.wicket.settings.IJavaScriptLibrarySettings#setJQueryReference
I've tried Wicket's JavaScript unit tests with 1.8.0 when it was
released and all was OK.

https://cwiki.apache.org/confluence/display/WICKET/Wicket+Ajax#WicketAjax-HowtocheckwhethermycustomversionofthebackingJavaScriptlibrary%28jQuery%29doesn%27tbreakWicketinternalssomehow%3F

On Wed, Sep 26, 2012 at 2:40 PM, Oscar Besga Arcauz obe...@isdefe.es wrote:
  Hi wickers !

 I've a problem with wicket and jquery resource rendering.

 My webpage has many panels wich uses jquery, and they have javascript 
 attached to it.
 This panel-dependant javascript uses jquery, so I render jquery with a 
 resourcerefernce in the webpage.
 (The page doesn't use ajax because I want to mantain page stateless and 
 bookmarkable.)

 The problem is that the javascript attached to panel is rendered first into 
 the page, and the jquery reference is the last.
 so, when the page fully renders, i've some 'ReferenceError: $ is not defined' 
 errors in webrowser console.

 ¿ Has anyone experienced similar problems ?


 Other little question: wicket6 uses jquery 1.7.2; has anyone tried with 1.8.x 
 ?

 Thanks in advance


    Oscar Besga Arcauz    


 PS.

 Example code (little long) ---

 public class MyPage extends WebPage {


     public MyPage (PageParameters parameters) {
         super(parameters);
         add(new MyPageJsBehaviour());
         add(new MyPanel(mypanel));
     }


     private class MyPageJsBehaviour extends Behavior {

             @Override
             public void renderHead(Component component, IHeaderResponse 
 response) {
                 
 response.render(JavaScriptHeaderItem.forReference(JQueryResourceReference.get(),jquery));
                 super.renderHead(component,response);
            }
     }

 }


 public class MyPanel extends Panel {


     public MyPanel(String id,String lang) {
         super(id);
         add(new MyPanelJsBehaviour());
     }

     private class MyPanelJsBehaviour extends Behavior {

             @Override
             public void renderHead(Component component, IHeaderResponse 
 response) {
                 super.renderHead(component,response);
                 response.render(JavaScriptHeaderItem.forReference(new 
 JavaScriptResourceReference(MyPanel .class, MyPanel.js),mypaneljs));
                 /**
                 //MyPanel.js
                 $(function () { // -- here arises the error, as $ is not 
 defined because MyPanel.js is loaded before jquery !!!
                    $('mypanel').dosomething();
                 });
                 **/
             }
     }

 }


 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Avoid panel's extra div

2012-09-23 Thread Oscar Besga Arcauz
 Hi wickers

I am using a lot of panels in my wicket webapp, with the usual

    add(new MyPanel(myPanel));

    div wicket:id=myPanel!-- here goes wicket panel stuff--/div

But I was thinking if there is a wicket tag that can avoid using the extra 
panel, like

    wicket:panel id=myPanel!-- here goes wicket panel stuff and enclosing  
wicket tag is not present on result page--/wicket

I've tried with wicket:panel, wicket:container, wicket:enclosure with no 
luck... 

I'm wrong or there's a way.. ?

Thanks !!

   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Avoid panel's extra div

2012-09-23 Thread Oscar Besga Arcauz
 Perfect !!!

Thanks !!!

   Oscar Besga Arcauz 

-Sebastien seb...@gmail.com escribió: -
Para: users@wicket.apache.org
De: Sebastien seb...@gmail.com
Fecha: 23/09/2012  16:55
Asunto: Re: Avoid panel's extra div

oops: setRenderBodyOnly(true);

On Sun, Sep 23, 2012 at 4:53 PM, Sebastien seb...@gmail.com wrote:

 Hi Oscar,

 If I understand, the problem is that the div of the parent page is
 rendered, right?
 If so, you can decide to not render the parent component's tag by using
 myPanel.getRenderBodyOnly(true);

 Hope this helps,
 Sebastien.


 On Sun, Sep 23, 2012 at 4:17 PM, Oscar Besga Arcauz obe...@isdefe.eswrote:

  Hi wickers

 I am using a lot of panels in my wicket webapp, with the usual

     add(new MyPanel(myPanel));

     div wicket:id=myPanel!-- here goes wicket panel stuff--/div

 But I was thinking if there is a wicket tag that can avoid using the
 extra panel, like

     wicket:panel id=myPanel!-- here goes wicket panel stuff and
 enclosing  wicket tag is not present on result page--/wicket

 I've tried with wicket:panel, wicket:container, wicket:enclosure with no
 luck...

 I'm wrong or there's a way.. ?

 Thanks !!

    Oscar Besga Arcauz    
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Stateless ajax in wicket 6

2012-09-20 Thread Oscar Besga Arcauz
 Hi wickers

I know thats an old xxx in wicket lands, but I wonder if anyone has done 
something so far...

Or simply make an ajax call to a bookmarable stateless page manually from web 
page

Thanks

   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



New sessions by each petition

2012-09-20 Thread Oscar Besga Arcauz
 
Hi wickers !!!


I'm battling with my application, and now I've noted something weird

I've a custom WebSession class, in which I've coded a (horrible) log to check 
the creation of the new session:

public class WebMySession extends WebSession {

    private static final Logger LOGGER = 
LoggerFactory.getLogger(WebMySession .class);
    
    public WebMySession(Request request) {
    super(request);
    LOGGER.debug(NEW SESSION!);
    }
}


Into my webapp class I do

public class WebMyApplication extends WebApplication {

[...]

    @Override
    public Session newSession(Request request, Response response) {
    return new WebMySession(request);
    }

[...]

}


But when I enter the first time into the app, I see this logged:



12:12:26,133  DEBUG ServletWebRequest:197 - Calculating context relative path 
from:  context path '', filterPrefix '', uri '/imagees/myxyz.jpg'
12:12:26,133 DEBUG WebMySession :24 - NEW SESSION!
12:12:26,133  DEBUG RequestCycle:215 - No suitable handler found for URL  
/imagees/myxyz.jpg, falling back to container to process this request

12:12:26,143  DEBUG ServletWebRequest:197 - Calculating context  relative path 
from:  context path '', filterPrefix '', uri  '/imagees/myxyz2.jpg'
12:12:26,143 DEBUG WebMySession :24 - NEW SESSION!
12:12:26,143  DEBUG RequestCycle:215 - No suitable handler found for URL  
/imagees/myxyz2.jpg, falling back to container to process this request

12:12:26,163  DEBUG ServletWebRequest:197 - Calculating context relative path 
from:  context path '', filterPrefix '', uri  
'/dynimg/id/1340795758750/name/mynewimage.jpg'
12:12:26,163 DEBUG WebIsdefeSession:24 - NEW SESSION!



For  every image, javascript and css that is into the /${webapp} and must be  
served directly from disk; and also from images created from a  DynamicResource

¿ Is this ok or I've done something wrong ? ¿ Why there are so many sessions 
created ?

I've tried with different browsers and the result is the same...

Thanks in advance !

       Oscar Besga Arcauz     


PS: Hope this email is not duplicated, I send one without subject and it 
doesn't appear to be on list

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: New sessions by each petition

2012-09-20 Thread Oscar Besga Arcauz
Ok, i've used sessionbind and works as expected !

Also, I've checked that session is auto-binded when you use statefull 
components - my web tries to stay stateless most time, so this was the cause I 
saw so many 'new session' logs

Thanks !!


   Oscar Besga Arcauz 

-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 20/09/2012  13:49
Asunto: Re: New sessions by each petition

Hi,

This is just a temporary session which is discarded at the end of the request.
Until Session#bind() is called it is considered temporary and no
HttpSession is being created.

On Thu, Sep 20, 2012 at 2:43 PM, Oscar Besga Arcauz obe...@isdefe.es wrote:

 Hi wickers !!!


 I'm battling with my application, and now I've noted something weird

 I've a custom WebSession class, in which I've coded a (horrible) log to check 
 the creation of the new session:

     public class WebMySession extends WebSession {

         private static final Logger LOGGER = 
 LoggerFactory.getLogger(WebMySession .class);

         public WebMySession(Request request) {
             super(request);
             LOGGER.debug(NEW SESSION!);
         }
     }


 Into my webapp class I do

     public class WebMyApplication extends WebApplication {

     [...]

         @Override
         public Session newSession(Request request, Response response) {
             return new WebMySession(request);
         }

     [...]

     }


 But when I enter the first time into the app, I see this logged:



 12:12:26,133  DEBUG ServletWebRequest:197 - Calculating context relative path 
 from:  context path '', filterPrefix '', uri '/imagees/myxyz.jpg'
 12:12:26,133 DEBUG WebMySession :24 - NEW SESSION!
 12:12:26,133  DEBUG RequestCycle:215 - No suitable handler found for URL  
 /imagees/myxyz.jpg, falling back to container to process this request

 12:12:26,143  DEBUG ServletWebRequest:197 - Calculating context  relative 
 path from:  context path '', filterPrefix '', uri  '/imagees/myxyz2.jpg'
 12:12:26,143 DEBUG WebMySession :24 - NEW SESSION!
 12:12:26,143  DEBUG RequestCycle:215 - No suitable handler found for URL  
 /imagees/myxyz2.jpg, falling back to container to process this request

 12:12:26,163  DEBUG ServletWebRequest:197 - Calculating context relative path 
 from:  context path '', filterPrefix '', uri  
 '/dynimg/id/1340795758750/name/mynewimage.jpg'
 12:12:26,163 DEBUG WebIsdefeSession:24 - NEW SESSION!



 For  every image, javascript and css that is into the /${webapp} and must be  
 served directly from disk; and also from images created from a  
 DynamicResource

 ¿ Is this ok or I've done something wrong ? ¿ Why there are so many sessions 
 created ?

 I've tried with different browsers and the result is the same...

 Thanks in advance !

    Oscar Besga Arcauz    


 PS: Hope this email is not duplicated, I send one without subject and it 
 doesn't appear to be on list

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Application instance from outside Wicket Application

2012-09-19 Thread Oscar Besga Arcauz
Maybe if you do a foward from webservice to wicket page...

From other side, you can see Wicket Session classes and data into the normal 
HttpSession (thougth it needs a little navigation)
or you can hook data in normal HttpSession into wicket  classes.

My2cents: I would refactor helpers outside wicket

 

   Oscar Besga Arcauz 

-Martin Grigorov mgrigo...@apache.org escribió: -
Para: users@wicket.apache.org
De: Martin Grigorov mgrigo...@apache.org
Fecha: 18/09/2012  21:42
Asunto: Re: Wicket Application instance from outside Wicket Application

See org.apache.wicket.protocol.http.servlet.WicketSessionFilter

On Tue, Sep 18, 2012 at 9:31 PM, Ernesto Reinaldo Barreiro
reier...@gmail.com wrote:
 Can't the wicket filter be put in from of axis (servlet/filter) so that you
 have a session and application attached to the thread?

 On Tue, Sep 18, 2012 at 6:05 PM, Martin Makundi 
 martin.maku...@koodaripalvelut.com wrote:

 Hi!

 We have Axis web services running in the same Jetty as Wicket.

 Our Axis web services happen to call some wicket helper methods, which
 assume there is a session and application on thread. For localization,
 etc.

 How can our Wreb Service best get hold of the wicket application at
 runtime?


 **
 Martin

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




 --
 Regards - Ernesto Reinaldo Barreiro
 Antilia Soft
 http://antiliasoft.com



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Mounting pages

2012-09-18 Thread Oscar Besga Arcauz
Hi wickers !


I'm using wicket 6, if anyone can help with a problem with mapping pages and 
web resources
I've been reading about it, but I can't find a way to make a web work as I want
+ http://wicketinaction.com/2011/07/wicket-1-5-mounting-pages/
+ http://wicketinaction.com/2011/07/wicket-1-5-request-mapper/
+ https://cwiki.apache.org/confluence/display/WICKET/Request+mapping


I want to have two pages, Page1.class and Page2.class, Page1.class will collect 
every petition, except '/mynews' that will be answered by Page2.class and 
images and other resources (javascript, flash and videos, etc. )

In my WebApplication class, in the init() method, I've tried:

public void init() {
  mount(new MountedMapper(/${parameter1}/#{parameter2},Page1.class)); 
  mount(new MountedMapper(/${parameter1},Page1.class)); 
  mount(new MountedMapper(/myNews, Page2.class));
}

But always answers Page1.class
I've tried the opposite: to mount Page2.class first, and other combinations; 
the result is the same.


¿ anyone knows why ? 


Also, sometimes the url {Page1.class}/var1/var2 is redirected to 
{Page1.class}?parameter1=var1parameter2=var2 this is a thing I hate specially


Thank for your help



   Oscar Besga Arcauz 
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org