Re: log4j question with wicket

2009-07-24 Thread McIlwee, Craig
I doubt this is a wicket problem, I can redirect all logging for each of my 
wars to their own file with no trouble.  

First, what slf4j implementation are you using?  

Second, have a look at this page: 
http://www.jboss.org/community/wiki/Log4jRepositorySelector.  I know that its 
for JBoss, but I image it should work for you also since JBoss is built on top 
of tomcat.  In JBoss 4.2.3 and lower I was able to use log4j sandbox alpha 3, 
which had a similar implementation of the repository selector that could work 
based on JNDI context or context classloader.  Good luck finding that jar 
though, it's damn near impossible, you may have to download from apache's SVN 
and build it yourself.  In JBoss 5+ the deployment structure changed and I now 
have to use a customized version of the class at the link above, works just 
fine.

Craig
Open Roads Consulting, Inc.
757-546-3401
http://www.openroadsconsulting.com
  _  

From: pieter claassen [mailto:pie...@claassen.co.uk]
To: users@wicket.apache.org
Sent: Fri, 24 Jul 2009 05:04:03 -0400
Subject: Re: log4j question with wicket

There seems to be something broken in wicket here.
  
  Logger.getRootLogger().info("AUTHPAGE REQUESTED");
  
  This does log to my log file, but for some reason the following code still
  just logs to the console in tomcat. I have converted tomcat to use log4j and
  can print tomcat debug into to a file.
  
  log4j.category.org.apache.wicket.protocol.http.RequestLogger=INFO
  
  Any ideas?
  
  Thanks,
  Pieter
  
  On Fri, Jul 24, 2009 at 9:22 AM, pieter claassen wrote:
  
  > I am trying to get my application to log to a separate file with the
  > following log4j.properties (server is tomcat6 in netbeans). I enabled the
  > following in my wicketapplication.
  >
  > getRequestLoggerSettings().setRequestLoggerEnabled(true);
  >
  > What I find is that catalina.{date}.out logs the requests correctly, but I
  > get tomcat startup info in my logfile and then nothing else.
  >
  > Any ideas?
  >
  > Thanks,
  > Pieter
  >
  > /var/log/webapp/application.log
  > 
  >
  > 2009-07-24 09:21:28,052 INFO  - ContextLoader  - Root
  > WebApplicationContext: initialization started
  > 2009-07-24 09:21:28,082 INFO  - XmlWebApplicationContext   - Refreshing
  > org.springframework.web.context.support.xmlwebapplicationcont...@1077092:
  > display name [Root WebApplicationContext]; startup date [Fri Jul 24 09:21:28
  > CEST 2009]; root of context hierarchy
  > 2009-07-24 09:21:28,134 INFO  - XmlBeanDefinitionReader- Loading XML
  > bean definitions from ServletContext resource
  > [/WEB-INF/WicketApplicationDefinition.xml]
  > 2009-07-24 09:21:28,555 INFO  - XmlWebApplicationContext   - Bean factory
  > for application context
  > [org.springframework.web.context.support.xmlwebapplicationcont...@1077092]:
  > org.springframework.beans.factory.support.defaultlistablebeanfact...@1ab5e0b
  > 2009-07-24 09:21:28,582 INFO  - DefaultListableBeanFactory -
  > Pre-instantiating singletons in
  > 
org.springframework.beans.factory.support.defaultlistablebeanfact...@1ab5e0b:
  > defining beans [myDataSource,appConfig,WicketApplication]; root of factory
  > hierarchy
  > 2009-07-24 09:21:29,172 INFO  - ContextLoader  - Root
  > WebApplicationContext: initialization completed in 1120 ms
  >
  >
  > log4j.properties
  > ==
  > log4j.rootLogger=INFO, file
  >
  > log4j.appender.file=org.apache.log4j.RollingFileAppender
  > log4j.appender.file.maxFileSize=100KB
  > log4j.appender.file.maxBackupIndex=5
  > log4j.appender.file.File=/var/log/${application.name}/application.log
  > log4j.appender.file.layout=org.apache.log4j.PatternLayout
  > log4j.appender.file.layout.ConversionPattern=%d %-5p - %-26.26c{1} - %m\n
  >
  >
  > log4j.catagory.org.apache.wicket.protocol.http.RequestLogger=INFO
  > log4j.logger.org.apache.wicket=INFO
  > log4j.logger.org.apache.wicket.protocol.http.HttpSessionStore=INFO
  > log4j.logger.org.apache.wicket.version=INFO
  > log4j.logger.org.apache.wicket.RequestCycle=INFO
  >
  > --
  > Pieter Claassen
  >
  >
  
  
  -- 
  Pieter Claassen
  musmato.com


Re: same data set shows for all users

2009-09-16 Thread McIlwee, Craig
You do realize that there is a single instance of the Application, not one per 
user, right?  Your application holds an OrderDatabase and whenever a user 
enters a new date range they are altering the contents of the Map in that 
OrderDatabase.  So user A sets a date range and fetch is called, updating the 
single OrderDatabase.  User B logs in and his OrderDataProvider pulls items 
from the same OrderDatabase instance.  You need to have an instance of this per 
user in the session instead of a single instance in the application.  Or better 
would probably be to put it in the HomePage or somewhere else.

Craig
Open Roads Consulting, Inc.
757-546-3401
http://www.openroadsconsulting.com
  _  

From: jcinit [mailto:ran...@goodsmillwork.com]
To: users@wicket.apache.org
Sent: Wed, 16 Sep 2009 15:46:59 -0400
Subject: Re: same data set shows for all users


  Okay.  I'm reading about models, but no progress yet.  Abridged code
  attached.  http://www.nabble.com/file/p25479235/CodeSample.java
  CodeSample.java  
  
  
  
  jthomerson wrote:
  > 
  > You're not using models properly, but there's no way we can help without
  > seeing code.
  > 
  > --
  > Jeremy Thomerson
  > http://www.wickettraining.com
  > 
  > 
  > 
  > On Wed, Sep 9, 2009 at 4:18 PM, Randy  wrote:
  > 
  >>
  >> I have my first wicket application running which allows the user to
  >> specify
  >> a date range and see a list of items from a database.  The problem is
  >> that
  >> all users see the same set of items for the same date range.  User A
  >> enters
  >> Tuesday through Friday, and user B runs the app and sees the same data
  >> set.
  >> User B changes the range and user A sees it as well.  The app is based on
  >> the wicket repeater examples, and there are JDBC calls in the equivalent
  >> of
  >> ContactsDatabase.java.  Looking for suggestions on what to look into to
  >> give
  >> each user their own data set.(using Tomcat 6; Derby DB; Wicket 1.4; a
  >> little Wicket Stuff)
  >>
  >>
  >>
  >>
  >> -
  >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  >> For additional commands, e-mail: users-h...@wicket.apache.org
  >>
  > 
  > 
  
  -- 
  View this message in context: 
http://www.nabble.com/same-data-set-shows-for-all-users-tp25373324p25479235.html
  Sent from the Wicket - User mailing list archive at Nabble.com.
  
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: AjaxRequestTarget javascript execution order

