System requirements for running wicket app in production

2008-04-10 Thread Oliver Lieven

Hi all,

are there any suggestions or experiences on the (minimum) system/hardware
requirements for running a Wicket based application on a productive system?
Would e.g. a Virtual Server as offered by most hosting providers be powerful
enough to run a Java/Tomcat/Wicket/database application?

I know this cannot be answered in general since it depends on the
application itself (size of app, programmer skills), number of concurrent
users, database, ... and as always: the more - the better. 

But maybe someone already running a Wicket app in production (e.g. from one
of the Sites using Wicket  -
http://cwiki.apache.org/WICKET/sites-using-wicket.html)) can share
information and experiences on this...  (sorry if I've overseen information
on this topic in the docs, Wiki or forum).

Thanks in advance,
Oliver


-- 
View this message in context: 
http://www.nabble.com/System-requirements-for-running-wicket-app-in-production-tp16608729p16608729.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Wicket 1.3 rc1 Relative URLs not working properly

2007-12-04 Thread Oliver Lieven

Hi, I encountered this problem a week ago, too, and digged a little into code
and forum. Here's my summary:

the problem seems to be the /* filter mapping. If you specify a /app/*
filter mapping, relative URLs work just fine.
   
In my base-page-class (all my pages are derived from it through Wicket's
great markup inheritance) my stylesheet is referenced  in the head-section
by a relative reference like

   link rel=stylesheet type=text/css href=style/myapp.css /

Checking the generated HTML in the browser (when using /* filter mapping)
shows that this reference is modified by Wicket, so that it now reads
   
   link rel=stylesheet type=text/css href=../style/myapp.css /

This is an invalid path and addresses a wrong location.

I digged into the code and found that relative stylesheet and image
references where
automatically prepended by ../ by
ServletWebRequest.getRelativePathPrefixToContextRoot().

This seems to work well for the /app/* filter mapping, but fails for /*
(since theres no parent-directory in between to skip)

I currently decided to use the /app/* filter mapping.


Following workarounds came into my mind:

1. use of absolute references like /myapp/style/myapp.css. 
   pro:  works, Wicket doesn't modify the absolute paths
   cons: must code the context-path into all style and image references,
which is a NO GO
   
2. use of /app/* filter mapping
   pro : works
   cons: after having seen the much nicer /* mapping I want to use it :-))
   
3. in HTML it is possible to add a base
href=http://localhost:8080/myapp//
   line into the head section, which is used to resolve all relative
references
   pro : would be great, since it allows the use of relative URLs, and it
must 
 be configured in just one place (the base-page's head section)
 would also be great to use when using a front end server (Apache),
 since references would be resolved to root context
   cons: since Wicket isn't aware of the base tag, relative references
 are still modified and prepended by ../, so no stylesheets/images
were found

4. fix it :-))

Related threads and infos: 
- is it a bug - use of /* filter mapping -
http://www.nabble.com/is-it-a-bug--%28using-beta-4%29-tf4649929.html#a13284326  
  

- Wicket behind a frontend proxy -
http://www.nabble.com/Wicket-behind-a-front-end-proxy-t4776982.html

-
http://cwiki.apache.org/WICKET/best-practices-and-gotchas.html#BestPracticesandGotchas-WicketServletMapping




Jeremy Levy-3 wrote:
 
 WICKET-1205
 
 On Dec 3, 2007 5:16 PM, Jeremy Levy [EMAIL PROTECTED] wrote:
 
 Sorry for now explaining this properly. My application is deployed within
 a context of /1.  The Wicket filter is mapped to /* of the app
 context.

 The first page of the site has url of
 http://www.somehost.com/1/welcomewhere welcome is mounted as a
 bookmarkable page.  There is a link from the
 welcome page to a page that isn't bookmarked.  The relative path of the
 CSS is incorrect on the page that isn't mounted as a bookmarkable page. 
 If
 I make it bookmarkable the path to the CSS its correct.

 I'm going to create a quickstart project to demonstrate it and log a bug.

 J





 On Dec 3, 2007 4:40 PM, Johan Compagner [EMAIL PROTECTED] wrote:

  huh? i must be missing something here.
  you say to the first that it works and to the second that it doesn't
  if /1 is the context then would say the first is broken and the second
  should work.
 
  because the first the url is this:
 
  localhost/css/style.css
 
  but thats outside of the context.
 
  the second it seems to be
 
  localhost/1/css/xxx
 
  and that seems ok then
 
  But it is still strange that those 2 pages give different urls because
  both
  should be css/ as far as i see
  because they are on both on the same level.
 
  Please make a jira issue for this
 
  johan
 
 
 
  On Dec 3, 2007 4:08 PM, Jeremy Levy  [EMAIL PROTECTED] wrote:
 
   The /1 is the web app context.
  
   Change it to ../ breaks it on the pages that were working before.
  
   One thing I noticed is that if I deploy this to a server which has
   mod_proxy
   set up to hide the /1 it seems to work fine.
  
   j
  
   On Dec 3, 2007 4:10 AM, Johan Compagner [EMAIL PROTECTED] 
 wrote:
 
  
and /1/ is your servlyet path?
what happens if you put ../css/style.css in your markup?
   
Because from the normal page that is the css you want i guess?
   
johan
   
   
   
On Dec 2, 2007 11:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote:
   
 I just upgraded to Wicket 1.3, it was remarkably smooth.  It took
   about
6
 hours overall.  Every single thing was explained very well in the
 migration
 guide and the things i was looking forward to in 1.3 are working
 perfectly.

 The only issue I am having is if I have a page this is not
 mounted
  as
   a
 bookmarkable page the relative paths for my stylesheet and other
resources
 are written out incorrect.  Below are examples for the same page
  

How to determine absolute URL of a mounted page?

2007-11-23 Thread Oliver Lieven

Hi,

is there a way to determine the complete, absolute URL to a mounted page
(including protocol, host, port, application, filter and destination page)?
I need this to be able to send a link to a Registration-Confirmation page to
a user via email. 

I searched the forum already, but didn't find a working solution. All I
found were messages saying that since Wicket 1.3 all URLs are relative.
Reading the JavaDoc I also found various urlFor() and getRelativePath...()
methods, all returning relative paths.

What I would need is a method with a signature similar to

url = getAbsolutePath(Request request, Class pageClass, PageParameters
parameters)

which returns an url like 
http://localhost:8080/myapp/app/page-alias?...params...

Thanks for any hints on this,
Oliver

-- 
View this message in context: 
http://www.nabble.com/How-to-determine-absolute-URL-of-a-mounted-page--tf4864119.html#a13919803
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: How to determine absolute URL of a mounted page?

2007-11-23 Thread Oliver Lieven

Hi Sebastiaan,

thanks for your answer. Excellent point on potential problems when using
clusters, firewalls and proxies (I run into those already).

I also thought on providing the URLs in a configuration file/spring config,
but feared there might be a simple and preferred Wicket way to determine
the URLs. 

Thanks alot,
Oliver







Sebastiaan van Erk wrote:
 
 What's wrong with putting this in a configuration file or just a 
 constant. Because in general this does not really work.
 
 For example, your web server may be behind a proxy or firewall, it may 
 be clustered (and thus you have many machines instead of just one and 
 they can't all have the same hostname), they may be running on a port  
 1024 because of security concerns, with the firewall redirecting traffic 
 on port 80 to the webserver.
 
 Personally I use spring and generally put the hostname/port combination 
 in a properties file which spring uses to inject it into the application 
 class. I have different properties files for dev and production which 
 are activated by different maven profiles.
 
 However if you really want to do this (which I don't advise) you can use 
 the HttpServletRequest to find your information using:
 
   getWebRequestCycle().getWebRequest().getHttpServletRequest()
 
 Regards,
 Sebastiaan
 
 Oliver Lieven wrote:
 Hi,
 
 is there a way to determine the complete, absolute URL to a mounted page
 (including protocol, host, port, application, filter and destination
 page)?
 I need this to be able to send a link to a Registration-Confirmation page
 to
 a user via email. 
 
 I searched the forum already, but didn't find a working solution. All I
 found were messages saying that since Wicket 1.3 all URLs are relative.
 Reading the JavaDoc I also found various urlFor() and
 getRelativePath...()
 methods, all returning relative paths.
 
 What I would need is a method with a signature similar to
 
 url = getAbsolutePath(Request request, Class pageClass,
 PageParameters
 parameters)
 
 which returns an url like 
 http://localhost:8080/myapp/app/page-alias?...params...
 
 Thanks for any hints on this,
 Oliver
 
 
  
 

-- 
View this message in context: 
http://www.nabble.com/How-to-determine-absolute-URL-of-a-mounted-page--tf4864119.html#a13920421
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Refreshing components with new data w/o altering the backing model

2007-10-23 Thread Oliver Lieven

Hi,

two week ago I had a similar problem (see Thread
AutoCompleteTextfield---how to populate two input fields -
tf4592192.html#a13166291)

The solution was to have an autocomplete-list attached to the zipcode and
the city-field. The list shows the valid zipcode-city combinations for the
zipcode/city entered so far. When the user chooses an entry from the list,
both fields are filled accordingly.

To achieve this the AutoCompleteTextField's behavior was modified so that it
is able to update two fields at once from the user's selection (with
different values). In that way, entering the data occurs in the browser
only, the model remains untouched until the user submits the form. (Indeed,
a slightly different approach, but works great).

regards,
Oliver



Matej Knopp-2 wrote:
 
 I think what you could try (though it would be a nasty hack :) ) is to
 set rawInput property on FormComponent. However, you'll need some
 introspection to do that, as it is private and we don't plan to
 provide an accessor for it :)
 
 -Matej
 
 On 10/23/07, karthik Guru [EMAIL PROTECTED] wrote:
 I have a form like this -

 Name:  [.]
 Zip:  [.]
 City: [.]
 State:   [.]

 [Save]

 On filling the zip i want to auto populate the city and state. I can
 attach
 a AjaxFormComponentUpdatingBehavior to the zip field and do this. But I
 don't want to update the zip model, so i plan to have my version of
 AjaxFormComponentUpdatingBehavior and 'not' update the model. I can
 possibly
 get the user entered value from the convertedInput.

 But I don't want to want to update the city and the state model either to
 auto-populate the fields.

 Basically I want to hold off on the model updates until somebody clicks
 the
 save button.

 Can i set the converted input on a component and get it to refresh
 through
 Ajax?
 I know that I can do this through javascript ($(fieldId).value = ''blah
 blah')and add it to AjaxTarget. But i was wondering if i can just work
 with
 components (do setConvertedInput / something) and then add it to
 Ajaxtarget
 and make it work?

 -- karthik --

 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/Refreshing-components-with-new-data-w-o-altering-the-backing-model-tf4675439.html#a13359783
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Quick follow-up

2007-10-23 Thread Oliver Lieven

Hi,

what about using products.setOutputMarkupId(true) ? 

regards,
Oliver


Martijn Dashorst wrote:
 
 Is the products a repeater (ListView, RepeatingView, DataView)? Then
 it doesn't have its own markup (see for instance
 http://cwiki.apache.org/WICKET/how-to-repaint-a-listview-via-ajax.html).
 
 Martijn
 
 On 10/23/07, JohannesK [EMAIL PROTECTED] wrote:

 I managed to solve that problem, but i still cannot get the markup id to
 show
 up in my div.

 These two calls:
 products.setMarkupId(productlist+item.getIndex());
 products.setOutputMarkupPlaceholderTag(true);

 don't seem to do anything. I can change the class of the div just fine
 with
 a SimpleAttributeModifier, but for the div id i can't get it to work.
 --
 View this message in context:
 http://www.nabble.com/Wicket-id-vs.-markup-id-%28wicket-1.3.0-beta4%29-tf4677248.html#a13364719
 Sent from the Wicket - User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


 
 
 -- 
 Buy Wicket in Action: http://manning.com/dashorst
 Apache Wicket 1.3.0-beta4 is released
 Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta4/
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/Wicket-id-vs.-markup-id-%28wicket-1.3.0-beta4%29-tf4677248.html#a13365854
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: AutoCompleteTextfield - how to populate two input fields

2007-10-11 Thread Oliver Lieven

Hi,

thanks for your answer.

No, solution didn't work as supposed, mainly because the AutoComplete fills
the input field in the browser with the data (in my case either zipcode or
city), but doesn't update the model.

To update the model I have to attach some Ajax...Behavior, but this is
called with the data put into the textfield (i.e. either the selected
zipcode put into the zipcode field by the autocomplete, *or* the selected
city from the city field). In the Ajax...Behavior's onUpdate()-method
neither the city nor the zipcode are enough to determine the value to use to
update the related field.

So I had two other ideas:

1. in my autocomplete-list I set the textvalue to the id of a
zipcode-city combination. When the user selects from the
autocomplete-list, this id is written into the corresponding input-field.
The attached AjaxOnChangeBehavior now gets this id, determines the
zipcode-city, and updates the city and the zipcode field. This works, but
looks a little strange to the user (e.g. selection of 71254 Ditzingen from
autocomplete-list writes the id (1223) into the zipcode-field, this issues
the Ajax-call, which updates both fields with the correct data, i.e.
zipcode=71254, city=Ditzingen). As I said, works but not pretty.

2. So I'm currently extended the AutoCompleteTextField, ...Renderer,
...Behavior, ..JavaScript to accept a second, related field in its
constructor. I then attach two attributes to the autocomplete-list entries
(say textvalue and textvalue2), and modified the JavaScript to update both
fields. This seems to me the best approach to my specific problem, and seems
to work as intended.

Hope my answer was not to confusing...
regards,
Oliver


German Morales wrote:
 
 Hi,
 
 Sorry, i'm a little late with my response.
 Did the suggestion by Nino work?
 
 If it works, i would like to know more details about it.
 
 If not, we already had a somehow similar problem (Swiss addresses), and we
 have a different solution already working. Perhaps it can help you too.
 
 Regards,
 
 German
 
 
 It seems that Nino Saturnino Martinez Vazquez Wael wrote:
 NP, waiting with excitement to hear if it works:)

 Oliver Lieven wrote:
 Thanks allot for your efforts and detailed answer! Sounds good, I'll
 give it
 a try.


 Nino.Martinez wrote:

 No what I meant was that when a user selects something in one  of your
 auto complete fields  they'll automatickly select something in both,
 might have been a little scares on information:

 IModel commonModel=new Model();


 AbstractModel() Text=new AbstractModel(){

 getObject{
 return commonModel.getObject.Text;
 }
 setObject(obj){
 commonModel.setObject(obj)
 }

 }


 AbstractModel() name=new AbstractModel(){

 getObject{
 return commonModel.getObject.name;
 }
 setObject(obj){
 commonModel.setObject(obj)
 }

 }



 AutoCompleteTextField phoneName = new AutoCompleteTextField(
 phoneName, name,
 new BestEffortRendererAutoCompleteRenderer()) {
 @Override
 protected Iterator getChoices(String input) {

 return findItems(input);
 }
 };


 AutoCompleteTextField phoneSeries = new AutoCompleteTextField(
 phoneName, text,
 new BestEffortRendererAutoCompleteRenderer()) {
 @Override
 protected Iterator getChoices(String input) {

 return findItems(input);
 }
 };

 And ofcourse you need to add the other completefield to the
 ajaxresponse...

 Hope this pseudo code works a little better... Was on my way out the
 door before...


 Oliver Lieven wrote:

 Hi Nino,
 thanks for your fast reply. Yes, a shared PropertyModel would help to
 keep
 both fields synchronized.

 I still can't see how this could help me to determine the value
 selected
 by
 the user.
 The AutoComplete works like

 1. getChoices() is called to populate the autocomplete list with my
 zipcode
 - city options
 2. when user selects a value from the autocomplete list, the
 corresponding
 field is set with the textvalue (e.g. the 'city' field is filled
 with
 the
 city's name)
 3. because of this update, the city-field's
 AjaxFormComponentUpdatingBehavior.onUpdate() is called
 4. in onUpdate() the getConvertedInput() method returns the city name,
 which
 is insufficient to determine the corresponding zipcode (because of the
 n:1
 relation (city may have many zipcodes)).

 So I'm still looking for a way to determine the exact combination
 selected
 by the user...

 regards,
 Oliver


 Nino.Martinez wrote:


 Quick answer, why not use property models and use both in the fiields
 you mention?

 Oliver Lieven wrote:


 Hi,

 in an address edit panel I've got the two AutoCompleteText fields
 'zipcode'
 and 'city'.

 When a users begins typing into the zipcode-field, the autocomplete
 shows
 up
 and offers valid zipcode - city combinations. After selecting a
 value
 from
 the autocomplete the 'zipcode' is set. Same

Re: AutoCompleteTextfield - how to populate two input fields

2007-10-11 Thread Oliver Lieven

Hi German,

thanks for your offer, would be great if you could send me your code.

BTW, in the meantime I got my 2nd approach working, too. I've got the two
separate textfields, each of them showing the zipcode - city autocomplete
lists when data is entered. After selecting from the autocomplete list, both
fields are updated correctly! 

Regards,
Oliver 



German Morales wrote:
 
 Hi again,
 
 Yes, we have something similar to what you describe in your point 2.
 
 The only difference is that we have other structure. What we have is the
 following:
 
 -Each locality has an internal ID, a Zip Code, a City and a (swiss)
 kanton.
 
 -in the html we have a Hidden, which stores the internal ID, and 1 (only)
 TextField, which shows Zip Code + City + Canton (For example: 8052
 Seebach, ZH).
 
 -then we have an extension as you mention (AutoCompleteTextField,
 Renderer, Behavior, JavaScript), which is already working with this
 schema. It also contains many fixes over the original
 autocompletetextfield (perhaps originated from the extra behavior?).
 
 If this approach is good for you, i can send you our version, plus some
 example usages.
 
 Regards,
 
 German
 
 
 It seems that Oliver Lieven wrote:

 Hi,

 thanks for your answer.

 No, solution didn't work as supposed, mainly because the AutoComplete
 fills
 the input field in the browser with the data (in my case either zipcode
 or
 city), but doesn't update the model.

 To update the model I have to attach some Ajax...Behavior, but this is
 called with the data put into the textfield (i.e. either the selected
 zipcode put into the zipcode field by the autocomplete, *or* the selected
 city from the city field). In the Ajax...Behavior's onUpdate()-method
 neither the city nor the zipcode are enough to determine the value to use
 to
 update the related field.

 So I had two other ideas:

 1. in my autocomplete-list I set the textvalue to the id of a
 zipcode-city combination. When the user selects from the
 autocomplete-list, this id is written into the corresponding input-field.
 The attached AjaxOnChangeBehavior now gets this id, determines the
 zipcode-city, and updates the city and the zipcode field. This works, but
 looks a little strange to the user (e.g. selection of 71254 Ditzingen
 from
 autocomplete-list writes the id (1223) into the zipcode-field, this
 issues
 the Ajax-call, which updates both fields with the correct data, i.e.
 zipcode=71254, city=Ditzingen). As I said, works but not pretty.

 2. So I'm currently extended the AutoCompleteTextField, ...Renderer,
 ...Behavior, ..JavaScript to accept a second, related field in its
 constructor. I then attach two attributes to the autocomplete-list
 entries
 (say textvalue and textvalue2), and modified the JavaScript to update
 both
 fields. This seems to me the best approach to my specific problem, and
 seems
 to work as intended.

 Hope my answer was not to confusing...
 regards,
 Oliver


 German Morales wrote:

 Hi,

 Sorry, i'm a little late with my response.
 Did the suggestion by Nino work?

 If it works, i would like to know more details about it.

 If not, we already had a somehow similar problem (Swiss addresses), and
 we
 have a different solution already working. Perhaps it can help you too.

 Regards,

 German


 It seems that Nino Saturnino Martinez Vazquez Wael wrote:
 NP, waiting with excitement to hear if it works:)

 Oliver Lieven wrote:
 Thanks allot for your efforts and detailed answer! Sounds good, I'll
 give it
 a try.


 Nino.Martinez wrote:

 No what I meant was that when a user selects something in one  of
 your
 auto complete fields  they'll automatickly select something in both,
 might have been a little scares on information:

 IModel commonModel=new Model();


 AbstractModel() Text=new AbstractModel(){

 getObject{
 return commonModel.getObject.Text;
 }
 setObject(obj){
 commonModel.setObject(obj)
 }

 }


 AbstractModel() name=new AbstractModel(){

 getObject{
 return commonModel.getObject.name;
 }
 setObject(obj){
 commonModel.setObject(obj)
 }

 }



 AutoCompleteTextField phoneName = new AutoCompleteTextField(
 phoneName, name,
 new BestEffortRendererAutoCompleteRenderer()) {
 @Override
 protected Iterator getChoices(String input) {

 return findItems(input);
 }
 };


 AutoCompleteTextField phoneSeries = new AutoCompleteTextField(
 phoneName, text,
 new BestEffortRendererAutoCompleteRenderer()) {
 @Override
 protected Iterator getChoices(String input) {

 return findItems(input);
 }
 };

 And ofcourse you need to add the other completefield to the
 ajaxresponse...

 Hope this pseudo code works a little better... Was on my way out the
 door before...


 Oliver Lieven wrote:

 Hi Nino,
 thanks for your fast reply. Yes, a shared PropertyModel would help
 to
 keep
 both fields

Re: AutoCompleteTextfield - how to populate two input fields

2007-10-09 Thread Oliver Lieven

Hi Nino,
thanks for your fast reply. Yes, a shared PropertyModel would help to keep
both fields synchronized.

I still can't see how this could help me to determine the value selected by
the user. 
The AutoComplete works like

1. getChoices() is called to populate the autocomplete list with my zipcode
- city options
2. when user selects a value from the autocomplete list, the corresponding
field is set with the textvalue (e.g. the 'city' field is filled with the
city's name)
3. because of this update, the city-field's
AjaxFormComponentUpdatingBehavior.onUpdate() is called
4. in onUpdate() the getConvertedInput() method returns the city name, which
is insufficient to determine the corresponding zipcode (because of the n:1
relation (city may have many zipcodes)).

So I'm still looking for a way to determine the exact combination selected
by the user...

regards,
Oliver


Nino.Martinez wrote:
 
 Quick answer, why not use property models and use both in the fiields 
 you mention?
 
 Oliver Lieven wrote:
 Hi,

 in an address edit panel I've got the two AutoCompleteText fields
 'zipcode'
 and 'city'.

 When a users begins typing into the zipcode-field, the autocomplete shows
 up
 and offers valid zipcode - city combinations. After selecting a value
 from
 the autocomplete the 'zipcode' is set. Same for 'city' field, i.e. after
 selecting a zipcode - city from the city's autocomplete the
 city-field
 is set accordingly.
 (Thanks for the great autocomplete-support in Wicket which allows
 separation
 of displayvalue and textvalue!)

 Now to my question: after selection of a zipcode - city combination
 from
 either autocomplete list I would like to set both fields (zipcode and
 city).
 I already attached an AjaxFormComponentUpdatingBehavior which gets called
 after a selection in the autocomplete list, but it just gets the
 zipcode/city currently set.
 Since the zipcode-city relation is 1:n (e.g. Berlin has many zipcodes)
 I'm
 wondering if there is a way to access the full selected value (and not
 only
 the AbstractAutoCompleteTextRenderer.textvalue set).


 Thanks for any help and tips!
 Oliver


   
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/AutoCompleteTextfield---how-to-populate-two-input-fields-tf4592192.html#a13109927
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: AutoCompleteTextfield - how to populate two input fields

2007-10-09 Thread Oliver Lieven

Thanks allot for your efforts and detailed answer! Sounds good, I'll give it
a try.


Nino.Martinez wrote:
 
 No what I meant was that when a user selects something in one  of your 
 auto complete fields  they'll automatickly select something in both, 
 might have been a little scares on information:
 
 IModel commonModel=new Model();
 
 
 AbstractModel() Text=new AbstractModel(){
 
 getObject{
 return commonModel.getObject.Text;
 }
 setObject(obj){
 commonModel.setObject(obj)
 }
 
 }
 
 
 AbstractModel() name=new AbstractModel(){
 
 getObject{
 return commonModel.getObject.name;
 }
 setObject(obj){
 commonModel.setObject(obj)
 }
 
 }
 
 
 
 AutoCompleteTextField phoneName = new AutoCompleteTextField(
 phoneName, name,
 new BestEffortRendererAutoCompleteRenderer()) {
 @Override
 protected Iterator getChoices(String input) {
 
 return findItems(input);
 }
 };
 
 
 AutoCompleteTextField phoneSeries = new AutoCompleteTextField(
 phoneName, text,
 new BestEffortRendererAutoCompleteRenderer()) {
 @Override
 protected Iterator getChoices(String input) {
 
 return findItems(input);
 }
 };
 
 And ofcourse you need to add the other completefield to the
 ajaxresponse...
 
 Hope this pseudo code works a little better... Was on my way out the 
 door before...
 
 
 Oliver Lieven wrote:
 Hi Nino,
 thanks for your fast reply. Yes, a shared PropertyModel would help to
 keep
 both fields synchronized.

 I still can't see how this could help me to determine the value selected
 by
 the user. 
 The AutoComplete works like

 1. getChoices() is called to populate the autocomplete list with my
 zipcode
 - city options
 2. when user selects a value from the autocomplete list, the
 corresponding
 field is set with the textvalue (e.g. the 'city' field is filled with
 the
 city's name)
 3. because of this update, the city-field's
 AjaxFormComponentUpdatingBehavior.onUpdate() is called
 4. in onUpdate() the getConvertedInput() method returns the city name,
 which
 is insufficient to determine the corresponding zipcode (because of the
 n:1
 relation (city may have many zipcodes)).

 So I'm still looking for a way to determine the exact combination
 selected
 by the user...

 regards,
 Oliver


 Nino.Martinez wrote:
   
 Quick answer, why not use property models and use both in the fiields 
 you mention?

 Oliver Lieven wrote:
 
 Hi,

 in an address edit panel I've got the two AutoCompleteText fields
 'zipcode'
 and 'city'.

 When a users begins typing into the zipcode-field, the autocomplete
 shows
 up
 and offers valid zipcode - city combinations. After selecting a value
 from
 the autocomplete the 'zipcode' is set. Same for 'city' field, i.e.
 after
 selecting a zipcode - city from the city's autocomplete the
 city-field
 is set accordingly.
 (Thanks for the great autocomplete-support in Wicket which allows
 separation
 of displayvalue and textvalue!)

 Now to my question: after selection of a zipcode - city combination
 from
 either autocomplete list I would like to set both fields (zipcode and
 city).
 I already attached an AjaxFormComponentUpdatingBehavior which gets
 called
 after a selection in the autocomplete list, but it just gets the
 zipcode/city currently set.
 Since the zipcode-city relation is 1:n (e.g. Berlin has many zipcodes)
 I'm
 wondering if there is a way to access the full selected value (and not
 only
 the AbstractAutoCompleteTextRenderer.textvalue set).


 Thanks for any help and tips!
 Oliver


   
   
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



 

   
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/AutoCompleteTextfield---how-to-populate-two-input-fields-tf4592192.html#a13111019
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AutoCompleteTextfield - how to populate two input fields

2007-10-08 Thread Oliver Lieven

Hi,

in an address edit panel I've got the two AutoCompleteText fields 'zipcode'
and 'city'.

When a users begins typing into the zipcode-field, the autocomplete shows up
and offers valid zipcode - city combinations. After selecting a value from
the autocomplete the 'zipcode' is set. Same for 'city' field, i.e. after
selecting a zipcode - city from the city's autocomplete the city-field
is set accordingly.
(Thanks for the great autocomplete-support in Wicket which allows separation
of displayvalue and textvalue!)

Now to my question: after selection of a zipcode - city combination from
either autocomplete list I would like to set both fields (zipcode and city).
I already attached an AjaxFormComponentUpdatingBehavior which gets called
after a selection in the autocomplete list, but it just gets the
zipcode/city currently set.
Since the zipcode-city relation is 1:n (e.g. Berlin has many zipcodes) I'm
wondering if there is a way to access the full selected value (and not only
the AbstractAutoCompleteTextRenderer.textvalue set).


Thanks for any help and tips!
Oliver


-- 
View this message in context: 
http://www.nabble.com/AutoCompleteTextfield---how-to-populate-two-input-fields-tf4592192.html#a13109510
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Given a Page subclass and its PageParameters, how to determine the URL string?

2007-08-16 Thread Oliver Lieven

Hi,

I'm doing this by mounting an alias-name to the page in the application's
init()-method by calling 

WebApplication.mountBookmarkablePage(
  java.lang.String path,java.lang.Class bookmarkablePageClass) 

e.g. mountBookmarkablePage(verifyEmail, VerifyEmailPage.class)

Then you can send an email with a link like
www.yourapp.com/verifyEmail?...params ...

Regards,
Oliver


Justin Morgan (Logic Sector) wrote:
 
 Hi,
 
 (I've poked around the Wicket mailing list archives and FAQ and  
 haven't seen an obvious solution for this.)
 
 My question:
 How do I to determine in advance what the encrypted URL string of a  
 page (plus its parameters) will be?  In case it matters, I'm using  
 CryptedUrlWebRequestCodingStrategy.
 
 The reason for the question:
 I've created a rudimentary VerifyEmailPage in my app that takes an  
 email address as a page parameter.  A URL string will be put in an  
 email message and sent to a user when that user creates an account.   
 (The URL string accesses the VerifyEmailPage.)  The user then clicks  
 on the URL in the email in order to validate the email address.  I  
 need a way to determine what that URL should be (so I can send the  
 URL to them).
 
 Thanks for any info,
 
 Justin
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-- 
View this message in context: 
http://www.nabble.com/Given-a-Page-subclass-and-its-PageParameters%2C-how-to-determine-the-URL-string--tf4278204.html#a12177813
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]