3 import org
.apache
.commons
.httpclient
.URI
;
4 import org
.apache
.commons
.httpclient
.URIException
;
5 import org
.apache
.wicket
.PageParameters
;
6 import org
.apache
.wicket
.markup
.html
.form
.Form
;
7 import org
.apache
.wicket
.markup
.html
.form
.TextField
;
8 import org
.apache
.wicket
.markup
.html
.panel
.Panel
;
9 import org
.apache
.wicket
.model
.CompoundPropertyModel
;
11 public class UrlFormPanel
extends Panel
{
15 private static final long serialVersionUID
= 1L;
17 public class UrlForm
extends Form
<UrlForm
> {
22 private static final long serialVersionUID
= 1L;
26 public UrlForm(String id
, URI url
) {
29 setDefaultModel(new CompoundPropertyModel
<UrlForm
>(this));
31 add(new TextField
<URI
>("url"));
35 * @see org.apache.wicket.markup.html.form.Form#onSubmit()
38 protected void onSubmit() {
39 URI uri
= UrlForm
.this.getModelObject().url
;
41 if ("webcal".equals(uri
.getScheme()))
44 uri
= new URI(uri
.toString().replace("webcal", "http"), false);
45 } catch (Exception e
) {
46 throw new RuntimeException(e
);
50 PageParameters parameters
= new PageParameters();
51 parameters
.add("url", uri
.toString());
52 setResponsePage(UrlValidationPage
.class, parameters
);
56 public UrlFormPanel(String id
)
59 add(new UrlForm("urlForm", null));
62 public UrlFormPanel(String id
, URI url
)
65 add(new UrlForm("urlForm", url
));