2009-10-10 Thread McIlwee, Craig
Have you tried prependJavascript(String) instead of append?  Javadoc:

"Adds javascript that will be evaluated on the client side before components 
are replaced"

Sounds like what you're looking for if I'm understanding your question 
correctly.

Craig
  _  

From: Daniele Dellafiore [mailto:ilde...@gmail.com]
To: users@wicket.apache.org
Sent: Sat, 10 Oct 2009 07:51:27 -0400
Subject: AjaxRequestTarget javascript execution order

Hi.
  
  In my application I want to execute some javascript on a component
  that is going to be removed when a parent component is refreshed
  causing him to be removed from DOM.
  
  What happens is that DOM is refreshed before the script added vua
  target.appendJavascript(mySCript) is executed. So myScript does not
  find the old component.
  
  I have looked the AjaxRequestTarget.respond(final RequestCycle
  requestCycle) and I have seen that the onDomreadyJavascript is added
  before the appendJavascript. Is this relevant? I guess that the js
  code that refresh DOM is executed even before the onDomReadyJs, right?
  
  So how may I execute some custom javascript on a AjaxRequestTarget
  that also add a component to be refreshed via ART.addComponent() so
  that my custom js is executed before the DOM is modified?
  
  -- 
  Daniele Dellafiore
  http://blog.ildella.net
  http://twitter.com/ildella
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: how to inject arbitrary javascript code to a component markup?

2009-10-10 Thread McIlwee, Craig
If your component is a MarkupContainer you can override 
getAssociatedMarkupStream(boolean) and build the markup on the fly.  So maybe 
still have the HTML file that you read in as a template with some place holder 
string and in the override you replace the place holder with stuff you want to 
be assigned to the data variable.  Then use a StringResourceStream to create a 
MarkupResourceStream, use SimpleMarkupLoader to create a Markup instance from 
the MarkupResourceStream, and finally create a MarkupStream with your Markup 
instance.

One thing to note is that if your markup container has child components that 
will be updated via AJAX AND you don't have an HTML file (you build the entire 
string on the fly) then you may also have to override hasAssociatedMarkupStream 
and always return true else the component being updated won't be able to locate 
its parent.

Craig
  _  

From: Paul Huang [mailto:paulhuan...@gmail.com]
To: users@wicket.apache.org
Sent: Sat, 10 Oct 2009 08:34:15 -0400
Subject: how to inject arbitrary javascript code to a component markup?

Suppose I write my own wicket component called XYZ that have the following
  markup
  
  
  
  
  
  
  
  How can I inject some js code into this markup so when it's rendered in a
  page, I got something like
  
  
  
   
   var data=["abc", "efg"];
   document.write(data[0]);
  
  .
  
  
  
  You may ask why I dont simply keep the js code into the component markup
  "XYZ.html", this is because the value of "data" variable will be provided by
  the user and is not fixed.


Re: how to inject arbitrary javascript code to a component markup?

2009-10-10 Thread McIlwee, Craig
Didn't think of that approach, looks good.  But to clear up my previous 
suggestion since I guess I wasn't clear enough and its useful in other 
situations also, you need to _override_ getAssociatedMarkupStream(boolean), not 
just call it.

public static final String JAVASCRIPT_PLACEHOLDER = "%JS_HERE%";
public MarkupStream getAssociatedMarkupStream(boolean throwEx) {
  String jsToInsert = ... // create your java script
  String html = ... // read HTML file via getClass().getResource
  html = html.replace(JAVASCRIPT_PLACEHOLDER, jsToInsert);
  IResourceStream srs = new StringResourceStream(html);
  MarkupResourceStream mrs = new MarkupResourceStream(srs);
  Markup markup = new SimpleMarkupLoader().loadMarkup(this, mrs, null, true);
  return new MarkupStream(markup);
}

and your panel



%JS_HERE%



Craig
  _  

From: Anton Veretennikov [mailto:anton.veretenni...@gmail.com]
To: users@wicket.apache.org
Sent: Sat, 10 Oct 2009 11:24:12 -0400
Subject: Re: how to inject arbitrary javascript code to a component markup?

For example I use this markup:
  
  
  
  and associate it with simple class:
  
  public class FocusScript extends Label {
  
public FocusScript(String id, String focusFieldMarkupId, boolean selectAll) 
{
  super(id, getFocusScript(focusFieldMarkupId, selectAll));
  setEscapeModelStrings(false);
}
  
@Override
protected void onComponentTag(ComponentTag tag) {
  tag.put("language", "javascript");
  tag.put("type", "text/javascript");
  super.onComponentTag(tag);
}
  
@Override
protected void onComponentTagBody(MarkupStream markupStream,
  ComponentTag openTag) {
  super.onComponentTagBody(markupStream, openTag);
  checkComponentTag(openTag, "script");
}
  
public static String getFocusScript(String focusFieldMarkupId,
  boolean selectAll) {
  return "document.getElementById('" + focusFieldMarkupId + "').focus();" +
  (selectAll?("document.getElementById('" +
  focusFieldMarkupId + "').select()"):"");
}
  
  
  }
  
  
  On Sat, Oct 10, 2009 at 11:11 PM, Igor Vaynberg  
wrote:
  > can you not just use a label whose model is the "..." 
string?
  >
  > -igor
  >
  > On Sat, Oct 10, 2009 at 5:34 AM, Paul Huang  wrote:
  >> Suppose I write my own wicket component called XYZ that have the following
  >> markup
  >>
  >> 
  >> 
  >> 
  >> 
  >> 
  >>
  >> How can I inject some js code into this markup so when it's rendered in a
  >> page, I got something like
  >>
  >> 
  >> 
  >>  
  >> var data=["abc", "efg"];
  >> document.write(data[0]);
  >> 
  >> .
  >> 
  >> 
  >>
  >> You may ask why I dont simply keep the js code into the component markup
  >> "XYZ.html", this is because the value of "data" variable will be provided 
by
  >> the user and is not fixed.
  >>
  >
  > -
  > 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: ajax autocomplete

2009-11-12 Thread McIlwee, Craig
Allow me to translate:

He tries auto complete example locally (under tomcat in windows) but isn't 
presented with any auto complete suggestions.  The example works for him online.

(I think... took a few reads)

Craig
  _  

From: nino martinez wael [mailto:nino.martinez.w...@gmail.com]
To: users@wicket.apache.org
Sent: Wed, 11 Nov 2009 18:49:59 -0500
Subject: Re: ajax autocomplete

Please try to ask the question again, try to restructure the sentences? I
  cant understand what you wrote (not to be rude).
  
  2009/11/11 hxysun 
  
  > hi,
  > I have a question:I run wicket-examples-1.4.3 in tomcat 6.0.20 windows
  > sys,findig Auto-Complete TestField Example not enable,no down-list
  > automaticly.but
  > http://wicketstuff.org/wicket14/ajax/ is ok.I downloaded exampes of other
  > version running on my pc,it is same.So,I think maybe it lost datas in my
  > pc.Who can help me?
  > Thinks!
  > Java He.
  > 11-11 2009
  >


Re: Updating a Dynamic Image with AJAX (and JFreeChart)

2009-11-13 Thread McIlwee, Craig
Look at the source of the DynamicImageResource class.  The getResourceState 
method does something like (sorry for the lame pseudocode) 'if image data is 
null then save and return value of getImageData else return the previous image 
data'.  So its gonna call your getImageData() method once and save the value.  
This falls in line with the super class's (DynamicWebResource) javadoc that 
says:

very useful for things you   generate dynamically, but reuse for a while after 
that. If you need resources that stream   directly and are not cached, extend 
WebResource directly and implement Resouce.getResourceStream() yourself.

It has nothing to do with HTTP caching, which it looks like you're trying to 
solve with your headers, but server-side caching.  Anyways... in this case, 
getResourceStream of WebResource ends up calling getResourceState of 
DynamicImageResource.  All you need to do is is override getResourceState (and 
therefore kind of overrides the behavior of getResourceStream) of your 
DynamicImageResource and ensure that it doesn't cache the result of 
getImageData() and you should be set.

Craig
  _  

From: wicketnewuser [mailto:swarn...@hotmail.com]
To: users@wicket.apache.org
Sent: Fri, 13 Nov 2009 20:32:05 -0500
Subject: Re: Updating a Dynamic Image with AJAX (and JFreeChart)


  I have same situation. I'm not able to refresh my image. But if i view the
  image i do get refreshed image
  Here is my code. Based on my dropdownchoice it should make new Jfreechart
  and the image should refresh. I couldn't get it working so i wrapped the
  image with in a span but it still doesn't work. TugboatChartImage extends
  NonCachingImage . Can any one point out what I'm doing wrong
  Chart chart1 = new Chart(this.getString(column1.toString()), "Date",
  "Dollars");
final String yAxisType = "linear";
final int smallChartWidth=400;
final int smallChartHeight=200;
JFreeChart jfChartOne = chart1.render(chartOneCollection, null, yAxisType,
  smallChartWidth, smallChartHeight);


// make an image
final TugboatChartImage imageOne = new TugboatChartImage("chart1image",
  jfChartOne, smallChartWidth, smallChartHeight);
final WebMarkupContainer chart1Span = new
  WebMarkupContainer("chart1Span");
chart1Span.add(imageOne);
add(chart1Span);
  
// draw chart 2
Chart chart2 = new Chart(this.getString(column2.toString()), "Date",
  "Count");
JFreeChart jfChartTwo = chart2.render(chartTwoCollection, null, yAxisType,
  smallChartWidth, smallChartHeight);

// make an image
TugboatChartImage imageTwo = new TugboatChartImage("chart2image",
  jfChartTwo, smallChartWidth, smallChartHeight);
add(imageTwo);
String filterStringList ="";
if (filterStringList!= null){
 filterStringList =
  report.getFilterParameterList().toString().replaceAll("\\[", "");
 filterStringList = filterStringList.replaceAll("\\]", "");
}
final DropDownChoice chart1Select = new
  DropDownChoice("chart1Select" ,new
  PropertyModel(this, "column1"), TugboatReportData.trafficColumns,new
  IChoiceRenderer() {
 public Object getDisplayValue(Object obj) {
  //this.getString give you value from the propertyfile
 return
  ReportResultsPage.this.getString(((TugboatReportData.ColumnName)
  obj).toString());
 }
  
 public String getIdValue(Object obj, int index) {
  return obj.toString();
 }
});
chart1Select.add(new  AjaxFormComponentUpdatingBehavior("onchange") {
 protected void onUpdate(AjaxRequestTarget target) {
sortByColumn(displayRowSetFinal, column1);
Chart chart1R = new
  Chart(ReportResultsPage.this.getString(column1.toString()), "Date",
  "Dollars");

SwishTimeSeriesCollection chartOneCollectionR =
  createChartCollection(report, originalRowSet, displayRowSetFinal.subList(0,
  (originalRowSet.size() > 10) ? 9 : originalRowSet.size() - 1), column1);
logger.error(displayRowSetFinal);
JFreeChart jfChartOneR = chart1R.render(chartOneCollectionR, null,
  yAxisType, smallChartWidth, smallChartHeight);
imageOne.setDefaultModelObject(jfChartOneR);
imageOne.modelChanged();
   chart1Span.modelChanged();
chart1Span.setOutputMarkupId(true);
imageOne.setOutputMarkupId(true);
target.addComponent(imageOne);
target.addComponent(chart1Span);
 }
});
  
  Jason Mihalick wrote:
  > 
  > I am integrating JFreeChart into my application and I've followed the
  > JFreeChart example on the wiki.  That works very nicely.  I was impressed. 
  > What I want to do now is update the graph that I display based on the
  > selection from a drop down list.  I've successfully added the
  > DropDownChoice component and added a AjaxFormComponentUpdatingBehavior to
  > it.  I've verified that my onUpdate( AjaxRequestTarget ) method is being
  > invoked and I'm receiving the updated value, w

Re: Wicket 1.5 experiences

2009-12-02 Thread McIlwee, Craig
IMO, looking up EJBs through JNDI is better than relying on injection.  Make 
the hostname (localhost, another ip, etc) part of the JNDI URL configurable and 
you give yourself the flexibility of being able to deploy them locally or in 
another VM.  If you are using EJBs with JPA this will allow your load balanced 
web applications to all use the same EJB and therefore the same EntityManager, 
ensuring that your merge operations work correctly and you can catch 
OptimisticLockExceptions properly.

Craig
  _  

From: Major Péter [mailto:majorpe...@sch.bme.hu]
To: users@wicket.apache.org
Sent: Wed, 02 Dec 2009 19:00:26 -0500
Subject: Re: Wicket 1.5 experiences

Anyone?
  
  2009-12-01 23:17 keltezéssel, Major Péter írta:
  > Hi,
  > 
  > I'm trying to make my project 1.5-compatible, but I had run into two issues:
  > First I was stumbled when saw IComponentBorder has been deleted, but
  > after some Googling I found the corresponding ticket:
  > https://issues.apache.org/jira/browse/WICKET-2280
  > Okay, that's great, but I can't see this @deprecation javadoc in my
  > 1.4.3 source code (downloaded by maven), so could this commit just
  > missed somehow in the 1.4-releasing?
  > 
  > Another thing is, that I have problems with EJB injecting:
  > - with Wicket 1.3 -> Wicket 1.4 I saw that ComponentInjector moved into
  > wicket-ioc (great, caused me some headache)
  > - now Wicket 1.4 -> Wicket 1.5 I'm unable again to use
  > wicket-contrib-javaee like JavaEEComponentInjector, because
  > ComponentInjector is deleted now. (see 830078 commit via Igor). Now my
  > only question would be: how can I use @EJB annotation, now that this
  > class is deleted (okay I could rewrite it, but I'd happy to hear better
  > ways)? Or anyway, how can I use my EJB's the _right_ way, what would you
  > recommend?
  > (I can see, that you don't like @EJB annotation, I just guess, that you
  > have a better approach then..)
  > 
  > Any help would be really appreciated.
  > 
  > Best Regards,
  > Peter
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: Wicket 1.5 experiences

2009-12-03 Thread McIlwee, Craig
Sorry, meant JVM - virtual vs physical hardware has nothing to do with this.  
As for the load balancing, you don't need clustering for for a simple, 
non-redundant round robin balancing scheme.  Set up your balancer to remember 
cookies so that users with active sessions are always pushed to the same web 
app but new users are evenly distributed, you won't get hot failover but you 
get shared load across the applications.

Craig
  _  

From: Major Péter [mailto:majorpe...@sch.bme.hu]
To: users@wicket.apache.org
Sent: Wed, 02 Dec 2009 22:17:58 -0500
Subject: Re: Wicket 1.5 experiences

We are fr away from clustering or using VM's. :)
  I heard lately about EJB proxy classes, which would do the lookup, and
  they also could create log entries in web layer, who's trying to call a
  specific business method from what IP. This could be also fun.
  
  
  Regards,
  Peter
  
  2009-12-03 03:46 keltezéssel, McIlwee, Craig írta:
  > IMO, looking up EJBs through JNDI is better than relying on injection.  
Make the hostname (localhost, another ip, etc) part of the JNDI URL 
configurable and you give yourself the flexibility of being able to deploy them 
locally or in another VM.  If you are using EJBs with JPA this will allow your 
load balanced web applications to all use the same EJB and therefore the same 
EntityManager, ensuring that your merge operations work correctly and you can 
catch OptimisticLockExceptions properly.
  > 
  > Craig
  >   _  
  > 
  > From: Major Péter [mailto:majorpe...@sch.bme.hu]
  > To: users@wicket.apache.org
  > Sent: Wed, 02 Dec 2009 19:00:26 -0500
  > Subject: Re: Wicket 1.5 experiences
  > 
  > Anyone?
  >   
  >   2009-12-01 23:17 keltezéssel, Major Péter írta:
  >   > Hi,
  >   > 
  >   > I'm trying to make my project 1.5-compatible, but I had run into two 
issues:
  >   > First I was stumbled when saw IComponentBorder has been deleted, but
  >   > after some Googling I found the corresponding ticket:
  >   > https://issues.apache.org/jira/browse/WICKET-2280
  >   > Okay, that's great, but I can't see this @deprecation javadoc in my
  >   > 1.4.3 source code (downloaded by maven), so could this commit just
  >   > missed somehow in the 1.4-releasing?
  >   > 
  >   > Another thing is, that I have problems with EJB injecting:
  >   > - with Wicket 1.3 -> Wicket 1.4 I saw that ComponentInjector moved into
  >   > wicket-ioc (great, caused me some headache)
  >   > - now Wicket 1.4 -> Wicket 1.5 I'm unable again to use
  >   > wicket-contrib-javaee like JavaEEComponentInjector, because
  >   > ComponentInjector is deleted now. (see 830078 commit via Igor). Now my
  >   > only question would be: how can I use @EJB annotation, now that this
  >   > class is deleted (okay I could rewrite it, but I'd happy to hear better
  >   > ways)? Or anyway, how can I use my EJB's the _right_ way, what would you
  >   > recommend?
  >   > (I can see, that you don't like @EJB annotation, I just guess, that you
  >   > have a better approach then..)
  >   > 
  >   > Any help would be really appreciated.
  >   > 
  >   > Best Regards,
  >   > Peter
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: Location of html files

2009-12-06 Thread McIlwee, Craig
I agree that you should have a strong reason to change the default, and IMO 'I 
don't like it' isn't good enough.  What happens if you want to reuse components 
that live in that jar elsewhere?  Putting the jar that contains the component 
on the classpath won't be sufficient because you'll only get the .class file 
and not the HTML/CSS/JS.  This probably means that you'd have to check in those 
resources in multiple locations or have them copied from one location to 
another during your build process - both of which are more error prone and/or 
maintenance hassle than just putting them in the package with the class.

Craig
  _  

From: Johan den Boer [mailto:johanj.denb...@gmail.com]
To: users@wicket.apache.org
Sent: Sun, 06 Dec 2009 02:17:04 -0500
Subject: Re: Location of html files


  Hi,
  
  I not like my html files / css files / images are all locates in the same
  package but seperated in directories i.e.
  
  html files goto  ../html
  css files go to  ../css
  images go to   ../images
  
  why is this not possible
  
  johan
  
  
  Marat Radchenko-2 wrote:
  > 
  > With custom IResourceFinder, you can put them wherever you want. But
  > why? You should have a strong reason to not follow defaults.
  > 
  > 2009/12/6, Johan den Boer :
  >> Hi,
  >>
  >>  I place my html files in the same package where my java classes resides.
  >> Is
  >>  it possible to change this. I want to place my html files in the
  >>  WEB-INF/page directory
  >>
  >>  --
  >>  thanks a lot,
  >>
  >>
  >>  Johan den Boer
  >>
  > 
  > -
  > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  > For additional commands, e-mail: users-h...@wicket.apache.org
  > 
  > 
  > 
  
  -- 
  View this message in context: 
http://old.nabble.com/Location-of-html-files-tp26662782p26662799.html
  Sent from the Wicket - User mailing list archive at Nabble.com.
  
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: Very Basic Hello World - Applet

2009-12-09 Thread McIlwee, Craig
Really?  I've never written applets before, is there some limitation that would 
prevent it from being fetched as a shared resource?  If not then add a 
wicket:id attribute to the applet tag, create a Label with the same wicket ID, 
and then use an AttributeModifier to create the code attribute on the applet 
tag.

Craig
  _  

From: Martin Makundi [mailto:martin.maku...@koodaripalvelut.com]
To: users@wicket.apache.org
Sent: Wed, 09 Dec 2009 12:28:13 -0500
Subject: Re: Very Basic Hello World - Applet

> but 1 little question ... when i complie the code... instead of manually
  > copy pasting it to my WEBAPP folder.. can i give it as a path (like
  > /myproject/src/main/webapp/HelloWorld.class) ...
  
  No. But you can tweak your build configuration (maven, ant) to copy it
  automatically.
  
  **
  Martin
  
  
  > And thank u to every1 who helped me out.
  > :handshake::handshake::handshake:
  >
  >
  > MartinM wrote:
  >>
  >> COmpile HelloWorld.java applet into HelloWorld.class and put it into
  >> the webapp directory and write:
  >>
  >> 
  >> 
  >> 
  >> 
  >>
  >>
  >> 2009/12/9 local_shamil :
  >>>
  >>> Ok cool the image works fine...
  >>>
  >>> i just added this and it came out "  Picture.JPG   "
  >>>
  >>> now i need to insert an applet ..
  >>>
  >>> this is my HelloWorld.java code >>
  >>>
  >>> import java.applet.Applet;
  >>> import java.awt.Graphics;
  >>>
  >>> public class HelloWorld extends Applet {
  >>>public void paint(Graphics g) {
  >>>g.drawString("Hello world!", 50, 25);
  >>>}
  >>> }
  >>>
  >>> and my HelloWolrd.HTML code
  >>>
  >>> 
  >>> 
  >>>  A Simple Program 
  >>> 
  >>> 
  >>>
  >>> Here is the output of my program:
  >>> 
  >>> 
  >>> 
  >>> 
  >>>
  >>> and i have entered these 2 in the "COM.MYCOMPANY" Package but in your
  >>> applet code it says
  >>>
  >>>  >>WIDTH=600 HEIGHT=600>
  >>>
  >>>
  >>> What does archive="/xyz.jar" do ?? should i create a jar of my
  >>> HelloWorld.java class and have it in the WEBAPP folder ??
  >>>
  >>>
  >>>
  >>>
  >>>
  >>>
  >>>
  >>> MartinM wrote:
  
  > Guys i am a bit confused now...
  
   Take it slow :)
  
  > I am trying to have an Applet displayed in a wicket website...
  
   That's fine. It is just like displaying an IMAGE in a html page. The
   applet has nothing to do with wicket.
  
  > should i create a JAR as HelloWorld.jar and put it in to the WEBAPP
  > folder
  
   NO.
  
   Just make a quickstart WORK and try to make IMAGE ( ) work with
   the image in webapp/ directory.
  
   Then put your applet.class file into the webapp/directory and add the
    html tag next to your   tag.
  
   Restart if necessary. Furthermore: it should work even from file
   system without wicket running. Remember: applet has nothing to do with
   wicket.
  
   **
   Martin
  > MartinM wrote:
  >>
  >> The jar is a library for the applet code. Baybe you do not need it.
  >>
  >> **
  >> Martin
  >>
  >> 2009/12/9 local_shamil :
  >>>
  >>> Ok... this is the code i used to create my Maven Wicket project
  >>>
  >>> " mvn archetype:create -DarchetypeGroupId=org.apache.wicket
  >>> -DarchetypeArtifactId=wicket-archetype-quickstart
  >>> -DarchetypeVersion=1.4.3
  >>> -DgroupId=com.mycompany -DartifactId=myproject "
  >>>
  >>> and i used the above example to create
  >>> 
http://journals.ecs.soton.ac.uk/java/tutorial/getStarted/applet/index.html
  >>> my applet
  >>>
  >>> So what i did was i added the "HelloWorld.java" and "HelloWorld.html"
  >>> file
  >>> in the com.mycompany pakage..
  >>>
  >>> have i done correctly up to this point ??
  >>>
  >>> then i dont undestand what archive="/xyz.jar"  that u have quoted in
  >>> your
  >>> reply ... Should i have to create a HelloWorl.jar file and have it in
  >>> the
  >>> com.mycompany  package ??
  >>>
  >>> Please help ... :( :(
  >>> --
  >>> View this message in context:
  >>> 
http://old.nabble.com/Very-Basic-Hello-World---Applet-tp26712682p26712974.html
  >>> Sent from the Wicket - User mailing list archive at Nabble.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
  >>
  >>
  >>
  >
  > --
  > View this message in context:
  > 
http://old.nabble.com/Very-Basic-Hello-World---Applet-tp26712682p26713212.html
  > 

Re: CachingPage

2009-12-10 Thread McIlwee, Craig
So you want your page to output some content that doesn't live in 
HomePage.html, but from memory/db/etc instead?  If that's the case, overrride 
hasAssociatedMarkup() and return false (tells wicket there's no HomePage.html 
to look for) and then in onRender() write your content using 
getResponse().getOutputStream().  See this link for an example:

http://blog.brunoborges.com.br/2008/11/restful-web-services-with-wicket.html

Craig
  _  

From: Xavier López [mailto:xavil...@gmail.com]
To: users@wicket.apache.org
Sent: Thu, 10 Dec 2009 06:00:58 -0500
Subject: CachingPage

Hi,
  
  I'm trying to adapt the 'CachingPanel' strategy from JL's '26 Wicket Tricks'
  to a Page, in order to cache an entire HomePage. It is a requirement that
  this Page (it is a HomePage) should be rendered like it was static HTML
  (actually the application generated that static html at some moment by means
  of templates).
  
  This is the source for CachingPanel from GoogleCode:
  
  
http://www.google.com/codesearch/p?hl=es#92PP5HImtBs/trunk/twenty-six-wicket-tricks/src/main/java/com/locke/library/web/panels/caching/CachingPanel.java&q=caching%20package:http://twenty-six-wicket-tricks
  \.googlecode\.com&sa=N&cd=1&ct=rc&t=0
  
  I've tried to simply extend WebPage instead of Panel in CachingPanel, but
  then it turns out in "onRender's" overriding that markupStream is always
  null... My question is: Is "onRender" the right method to override taking
  into account it is about a whole page and not a Panel
  (markupStream.skipComponent does not make much sense)...
  
  I'd appreciate any directions on these one, as this matter is regarding the
  internals of Wicket, and I'd like to have some security on what's happening
  behind the scenes...
  
  Thank you very much !


Re: Can you attach multiple AjaxFormComponentUpda tingBehavior to the same component?

2009-12-14 Thread McIlwee, Craig
Only 1 per event will work because the script to trigger the behavior is 
inlined on the element ().  
CompoundAjaxBehavior was mentioned as a possible feature for wicket 1.5/2.0 at 
the link below, but that was 2 years ago so I don't know how accurate it is now.
http://www.slideshare.net/jcompagner/wicket-next-1415

Craig
  _  

From: Steve Mactaggart [mailto:st...@whitesquaresoft.com]
To: users@wicket.apache.org
Sent: Sun, 13 Dec 2009 23:47:35 -0500
Subject: Can you attach multiple AjaxFormComponentUpdatingBehavior to the same  
component?

Hi all,
  
  First up must say that I love wicket, and hope to have some elements
  to contribute back to the community soon.  I'm working on building a
  set of enhanced components, but have run into a problem.
  
  I am building a FormComponentPanel that has an a DropDownChoice within
  it.  I want the panel to be able to get onchange events from the
  DropDown, and also require the user of this component to set their own
  listener.
  
  To do this I am catching the add(IBehaviours... ) method, and passing
  them to the internal dropdownchoice, as it is the true form component
  of my panel.
  
  But when I do this, it seems that the last
  AjaxFormComponentUpdatingBehavior added to the component wins, and
  none of the other behaviours watching for the onchange get notified.
  
  Is it possible to have multiple AjaxFormComponentUpdatingBehavior
  objects added to the same form component?
  
  Steve
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: Session preserved Page/Page property

2009-12-16 Thread McIlwee, Craig
I think you answered your own question, you said you wanted properties that 
persisted through the session so store them in the session.  Either create your 
own subclass with setters/getters for your properties or you could possibly 
open up the visibility of Session.setAttribute(String, Object).

Or another option might be to use bookmarkable links and output the properties 
into the URLs for each page like 
http://host/app/page?itemsPerPage=10&search=theSearch.  I think this approach 
requires stateless pages though?

Craig
  _  

From: HubertG [mailto:hube...@poczta.onet.pl]
To: users@wicket.apache.org
Sent: Wed, 16 Dec 2009 06:02:01 -0500
Subject: Session preserved Page/Page property

I'm quite new to Wicket, so maybe my question will seem stupid.
  I need to ask sth to aviod reinventing the wheel.
  
  In my application there is a few navigation components which create links for 
pages. Some pages have ajax-nature, some not. 
  
  I'm trying to achieve preserving some page properties per user/browser/window 
session. For example searchBox content, data views current page and/or items 
per page. It's just to give user convenient tool - if users modify some view 
parameters, I expect they want to keep them not touched between navigation 
hops, similar to switching between apps in OS. 
  
  I see two possibilites: instead of creating new page, recall the last page 
instance from session or somehow persist properties in session and restore them 
when page is created. The first option anyway will fail with Ajax pages as 
Wicket doesn't store modification performed with Ajax (am I right?)
  
  Is there any best practice? Has anybody tried to get functionality like that?
  I remember that in Tapestry there is annotation to achieve that - do we 
have/plan similar in Wicket?
  
  Please help me find a way in this dense fog :)
  
  Hubert
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: Ajax not firing onSubmit after back-button press

2009-12-18 Thread McIlwee, Craig
Maybe wicket thinks that the ajax behavior belongs to a page that isn't the 
current/active page and therefore is ignoring it?
http://wicket.apache.org/docs/1.4/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.html#getCallbackScript(boolean)
Just a guess, and I am likely to be wrong, but I though I'd throw it out there.

Craig
  _  

From: Kurt Heston [mailto:khes...@hestonsystems.com]
To: users@wicket.apache.org
Sent: Fri, 18 Dec 2009 19:45:36 -0500
Subject: Re: Ajax not firing onSubmit after back-button press

My Ajax calls are getting swallowed somewhere.  Is there someplace I can
  set a break-point to find out where it's dying?
  
  On 12/17/2009 11:28 AM, Kurt Heston wrote:
  > I've read alot about ajax and the back button in the forums and on the
  > web, but what I'm seeing looks to be a different problem in v1.4.3.  I
  > don't think it has anything to do with WICKET-271.
  >
  > I have some ajax in a panel that works perfectly after a page refresh
  > but not after pressing the back button.  I can see the call (POST) being
  > made in FireBug and have confirmed it isn't being swallowed by Firefox
  > caching with a JMeter proxy, but my onSubmit method isn't firing
  > server-side.  If I press the browser refresh button, onSubmit starts
  > firing again.  Not entirely sure, but I think this worked in v1.3.5.
  >
  > Suggestions?
  >
  > -
  > 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
  


CheckboxMultipleChoice: isEnabled() vs isEnabledInHierarchy()

2009-12-24 Thread McIlwee, Craig
I've just noticed that CheckboxMultipleChoice uses isEnabled() when rendering, 
but I think most other form components use isEnabledInHierarchy().  I like that 
most of the form components use the hierarchy method because it allows me to 
create a read only version of my forms by disabling the root component, but 
CheckboxMultipleChoice's behavior requires special handling.

Any specific reason that it works this way?  If not then I'll file a JIRA issue 
to have it changed.

Craig

Re: Quick question - Bad to serialize a class ref erence?

2009-12-28 Thread McIlwee, Craig
I doubt it's a problem, but if you're worried about the class reference you can 
introduce a middle man that will handle the serialization as a string:

class ClassHolder implements Serializable {
  private Class clazz;
  // constructor, setter, and getter omitted...
  private void readObject(ObjectInputStream ois) {
clazz = Class.forName(ois.readUTF());
  }
  private void writeObject(ObjectOutputStream oos) {
oos.writeUTF(clazz.getName());
  }
}

Craig
  _  

From: Anthony DePalma [mailto:fatef...@gmail.com]
To: users@wicket.apache.org
Sent: Mon, 28 Dec 2009 15:41:00 -0500
Subject: Quick question - Bad to serialize a class reference?

I am making a modal window link component that will fallback to a
  standard redirect if javascript is disabled. Traditionally I have been
  overriding a method called onFallback() and forcing users to manually
  setRedirect(true), setResponsePage(blah), but I would prefer it if I
  could just pass the class reference in the constructor and handle that
  logic myself in the onclick.
  
  That means serializing the class reference across to the onclick. Are
  there performance implications at all? My gut reaction is no because I
  see a lot of transient objects in the Class object, but I wanted to
  confirm.
  
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
  


Re: PROBLEM WITH PAY PAL INTEGRATION

2010-03-29 Thread McIlwee, Craig
Have you tried using firebug to see what the POSTed values are?  That may shed 
some light on the problem...
  _  

From: victorTrapiello [mailto:vic...@trapiello.net]
To: users@wicket.apache.org
Sent: Mon, 29 Mar 2010 02:19:29 -0400
Subject: Re: PROBLEM WITH PAY PAL INTEGRATION


  that´s is goign to be my next step, can I put directly in the wicket form
  post to pay pal or i there any method to set the post in wicket¿?
  
  thanks Steave
  
  Steve Swinsburg-3 wrote:
  > 
  > Why not process your form normally via Wicket, then make a POST request to
  > PayPal?
  > 
  > cheers,
  > Steve
  > 
  > 
  > On 29/03/2010, at 4:49 PM, victorTrapiello wrote:
  > 
  >> 
  >> Yes I use POST,
  >> 
  >> I´m not using any wicket form, I just set to my value a Tesxt fiels and
  >> then
  >> I add the wicket in this form, but as I said bfore it seems the wicket is
  >> lost by the way to pay pal because I appears empty, I´m thinking now
  >> maybe
  >> is something related with the pay pal´s encryption.
  >> 
  >> https://www.paypal.com/cgi-bin/webscr"; method="post"> 
  >>  
  >>  
  >>  
  >>  
  >>  
  >>  
  >>  
  >> 
  >> 
  >> 
  >>  
  >>  
  >>  
  >> > src="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif"; 
  >> alt="PayPal - The safer, easier way to pay online"> 
  >> https://www.paypal.com/en_US/i/scr/pixel.gif  
  >>  
  >> 
  >> 
  >> MartinM wrote:
  >>> 
  >>> Do you use POST or GET ?
  >>> 
  >>> **
  >>> Martin
  >>> 
  >>> 2010/3/29 victorTrapiello :
   
   hahahha it is not as easy as you think, I just put these 2 lines to
   show
   how
   it is in the reallity and how I´m trying to do with wickets, I only
   have
   this one on in my progrmam
   
   
   
   
   
   msc65jap wrote:
  > 
  > It not a wicket issue. You have two input elements with the same name:
  > 
  > 1.
  > 2.
  > 
  > Remove the line 1 and voila!
  > 
  > Best,
  > James.
  > 
  > On 28 March 2010 22:06, victorTrapiello  wrote:
  >> 
  >> Hello guys! I´m trying to implement a simple "buy now" action with
  >> pay
  >> pal:
  >> with the code:
  >> 
  >>   # xxx
  >> 
  >> https://www.paypal.com/cgi-bin/webscr"; method="post">
  >> 
  >> > value="herschelgo...@xyzzyu.com">
  >> 
  >> 
  >> 
  > 
  >> 
  >> 
  >> 
  >> > src="styles/images/comprar.jpg"
  >> alt="PayPal - The safer, easier way to pay online">
  >> styles/images/comprar.gif
  >> 
  >> 
  >> if for example I excute
  >> 
  >> it appears on the scream the text box filled with my item_name but
  >> when
  >> you
  >> press the form´s button it sends you to a paypal web page in which
  >> the
  >> field
  >> item_name appears empty, it is like the wicket is lost by the way
  >> any
  >> help¿?
  >> 
  >> Thanks guys!!!
  >> 
  >> 
  >> jwcarman wrote:
  >>> 
  >>> Does anyone have a required border class (something that
  >>> automatically
  >>> puts a little red "*" next to a required field)?  I have one that
  >>> I'm
  >>> using, but it doesn't work under ajax!  When the component gets
  >>> updated via ajax, it keeps appending little red "*"s to the markup.
  >>> Don't get me wrong, it's quite funny, but I just don't think my
  >>> users
  >>> will get it.  I've tried using a border and I've also tried doing it
  >>> as a behavior.  Either way I get the endless string if "*"s.
  >>> 
  >>> -
  >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  >>> For additional commands, e-mail: users-h...@wicket.apache.org
  >>> 
  >>> 
  >>> 
  >> 
  >> --
  >> View this message in context:
  >> http://old.nabble.com/Required-Border...-tp28006887p28062450.html
  >> Sent from the Wicket - User mailing list archive at Nabble.com.
  >> 
  >> 
  >> -
  >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  >> For additional commands, e-mail: users-h...@wicket.apache.org
  >> 
  >> 
  > 
  > 
  > 
  > --
  > Best,
  > James.
  > 
  > -
  > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  > For additional commands, e-mail: users-h...@wicket.apache.org
  > 
  > 
  > 
   
   --
   View this message in context:
   http://old.nabble.com/Required-Border...-tp28006887p28065083.html
   Sent from the Wicket - User mailing list archive at Nabble.com.
   
   
   -
   To unsubscribe, e-mail: users-unsubscr...@w

Re: better way setting up ID for a Wicket compone nt?

2010-03-30 Thread McIlwee, Craig
There's a good reason that markup ID doesn't match wicket ID.  If I have a 
panel with a few form components, and then put 2 of those panels on the same 
page, then your approach would break things like document.getElementId(...) 
because there would be more than 1 element w/ same ID.

Craig

  _  

From: David Chang [mailto:david_q_zh...@yahoo.com]
To: users@wicket.apache.org
Sent: Mon, 29 Mar 2010 21:03:46 -0400
Subject: Re: better way setting up ID for a Wicket component?

Not sure whether the help method will do the trick of one-liner code. 
  
  I feel that it would be much nice if Wicket could have the following 
additional method for a Componment:
  
  Component setMarkupIdToWicketId(). 
  
  Re-using a Wicket Id as markup id as convention should be best practice. Am I 
right? I am new in wicket and sorry if I am wrong.
  
  Best.
  
  
  
  --- On Mon, 3/29/10, James Carman  wrote:
  
  > From: James Carman 
  > Subject: Re: better way setting up ID for a Wicket component?
  > To: users@wicket.apache.org
  > Date: Monday, March 29, 2010, 7:16 PM
  > helper method?
  > 
  > protected  T setMarkupId(T
  > component, String markupId)
  > {
  >   component.setMarkupId(markupId);
  >   return component;
  > }
  > 
  > 
  > On Mon, Mar 29, 2010 at 7:00 PM, David Chang wrote:
  > 
  > > Here is what I am using the follow pattern to set up
  > ID for a wicket
  > > component:
  > >
  > > Label abc = new Label("abcd", "abcdedfg");
  > > abc.setOutputMarkupId(true).setMarkupId(abc.getId());
  > >
  > > It takes two lines to do this.
  > >
  > > Can I do something like
  > >
  > > Label abc = new Label("abcd",
  > > "abcdedfg").setOutputMarkupId(true).setMarkupId(???);
  > >
  > > Is this doable? If yes, then what should go to replace
  > ???
  > >
  > > Thanks!
  > >
  > >
  > >
  > >
  > >
  > >
  > >
  > -
  > > 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: What happens after browser's 'back' but ton?

2010-04-06 Thread McIlwee, Craig
As long as you prevent the browser from caching the page with the form (just 
the page itself, caching the resources is fine) then when the user hits back 
wicket will pull the old page instance from the pagemap and rerender it.  That 
page instance is the same one that was used the first time, so its state will 
still be the same.  Just set some flag when the user submits, and also check 
that flag when processing the form like this:

onSubmit(...) {
  if (!submitted) {
submitted = true;
// do some stuff
  } else {
// redirect to another page
  }
}

Wicket does set some cache headers, but to disable it in FF we had to set 1 
extra header.  If you check the setHeaders method in WebPage you'll see that 
they set 3 headers I think and then there is one other header (must 
revalidate?) that they have commented out.  That commented header did the trick 
for us.  As for the redirect, you might be able to pull the 'last valid page' 
as you call it from the page map, not sure though.

Craig

- Original Message -
From: Sergey Olefir
[mailto:solf.li...@gmail.com]
To: users@wicket.apache.org
Sent: Tue, 06 Apr
2010 06:32:35 -0400
Subject: What happens after browser's 'back' button?


> Hi,
> 
> our first Wicket-based application is about to go into testing and I'm
> feeling rather uncomfortable about the fact that I don't really
> understand what happens when user uses browser's back button and then
> submits some 'outdated' form. Can someone elaborate please on what
> exactly happens when Wicket receives submit from the 'old' page?
> 
> On a more specific note, I will most probably need to block user from
> submitting the same form more than once. E.g.:
> 
> - If I wanted to prevent user from using back button at all, how would
> I determine that the incoming submit is from the 'old' page?
> 
> - If I determined that Wicket received submit from the 'old' page, how
> would I send user back to the last 'valid' page they were on?
> 
> - If I wanted to detect that user submits the same form twice (without
> necessarily blocking the back button in all cases), how would I go
> about it? I suppose I could store something in Session to track which
> forms were already submitted?
> 
> P.S. Sorry for kind of 'reposting' my previous question, but I'm
> running out of time on this project and really would love to
> understand how to properly handle browser's 'back' button...
> 
> -
> 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: Help with Reports

2010-04-07 Thread McIlwee, Craig
Don't have any code handy right now, but I've used this before for jasper 
reports and it worked out well
http://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-contrib-jasperreports/

- Original Message -
From: chinedu efoagui
[mailto:chinedub...@gmail.com]
To: users
[mailto:us...@wicket.apache.org]
Sent: Wed, 07 Apr 2010 06:01:19
-0400
Subject: Help with Reports


> please i would like help with the following
> 1. tutorial /example/code snippets on using Wicket with Jasper Reports
> 2.tutorial /example/code snippets on using Wicket with BIRT Reports.
> thank you
> 
> -
> 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: How to get stable DOM IDs without hacks?

2010-04-12 Thread McIlwee, Craig
Like Pierre said, component.setMarkupId(component.getId()) will work, but it 
was discussed just a couple of weeks ago why that's a bad approach.  The thread 
isn't appearing on nabble though, not sure why that is.  Anyway, a safer 
approach (to prevent duplicate ID issues) is to generate your javascript calls 
at the server using the markup ID as a parameter.  It sounds like you have a 
function like

function func() {
 var elem = document.getElementById("someId");
 // do stuff to the element
}

so just modify to

function func(id) {
 var elem = document.getElementById(id);
 // do stuff to the element
}

and output a call to that function using something like a 
StringHeaderContributor or implement IHeaderContributor if you need to call at 
page load or use AjaxRequestTarget if in an ajax request.

- Original Message -
From: Pierre Goupil
[mailto:goupilpie...@gmail.com]
To: users@wicket.apache.org
Sent: Mon, 12
Apr 2010 18:36:55 -0400
Subject: Re: How to get stable DOM IDs without
hacks?


> Hello,
> 
> You can use myComponent.setMarkupId("blah"), but then it's up to you to
> ensure the id uniqueness.
> 
> Regards,
> 
> Pierre
> 
> 
> On Tue, Apr 13, 2010 at 12:35 AM,  wrote:
> 
> > Hi,
> >
> > Wicket has its own mind - it changes IDs in HTML forms so JavaScript
> > breaks.
> >
> > Example:
> >
> > Source:
> >  > value="Add"/>
> >
> > Generated:
> > 
> >
> > Please note that Wicket renames the id from "addButton" to
> > "addButtona" while it does not change the name attribute value.
> >
> > So we would have to create a Button subclass and:
> >
> >@Override
> >public String getMarkupId(){
> >// As an example, use the wicket:id value ...
> >return getId();
> >}
> >
> > and in HTML, we have to write a warning as a reminder of this hack:
> >
> >
> > This is a maintenance problem and a performance problem because the
> > additinal classes cost memory and CPU.
> >
> > Any ideas?
> >
> > Thanks,
> >
> > Bernard
> >
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> 
> 
> -- 
> Les deux règles universelles du bide :
> 
> 1) on n'explique pas un bide
> 
> 2) dans le futur, un bide sera toujours un bide.
> 

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



Re: How to get stable DOM IDs without hacks?

2010-04-13 Thread McIlwee, Craig
Not quite true.  What I've done is the past is record my tests w/ the IDE then 
export to Java.  Once you've got the JUnit generated for you it's not too hard 
to take a quick pass and convert all of the ID lookups to XPath lookups.  If 
you know for sure when writing the test that the ID really is unique and looks 
something like 'myWicketIda' then you can go with something simple like 
"//*[starts-with(@id, 'myWicketId')]" (forgive possible syntax error its been a 
while).  If the ID isn't unique or you just want to be safe for the future then 
construct a unique path with your XPath expression.

- Original Message -
From: Pierre Goupil
[mailto:goupilpie...@gmail.com]
To: users@wicket.apache.org
Sent: Tue, 13
Apr 2010 07:14:47 -0400
Subject: Re: How to get stable DOM IDs without
hacks?


> Craig is absolutely right, of course, but if you want to be aware of what an
> id value is and OK to manage its uniqueness, setMarkupId() still applies. A
> use case for this is, for instance, a Selenium test: Selenium locates the
> HTML elements by ids and you have to know them at page-write time in order
> to be able to provide them to it.
> 
> Regards,
> 
> Pierre
> 
> 
> On Tue, Apr 13, 2010 at 6:04 AM,  wrote:
> 
> > Thanks a lot to you both for your solutions!
> >
> > Regards
> >
> > Bernard
> >
> > On Mon, 12 Apr 2010 23:36:16 -0400, you wrote:
> >
> > >Like Pierre said, component.setMarkupId(component.getId()) will work, but
> > it was discussed just a couple of weeks ago why that's a bad approach. 
> The
> > thread isn't appearing on nabble though, not sure why that is.  Anyway, a
> > safer approach (to prevent duplicate ID issues) is to generate your
> > javascript calls at the server using the markup ID as a parameter.  It
> > sounds like you have a function like
> > >
> > >function func() {
> > > var elem = document.getElementById("someId");
> > > // do stuff to the element
> > >}
> > >
> > >so just modify to
> > >
> > >function func(id) {
> > > var elem = document.getElementById(id);
> > > // do stuff to the element
> > >}
> > >
> > >and output a call to that function using something like a
> > StringHeaderContributor or implement IHeaderContributor if you need to
> call
> > at page load or use AjaxRequestTarget if in an ajax request.
> > >
> > >- Original Message -
> > >From: Pierre Goupil
> > >[mailto:goupilpie...@gmail.com]
> > >To: users@wicket.apache.org
> > >Sent: Mon, 12
> > >Apr 2010 18:36:55 -0400
> > >Subject: Re: How to get stable DOM IDs without
> > >hacks?
> > >
> > >
> > >> Hello,
> > >>
> > >> You can use myComponent.setMarkupId("blah"), but then it's up to you to
> > >> ensure the id uniqueness.
> > >>
> > >> Regards,
> > >>
> > >> Pierre
> > >>
> > >>
> > >> On Tue, Apr 13, 2010 at 12:35 AM,  wrote:
> > >>
> > >> > Hi,
> > >> >
> > >> > Wicket has its own mind - it changes IDs in HTML forms so JavaScript
> > >> > breaks.
> > >> >
> > >> > Example:
> > >> >
> > >> > Source:
> > >> >  > >> > value="Add"/>
> > >> >
> > >> > Generated:
> > >> > 
> > >> >
> > >> > Please note that Wicket renames the id from "addButton" to
> > >> > "addButtona" while it does not change the name attribute value.
> > >> >
> > >> > So we would have to create a Button subclass and:
> > >> >
> > >> >@Override
> > >> >public String getMarkupId(){
> > >> >// As an example, use the wicket:id value ...
> > >> >return getId();
> > >> >}
> > >> >
> > >> > and in HTML, we have to write a warning as a reminder of this hack:
> > >> >
> > >> >
> > >> > This is a maintenance problem and a performance problem because the
> > >> > additinal classes cost memory and CPU.
> > >> >
> > >> > Any ideas?
> > >> >
> > >> > Thanks,
> > >> >
> > >> > Bernard
> > >> >
> > >> >
> > >> > -
> > >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > >> > For additional commands, e-mail: users-h...@wicket.apache.org
> > >> >
> > >> >
> > >>
> > >>
> > >> --
> > >> Les deux règles universelles du bide :
> > >>
> > >> 1) on n'explique pas un bide
> > >>
> > >> 2) dans le futur, un bide sera toujours un bide.
> > >>
> > >
> > >-
> > >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
> >
> >
> 
> 
> -- 
> Les deux règles universelles du bide :
> 
> 1) on n'explique pas un bide
> 
> 2) dans le futur, un bide sera toujours un bide.
> 

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