Add input in javascript and process value in form?
Hi, i would like to add some input fields to an ul/li using JS. function add_fields() { var d = document.getElementById("items"); var i = d.childElementCount; d.innerHTML += "<li><input name=\"item:" + i + ":value\" /></li>"; } Currently in Form.onSubmit values are empty. Is this possible? Is there an example for this? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Extend session metadata with user-data-scope after login (spring question)
Thanks Sven, great. Works. > Gesendet: Sonntag, 07. März 2021 um 11:58 Uhr > Von: "Sven Meier" > An: users@wicket.apache.org > Betreff: Re: Extend session metadata with user-data-scope after login (spring > question) > > Hi, > > Wicket tries to create a proxy for your bean. > > Apparently UserScopeFinder doesn't have a default constructor, which is > required for creation of a proxy class. > Easiest solution is to introduce an interface (e.g. IUserScopeFinder) > and let your bean implement that: > > @SpringBean(name = "userScopeFinder") > private IUserScopeFinder userScopeFinder; > > Hope this helps > Sven > > > On 07.03.21 09:58, Per Newgro wrote: > > Hi, > > > > i would like to extend a session (metadata) with scope of user logged in. > > Something like "allowed countries", "allowed companies" and so on. > > That scope is provided by a spring bean (UserScopeFinder). This bean is > > created in a Configuration as a @Bean. > > > > What i tried so far is add an ISessionListener to WebApplication and inject > > the UserScopeFinder. > > > > > > @com.giffing.wicket.spring.boot.context.extensions.ApplicationInitExtension > > public class AuthorizationInitializer implements > > com.giffing.wicket.spring.boot.context.extensions.WicketApplicationInitConfiguration > > { > > > > @Override > > public void init(WebApplication webApplication) { > > IAuthorizationStrategy strategy; > > strategy = new ApplicationAuthorizationStrategy(new > > UserRolesAuthorizer()); > > > > webApplication.getSecuritySettings().setAuthorizationStrategy(strategy); > > webApplication.getSessionListeners().add(new > > UserScopeInjector()); > > } > > } > > > > public class UserScopeInjector implements ISessionListener { > > > > @SpringBean(name = "userScopeFinder") > > private UserScopeFinder userScopeFinder; > > > > public UserScopeInjector() { > > super(); > > Injector.get().inject(this); > > } > > > > @Override > > public void onCreated(Session session) { > > System.out.println("Works"); > > } > > } > > > > > > But in that case i get: > > > > > > ... > > Caused by: java.lang.RuntimeException: error while injecting object > > [my.app.core.wicket.authorization.UserScopeInjector@283465af] of type > > [my.app.core.wicket.authorization.UserScopeInjector] > > at org.apache.wicket.injection.Injector.inject(Injector.java:122) > > at > > org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124) > > at > > my.app.core.wicket.authorization.UserScopeInjector.(UserScopeInjector.java:17) > > at > > my.app.core.wicket.authorization.AuthorizationInitializer.init(AuthorizationInitializer.java:19) > > at > > com.giffing.wicket.spring.boot.starter.app.WicketBootSecuredWebApplication.init(WicketBootSecuredWebApplication.java:83) > > at org.apache.wicket.Application.initApplication(Application.java:762) > > at > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:441) > > ... 47 common frames omitted > > Caused by: java.lang.IllegalArgumentException: Superclass has no null > > constructors but no arguments were given > > at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:931) > > at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:631) > > at > > net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) > > at > > net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:332) > > at net.sf.cglib.proxy.Enhancer.generate(Enhancer.java:492) > > at > > net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96) > > at > > net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94) > > at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) > > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > > at > > net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) > > at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) > > at > > net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:1
Extend session metadata with user-data-scope after login (spring question)
Hi, i would like to extend a session (metadata) with scope of user logged in. Something like "allowed countries", "allowed companies" and so on. That scope is provided by a spring bean (UserScopeFinder). This bean is created in a Configuration as a @Bean. What i tried so far is add an ISessionListener to WebApplication and inject the UserScopeFinder. @com.giffing.wicket.spring.boot.context.extensions.ApplicationInitExtension public class AuthorizationInitializer implements com.giffing.wicket.spring.boot.context.extensions.WicketApplicationInitConfiguration { @Override public void init(WebApplication webApplication) { IAuthorizationStrategy strategy; strategy = new ApplicationAuthorizationStrategy(new UserRolesAuthorizer()); webApplication.getSecuritySettings().setAuthorizationStrategy(strategy); webApplication.getSessionListeners().add(new UserScopeInjector()); } } public class UserScopeInjector implements ISessionListener { @SpringBean(name = "userScopeFinder") private UserScopeFinder userScopeFinder; public UserScopeInjector() { super(); Injector.get().inject(this); } @Override public void onCreated(Session session) { System.out.println("Works"); } } But in that case i get: ... Caused by: java.lang.RuntimeException: error while injecting object [my.app.core.wicket.authorization.UserScopeInjector@283465af] of type [my.app.core.wicket.authorization.UserScopeInjector] at org.apache.wicket.injection.Injector.inject(Injector.java:122) at org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124) at my.app.core.wicket.authorization.UserScopeInjector.(UserScopeInjector.java:17) at my.app.core.wicket.authorization.AuthorizationInitializer.init(AuthorizationInitializer.java:19) at com.giffing.wicket.spring.boot.starter.app.WicketBootSecuredWebApplication.init(WicketBootSecuredWebApplication.java:83) at org.apache.wicket.Application.initApplication(Application.java:762) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:441) ... 47 common frames omitted Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:931) at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:631) at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:332) at net.sf.cglib.proxy.Enhancer.generate(Enhancer.java:492) at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96) at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94) at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119) at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:294) at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:480) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:305) at org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:191) at org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166) at org.apache.wicket.injection.Injector.inject(Injector.java:111) ... 53 common frames omitted I'm a little bit lost, if my strategy is working in common. Has someone maybe an example for me? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Is there an example project for wicket-spring-boot with gradle and webpack?
Hello *, i try to setup a spring boot project based on wicket-spring-boot-parent. To built my frontend assets (sass, js, svg minify etc) i like to use webpack. But if i start my project the assets are not loaded. So i hope to find an example project, where i can find some inspirations how i could setup everything. Btw. i built everything with gradle. Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Is there a SOAP resource?
Hello every1, i would like to migrate some features of an web app to my wicket app. The web app is a spring boot app that provides access to data using SOAP. The web service extracts the SOAP request and calls my wicket app by using rest resource. But now i need to replace the additional web app by my wicket app. So far i do everything using rest resource. So i ask myself if there is a similiar component for SOAP. Thanks for your support Regards Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Wicket Spring boot - use spring devtools
Hello Martin, the problem is that i assign a model in request cycle metadata by using the key public class IdentityInstance extends MetaDataKey> { public static IdentityInstance KEY = new IdentityInstance(); private IdentityInstance() { super(); } } Page: getRequestCycle().setMetaData(IdentityInstance.KEY, identityModel); Widget: IModel identity = getRequestCycle().getMetaData(IdentityInstance.KEY); But the model in Widget is always null. While debugging i found that object identity is used in Class#equals(Object o), what is ok for me. But with different classloaders class is loaded multiple times. I could provide a quickstart for this & create an issue, if you like. (?) I would like to adapt my configuration so that devtools are still available. (DCEVM i need to inspect :-).) Thanks for your support. Regards Per > Gesendet: Mittwoch, 28. August 2019 um 10:37 Uhr > Von: "Martin Grigorov" > An: "users@wicket.apache.org" > Betreff: Re: Wicket Spring boot - use spring devtools > > Hi, > > This is how Spring Dev Tools work. When it detects a change it removes the > old application class loader and creates a new one. > Why this is a problem for you ? > > I personally prefer to use DCEVM (https://dcevm.github.io/). It is able to > redefine a specific class in the current class loader. > When I change a Spring @Configuration or Hibernate mapping I just restart > the application manually. > > On Wed, Aug 28, 2019 at 11:25 AM Per Newgro wrote: > > > Hello *, > > > > I migrate my current wicket app to spring boot version ( > > https://github.com/MarcGiffing/wicket-spring-boot). > > > > So far it was straightforward. But now i experience a problem with > > inclusion of > > > > > > org.springframework.boot > > > > spring-boot-devtools > > > > > > It seems that the "restart / reload feature" of devtools loads my classes > > multiple times, so that they are not equal anymore (x.class <> x.class). > > I understand that this is happening. But i would like to know if there is > > another option for me beside - removing spring-boot-devtools. > > > > Would be nice to here from you > > Thanks > > Per > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicket Spring boot - use spring devtools
Hello *, I migrate my current wicket app to spring boot version (https://github.com/MarcGiffing/wicket-spring-boot). So far it was straightforward. But now i experience a problem with inclusion of org.springframework.boot spring-boot-devtools It seems that the "restart / reload feature" of devtools loads my classes multiple times, so that they are not equal anymore (x.class <> x.class). I understand that this is happening. But i would like to know if there is another option for me beside - removing spring-boot-devtools. Would be nice to here from you Thanks Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How to trace that a resource was requested?
Thanks Martin, good guess. Regards Per Hi, You can use Link#onClick() to count and then throw RedirectToUrlException(urlFor(yourResourceReference)) that will lead to a redirect. On Tue, Mar 12, 2019 at 3:11 PM Per Newgro wrote: Hello, i like to log that a resource (PDF file), generated in backend, was requested. The resource is mounted by a resource reference. An external link is using url to resource reference. Download of file generated by resource is working. But I like to avoid log of every request to resource. If the resource is requested without clicking the link i don't want to log the request. So i can not log the request while resource is generated. I need an onClick. I guess i can not use ExternalLink because it is not calling the server after click. Maybe i need to use ResourceLink, but with that component no one is calling it's onClick method. Is there any example on how to listen to downloads? Thanks for your support Per - 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
How to trace that a resource was requested?
Hello, i like to log that a resource (PDF file), generated in backend, was requested. The resource is mounted by a resource reference. An external link is using url to resource reference. Download of file generated by resource is working. But I like to avoid log of every request to resource. If the resource is requested without clicking the link i don't want to log the request. So i can not log the request while resource is generated. I need an onClick. I guess i can not use ExternalLink because it is not calling the server after click. Maybe i need to use ResourceLink, but with that component no one is calling it's onClick method. Is there any example on how to listen to downloads? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Google Login with spring boot @WicketApp
Hello, i would like to replace my local (db-based) login with OAuth Provider Google. But so far i could not implement a working solution. The app is registered at Google. Client secret and ID are present. But i can not find an example how to integrate everything in my Wicket App. Is some1 knowing an example which i can study? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket Spring Boot open entity manager in view config
Hi, i can answer myself :-) public @Bean FilterRegistrationBean openEntityManagerInViewFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new OpenEntityManagerInViewFilter()); registration.setName("openEntityManagerInView"); registration.addUrlPatterns("/*"); return registration; } If some1 else looks for this. Cheers Per Am 23.03.2018 um 19:47 schrieb Per Newgro: Hello, we would like to use the open-entitymanager-in-view pattern. It was working in our "old fashioned" spring application by configuring filter in web.xml. But we can not find the appropriate config for wicket spring boot. Enable spring.jpa.open-entitymanager-in-view=true seems not to be enough. We still get LazyInitException - no session. Can one of you please provide a short comment, what we can still check? Thanks for your support. Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicket Spring Boot open entity manager in view config
Hello, we would like to use the open-entitymanager-in-view pattern. It was working in our "old fashioned" spring application by configuring filter in web.xml. But we can not find the appropriate config for wicket spring boot. Enable spring.jpa.open-entitymanager-in-view=true seems not to be enough. We still get LazyInitException - no session. Can one of you please provide a short comment, what we can still check? Thanks for your support. Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Can I use wicket to emend my markup?
Hello, i try to render HTML markup with flying saucer to PDF. In case i render the page by wicket and use that result markup in my flying saucer wicket resource, everything is ok. Because i need to generate some SVG by browser using javascript (d3.js) i would like to send the markup from browser to my FS wicket resource. My main problem is that sending the html by using document.documentElement.outerHTML destroys the markup. It cuts of the end-tag from my link element. So the flying saucer complains on a missing link end-tag. Example My original html looks like this http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;> Apache Wicket Quickstart Apache Wicket after sending result of document.documentElement.outerHTML as form-data to wicket resource i receive http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;> Apache Wicket Quickstart http://localhost:8080/style.css; type="text/css" media="screen" title="Stylesheet"> ... The meta and link end-tags have been removed (i suspect the browser doing that). Flying saucer complains then with 1:36:41.764 [qtp2116908859-19] WARN RequestCycleExtra - Handling the following exception org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TrAX transformer). org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 4; Elementtyp "link" muss mit dem entsprechenden Endtag "" beendet werden. at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.transform(XMLResource.java:222) ~[flying-saucer-core-9.1.6.jar:?] at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:181) ~[flying-saucer-core-9.1.6.jar:?] at org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:84) ~[flying-saucer-core-9.1.6.jar:?] at org.xhtmlrenderer.pdf.ITextRenderer.setDocumentFromString(ITextRenderer.java:161) ~[flying-saucer-pdf-itext5-9.1.6.jar:?] What i would like to know is - can i send the markup to a "wicket class" and emend the corrupt tags? I would like to avoid to handle every corrupt tag manually. Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Re: Use Resource to transfer SVG to PNG
I've added a quickstart. https://issues.apache.org/jira/browse/WICKET-6424 Per > Gesendet: Dienstag, 18. Juli 2017 um 08:16 Uhr > Von: "Per Newgro" <per.new...@gmx.ch> > An: users@wicket.apache.org > Betreff: Aw: Re: Re: Use Resource to transfer SVG to PNG > > My main problem is, that i can not send the svg text to the resource. Doing > so by request parameters is not an option because the firewall will deny that > long cryptic content. > Therefor i would like to send the svg content through a form. > > So far i have the following: > > In my page-markup (containing the svg) i have > > > >wicket:message="value:misc.chartExport" /> > > > > var getSvg = function(element) { > var svgHtml = document.querySelector('#chart-container > .highcharts-container').innerHTML; > element.querySelector('input[name="data"]').value = svgHtml; > } > > > > In my page i have > > add( > new WebMarkupContainer("svgForm") > .add(AttributeModifier.replace("action", > PngResourceReference.url().toString(; > > > I've registered a resource by reference > > app.mountResource("/svg2png", new PngResourceReference()); > > --- > > public class PngResourceReference extends ResourceReference { > > private static final Key KEY = new > Key(PngResourceReference.class.getName(), "svg-to-png", null, null, null); > > public PngResourceReference() { > super(KEY); > } > > @Override > public IResource getResource() { > return new PngResource(); > } > > public static CharSequence url() { > PageParameters svgParameters = new PageParameters(); > return > RequestCycle.get().urlFor(Application.get().getResourceReferenceRegistry().getResourceReference(KEY, > false, false), svgParameters); > } > } > > public class PngResource extends ByteArrayResource { > > public PngResource() { > super("image/png"); > } > > @Override > protected void configureResponse(ResourceResponse response, Attributes > attributes) { > super.configureResponse(response, attributes); > response.setContentDisposition(ContentDisposition.ATTACHMENT); > response.setFileName("chart.png"); > response.disableCaching(); > } > > @Override > protected byte[] getData(Attributes attributes) { > ByteArrayOutputStream os; > try { > PNGTranscoder t = new PNGTranscoder(); > > // Set the transcoder input and output. > String svg = "something"; > TranscoderInput input = new TranscoderInput(new > StringReader(svg)); > os = new ByteArrayOutputStream(); > TranscoderOutput output = new TranscoderOutput(os); > > // Perform the transcoding. > t.transcode(input, output); > os.close(); > } catch (TranscoderException | IOException e) { > throw new RuntimeException(e); > } > return os.toByteArray(); > } > } > > > Gesendet: Montag, 17. Juli 2017 um 15:30 Uhr > > Von: "Martin Grigorov" <mgrigo...@apache.org> > > An: "users@wicket.apache.org" <users@wicket.apache.org> > > Betreff: Re: Re: Use Resource to transfer SVG to PNG > > > > On Mon, Jul 17, 2017 at 3:13 PM, Per Newgro <per.new...@gmx.ch> wrote: > > > > > Thanks for your response Martin. > > > > > > I tried to make it work the whole day now. But i can not get it to work > > > with IE11. > > > There is always a security error. This is a known problem for IE and > > > canvas. > > > > > > I ended up: > > > > > > $("#chart-export").on("click", function() { > > > var svg = document.querySelector( "svg" ); > > > var svgData = new XMLSerializer().serializeToString( svg ); > > > > > > var canvas = document.createElement( "canvas" ); > > > document.body.appendChild(canvas); > > > var svgSize = svg.getBoundingClientRect(); > > > canvas.width = svgSize.width; > > > canvas.height = svgSize.height; > > > > > > var ctx = canvas.getContext( "2d" )
Aw: Re: Re: Use Resource to transfer SVG to PNG
My main problem is, that i can not send the svg text to the resource. Doing so by request parameters is not an option because the firewall will deny that long cryptic content. Therefor i would like to send the svg content through a form. So far i have the following: In my page-markup (containing the svg) i have var getSvg = function(element) { var svgHtml = document.querySelector('#chart-container .highcharts-container').innerHTML; element.querySelector('input[name="data"]').value = svgHtml; } In my page i have add( new WebMarkupContainer("svgForm") .add(AttributeModifier.replace("action", PngResourceReference.url().toString(; I've registered a resource by reference app.mountResource("/svg2png", new PngResourceReference()); --- public class PngResourceReference extends ResourceReference { private static final Key KEY = new Key(PngResourceReference.class.getName(), "svg-to-png", null, null, null); public PngResourceReference() { super(KEY); } @Override public IResource getResource() { return new PngResource(); } public static CharSequence url() { PageParameters svgParameters = new PageParameters(); return RequestCycle.get().urlFor(Application.get().getResourceReferenceRegistry().getResourceReference(KEY, false, false), svgParameters); } } public class PngResource extends ByteArrayResource { public PngResource() { super("image/png"); } @Override protected void configureResponse(ResourceResponse response, Attributes attributes) { super.configureResponse(response, attributes); response.setContentDisposition(ContentDisposition.ATTACHMENT); response.setFileName("chart.png"); response.disableCaching(); } @Override protected byte[] getData(Attributes attributes) { ByteArrayOutputStream os; try { PNGTranscoder t = new PNGTranscoder(); // Set the transcoder input and output. String svg = "something"; TranscoderInput input = new TranscoderInput(new StringReader(svg)); os = new ByteArrayOutputStream(); TranscoderOutput output = new TranscoderOutput(os); // Perform the transcoding. t.transcode(input, output); os.close(); } catch (TranscoderException | IOException e) { throw new RuntimeException(e); } return os.toByteArray(); } } > Gesendet: Montag, 17. Juli 2017 um 15:30 Uhr > Von: "Martin Grigorov" <mgrigo...@apache.org> > An: "users@wicket.apache.org" <users@wicket.apache.org> > Betreff: Re: Re: Use Resource to transfer SVG to PNG > > On Mon, Jul 17, 2017 at 3:13 PM, Per Newgro <per.new...@gmx.ch> wrote: > > > Thanks for your response Martin. > > > > I tried to make it work the whole day now. But i can not get it to work > > with IE11. > > There is always a security error. This is a known problem for IE and > > canvas. > > > > I ended up: > > > > $("#chart-export").on("click", function() { > > var svg = document.querySelector( "svg" ); > > var svgData = new XMLSerializer().serializeToString( svg ); > > > > var canvas = document.createElement( "canvas" ); > > document.body.appendChild(canvas); > > var svgSize = svg.getBoundingClientRect(); > > canvas.width = svgSize.width; > > canvas.height = svgSize.height; > > > > var ctx = canvas.getContext( "2d" ); > > ctx.clearRect(0, 0, canvas.width, canvas.height); > > > > var img = document.createElement("img"); > > img.setAttribute("crossOrigin", "anonymous"); > > img.onload = function() { > > ctx.drawImage( img, 0, 0 ); > > var a = document.createElement("a"); > > a.download = "chart.png"; > > a.href = canvas.toDataURL( "image/png" ); > > document.body.appendChild(a); > > a.click(); > > }; > > img.setAttribute("src", "data:image/svg+xml;base64," + > > btoa(unescape(encodeURIComponent(svgData))) > > ); > > }); > > > > So i need to go on the other way. But there my problems still occur. > > > > What
Aw: Re: Use Resource to transfer SVG to PNG
Thanks for your response Martin. I tried to make it work the whole day now. But i can not get it to work with IE11. There is always a security error. This is a known problem for IE and canvas. I ended up: $("#chart-export").on("click", function() { var svg = document.querySelector( "svg" ); var svgData = new XMLSerializer().serializeToString( svg ); var canvas = document.createElement( "canvas" ); document.body.appendChild(canvas); var svgSize = svg.getBoundingClientRect(); canvas.width = svgSize.width; canvas.height = svgSize.height; var ctx = canvas.getContext( "2d" ); ctx.clearRect(0, 0, canvas.width, canvas.height); var img = document.createElement("img"); img.setAttribute("crossOrigin", "anonymous"); img.onload = function() { ctx.drawImage( img, 0, 0 ); var a = document.createElement("a"); a.download = "chart.png"; a.href = canvas.toDataURL( "image/png" ); document.body.appendChild(a); a.click(); }; img.setAttribute("src", "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(svgData))) ); }); So i need to go on the other way. But there my problems still occur. Regards Per > Gesendet: Montag, 17. Juli 2017 um 10:42 Uhr > Von: "Martin Grigorov" <mgrigo...@apache.org> > An: "users@wicket.apache.org" <users@wicket.apache.org> > Betreff: Re: Use Resource to transfer SVG to PNG > > Hi, > > Wouldn't HTML Canvas API be better solution? > See https://stackoverflow.com/a/27232525/497381 > > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Mon, Jul 17, 2017 at 10:12 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > Hello *, > > > > I would like to generate a png from a svg. The transcoding is done by > > using Batik. > > So far it works as expected. > > > > But i'm not sure how to provide the resulting png (a byte[]) to my > > frontend. > > > > The svg is generate in browser by using highcharts. I would like to > > provide a button > > that downloads the transcoded png by sending a request to the "transcoding > > resource" > > and using the svg-dom from browser. > > > > Is there someone who did that already once? Can you please give me a hint > > how this could work? > > > > Thanks for your support > > Per > > > > - > > 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
Use Resource to transfer SVG to PNG
Hello *, I would like to generate a png from a svg. The transcoding is done by using Batik. So far it works as expected. But i'm not sure how to provide the resulting png (a byte[]) to my frontend. The svg is generate in browser by using highcharts. I would like to provide a button that downloads the transcoded png by sending a request to the "transcoding resource" and using the svg-dom from browser. Is there someone who did that already once? Can you please give me a hint how this could work? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Re: Re: ListItem and enclosure problem
Thanks a lot Andrea, that did work. Now i get only markup of visible items. My Solution looks now: ListViewEnclosurePage.html http://wicket.apache.org;> [Content] ListViewEnclosurePage$MyListView.java public static class MyListView extends ListView { public MyListView( String id, List list) { super(id, list); } @Override protected void populateItem(ListItem item) { Label label = new Label("bar", item.getModel()); item.add(label); if (item.getIndex() == 1) { item.setVisible(false); } } } Thanks for your support Per > Gesendet: Donnerstag, 08. Juni 2017 um 12:30 Uhr > Von: "Andrea Del Bene" <an.delb...@gmail.com> > An: users@wicket.apache.org > Betreff: Re: Re: Re: ListItem and enclosure problem > > Just use: > > item.setVisible(false); > > instead of: > > label.setVisible(false); > > On Thu, Jun 8, 2017 at 12:23 PM, Per Newgro <per.new...@gmx.ch> wrote: > > > But wouldn't this only hide the complete listview when there is no item? > > I want to remove markup only for an empty item. > > > > So something like > > > > 1 > > 2 > > 3 > > > > > > should become in case foo:1:bar is invisible > > > > > > 1 > > 3 > > > > > > Thank you > > Per > > > > > Gesendet: Donnerstag, 08. Juni 2017 um 11:40 Uhr > > > Von: "Andrea Del Bene" <an.delb...@gmail.com> > > > An: users@wicket.apache.org > > > Betreff: Re: Re: ListItem and enclosure problem > > > > > > Sorry, in your case this HTML should work better: > > > > > > > > > > > > > > > [Content] > > > > > > > > > > > > > > > Then in your MyListView override onConfigure with something like this: > > > > > > void onConfigure() { > > >super.onConfigure(); > > >setVisible(getModelObject().size() > 0); > > > } > > > > > > > > > On Thu, Jun 8, 2017 at 11:09 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > > > > > Sorry Ernesto for my bad english. But i can not see how i shall get > > this > > > > to work with a panel? > > > > I use a listview because my item count is configurable. So i can not > > > > generate a "template panel" > > > > and put all items in that. But i admit that i didn't understand your > > > > question completely. > > > > > > > > Thanks > > > > Per > > > > > > > > > Gesendet: Donnerstag, 08. Juni 2017 um 10:17 Uhr > > > > > Von: "Ernesto Reinaldo Barreiro" <reier...@gmail.com> > > > > > An: "users@wicket.apache.org" <users@wicket.apache.org> > > > > > Betreff: Re: ListItem and enclosure problem > > > > > > > > > > Why to not put the thing in a panel? > > > > > > > > > > On Thu, Jun 8, 2017 at 9:54 AM, Per Newgro <per.new...@gmx.ch> > > wrote: > > > > > > > > > > > Hello, > > > > > > > > > > > > i would like to enclose markup of a list item in wicket:enclosure. > > The > > > > > > enclosure is activated based on a child component on list item. > > > > > > So for i could not find any marker that this is not working. So i > > need > > > > to > > > > > > do something wrong. Any work around would be welcome. > > > > > > > > > > > > Thanks for your support > > > > > > Per > > > > > > > > > > > > > > > > > > WicketApplication.java > > > > > > public class WicketApplication extends WebApplication > > > > > > { > > > > > > /** > > > > > >* @see org.apache.wicket.Application#getHomePage() > > > > > >*/ > > > > > > @Override > > > > > > public Class getHomePage() > > > > > > { > > > > > > return HomePage.class; > > > > > > } > > > > > > > > > > > > /** > > > > > >* @see org.apach
Aw: Re: Re: ListItem and enclosure problem
But wouldn't this only hide the complete listview when there is no item? I want to remove markup only for an empty item. So something like 1 2 3 should become in case foo:1:bar is invisible 1 3 Thank you Per > Gesendet: Donnerstag, 08. Juni 2017 um 11:40 Uhr > Von: "Andrea Del Bene" <an.delb...@gmail.com> > An: users@wicket.apache.org > Betreff: Re: Re: ListItem and enclosure problem > > Sorry, in your case this HTML should work better: > > > > >[Content] > > > > > Then in your MyListView override onConfigure with something like this: > > void onConfigure() { >super.onConfigure(); >setVisible(getModelObject().size() > 0); > } > > > On Thu, Jun 8, 2017 at 11:09 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > Sorry Ernesto for my bad english. But i can not see how i shall get this > > to work with a panel? > > I use a listview because my item count is configurable. So i can not > > generate a "template panel" > > and put all items in that. But i admit that i didn't understand your > > question completely. > > > > Thanks > > Per > > > > > Gesendet: Donnerstag, 08. Juni 2017 um 10:17 Uhr > > > Von: "Ernesto Reinaldo Barreiro" <reier...@gmail.com> > > > An: "users@wicket.apache.org" <users@wicket.apache.org> > > > Betreff: Re: ListItem and enclosure problem > > > > > > Why to not put the thing in a panel? > > > > > > On Thu, Jun 8, 2017 at 9:54 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > > > > > Hello, > > > > > > > > i would like to enclose markup of a list item in wicket:enclosure. The > > > > enclosure is activated based on a child component on list item. > > > > So for i could not find any marker that this is not working. So i need > > to > > > > do something wrong. Any work around would be welcome. > > > > > > > > Thanks for your support > > > > Per > > > > > > > > > > > > WicketApplication.java > > > > public class WicketApplication extends WebApplication > > > > { > > > > /** > > > >* @see org.apache.wicket.Application#getHomePage() > > > >*/ > > > > @Override > > > > public Class getHomePage() > > > > { > > > > return HomePage.class; > > > > } > > > > > > > > /** > > > >* @see org.apache.wicket.Application#init() > > > >*/ > > > > @Override > > > > public void init() > > > > { > > > > super.init(); > > > > mountPage("encloselistitem", ListViewEnclosurePage.class); > > > > } > > > > } > > > > > > > > ListViewEnclosurePage.class > > > > public class ListViewEnclosurePage extends WebPage { > > > > > > > > public ListViewEnclosurePage() { > > > > add(new MyListView("foo", Arrays.asList("1", "2", "3"))); > > > > } > > > > > > > > public static class MyListView extends ListView { > > > > > > > > public MyListView( > > > > String id, > > > > List list) { > > > > super(id, list); > > > > } > > > > > > > > @Override > > > > protected void populateItem(ListItem item) { > > > > Label label = new Label("bar", item.getModel()); > > > > item.add(label); > > > > if (item.getIndex() == 1) { // any condition > > > > label.setVisible(false); > > > > } > > > > } > > > > } > > > > } > > > > > > > > ListViewEnclosurePage.html > > > > > > > > http://wicket.apache.org;> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wicket:id="bar">[Content] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > - > > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > > > > > > > > > > > -- > > > Regards - Ernesto Reinaldo Barreiro > > > > > > > - > > 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
Aw: Re: ListItem and enclosure problem
Sorry Ernesto for my bad english. But i can not see how i shall get this to work with a panel? I use a listview because my item count is configurable. So i can not generate a "template panel" and put all items in that. But i admit that i didn't understand your question completely. Thanks Per > Gesendet: Donnerstag, 08. Juni 2017 um 10:17 Uhr > Von: "Ernesto Reinaldo Barreiro" <reier...@gmail.com> > An: "users@wicket.apache.org" <users@wicket.apache.org> > Betreff: Re: ListItem and enclosure problem > > Why to not put the thing in a panel? > > On Thu, Jun 8, 2017 at 9:54 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > Hello, > > > > i would like to enclose markup of a list item in wicket:enclosure. The > > enclosure is activated based on a child component on list item. > > So for i could not find any marker that this is not working. So i need to > > do something wrong. Any work around would be welcome. > > > > Thanks for your support > > Per > > > > > > WicketApplication.java > > public class WicketApplication extends WebApplication > > { > > /** > >* @see org.apache.wicket.Application#getHomePage() > >*/ > > @Override > > public Class getHomePage() > > { > > return HomePage.class; > > } > > > > /** > >* @see org.apache.wicket.Application#init() > >*/ > > @Override > > public void init() > > { > > super.init(); > > mountPage("encloselistitem", ListViewEnclosurePage.class); > > } > > } > > > > ListViewEnclosurePage.class > > public class ListViewEnclosurePage extends WebPage { > > > > public ListViewEnclosurePage() { > > add(new MyListView("foo", Arrays.asList("1", "2", "3"))); > > } > > > > public static class MyListView extends ListView { > > > > public MyListView( > > String id, > > List list) { > > super(id, list); > > } > > > > @Override > > protected void populateItem(ListItem item) { > > Label label = new Label("bar", item.getModel()); > > item.add(label); > > if (item.getIndex() == 1) { // any condition > > label.setVisible(false); > > } > > } > > } > > } > > > > ListViewEnclosurePage.html > > > > http://wicket.apache.org;> > > > > > > > > > > > > > > > > > > > > > wicket:id="bar">[Content] > > > > > > > > > > > > > > > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > -- > Regards - Ernesto Reinaldo Barreiro > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: ListItem and enclosure problem
Thanks for responding. Maybe i should have stated my goal clearly. I would like to remove the space occupied by empty list items. Basically i do it with wicket:enclosures. While not displaying the "empty element" markup the space is not occupied. Do you mean that i need to change it that way? http://wicket.apache.org;> [Content] This is not working to. ERROR - DefaultExceptionMapper - Unexpected error occurred org.apache.wicket.WicketRuntimeException: Could not find child with id: foo:bar in the wicket:enclosure at org.apache.wicket.markup.html.internal.Enclosure.checkChildComponent(Enclosure.java:250) at org.apache.wicket.markup.html.internal.Enclosure.getChildComponent(Enclosure.java:228) at org.apache.wicket.markup.html.internal.Enclosure.onInitialize(Enclosure.java:132) at org.apache.wicket.Component.fireInitialize(Component.java:877) at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:961) at org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:938) This works but with multiple ul in markup and the empty ul is still displayed. http://wicket.apache.org;> [Content] Thanks for help Per > Gesendet: Donnerstag, 08. Juni 2017 um 10:17 Uhr > Von: "Andrea Del Bene" <an.delb...@gmail.com> > An: users@wicket.apache.org > Betreff: Re: ListItem and enclosure problem > > Hi, > > have a look at the answer here on StackOverflow: > https://stackoverflow.com/questions/44270160/how-to-access-html-element-which-doesnt-have-a-wicketid > Basically you should move your ListView to tag an remove wicket:id > from tag. > > On Thu, Jun 8, 2017 at 9:54 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > Hello, > > > > i would like to enclose markup of a list item in wicket:enclosure. The > > enclosure is activated based on a child component on list item. > > So for i could not find any marker that this is not working. So i need to > > do something wrong. Any work around would be welcome. > > > > Thanks for your support > > Per > > > > > > WicketApplication.java > > public class WicketApplication extends WebApplication > > { > > /** > >* @see org.apache.wicket.Application#getHomePage() > >*/ > > @Override > > public Class getHomePage() > > { > > return HomePage.class; > > } > > > > /** > >* @see org.apache.wicket.Application#init() > >*/ > > @Override > > public void init() > > { > > super.init(); > > mountPage("encloselistitem", ListViewEnclosurePage.class); > > } > > } > > > > ListViewEnclosurePage.class > > public class ListViewEnclosurePage extends WebPage { > > > > public ListViewEnclosurePage() { > > add(new MyListView("foo", Arrays.asList("1", "2", "3"))); > > } > > > > public static class MyListView extends ListView { > > > > public MyListView( > > String id, > > List list) { > > super(id, list); > > } > > > > @Override > > protected void populateItem(ListItem item) { > > Label label = new Label("bar", item.getModel()); > > item.add(label); > > if (item.getIndex() == 1) { // any condition > > label.setVisible(false); > > } > > } > > } > > } > > > > ListViewEnclosurePage.html > > > > http://wicket.apache.org;> > > > > > > > > > > > > > > > > > > > > > wicket:id="bar">[Content] > > > > > > > > > > > > > > > > > > - > > 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
ListItem and enclosure problem
Hello, i would like to enclose markup of a list item in wicket:enclosure. The enclosure is activated based on a child component on list item. So for i could not find any marker that this is not working. So i need to do something wrong. Any work around would be welcome. Thanks for your support Per WicketApplication.java public class WicketApplication extends WebApplication { /** * @see org.apache.wicket.Application#getHomePage() */ @Override public Class getHomePage() { return HomePage.class; } /** * @see org.apache.wicket.Application#init() */ @Override public void init() { super.init(); mountPage("encloselistitem", ListViewEnclosurePage.class); } } ListViewEnclosurePage.class public class ListViewEnclosurePage extends WebPage { public ListViewEnclosurePage() { add(new MyListView("foo", Arrays.asList("1", "2", "3"))); } public static class MyListView extends ListView { public MyListView( String id, List list) { super(id, list); } @Override protected void populateItem(ListItem item) { Label label = new Label("bar", item.getModel()); item.add(label); if (item.getIndex() == 1) { // any condition label.setVisible(false); } } } } ListViewEnclosurePage.html http://wicket.apache.org;> [Content] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
How can i authorize a 'bot' to access my REST resource?
Hi, i've extended an org.wicketstuff.rest.resource.AbstractRestResource and mounted it in my WebApplication. Everything works so far. But i've annotated my Method with a role that shall be extracted from the session. I'm not quite sure how to 'login' my import command (CLI) as a user Has someone maybe a working example for authorized resource access? Thanks Per @AuthorizeResource public class CRMDataImportResource extends AbstractRestResource { @SpringBean(name = "FullImport") private DataImport dataImport; public CRMDataImportResource() { super(new JsonWebSerialDeserial( new GsonObjectSerialDeserial()), new IRoleCheckingStrategy() { @Override public boolean hasAnyRole(Roles roles) { CDISession session = CDISession.get(); return session.hasAnyRole(roles); } } ); Injector.get().inject(this); } @MethodMapping( value = "/full", httpMethod = HttpMethod.POST) @AuthorizeInvocation("CRMDataImport") public String fullImport(@RequestBody DocumentBatch batch) throws Exception { return dataImport.fullImport(batch); } } - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: DropDownChoice with ChoiceRenderer
Hello ganea, can you please investigate the method below? Hope that helps Per Am 14.10.2016 um 14:52 schrieb ganea iulia: @Override public String getObject(String paramString, IModel> paramIModel) { // TODO Auto-generated method stub return null; } - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Repeat every 2 rows in a table
Hello ganea, you can find many information about your problem at http://examples7x.wicket.apache.org/index.html espacially http://examples7x.wicket.apache.org/repeater The user guide can you find here https://ci.apache.org/projects/wicket/guide/7.x/ Repeaters are explained here https://ci.apache.org/projects/wicket/guide/7.x/guide/repeaters.html You can add a markup container to a list view item and add the required row components to it. Hope that helps Per Am 14.10.2016 um 09:16 schrieb ganea iulia: Hello, I have in the html file, a table where I need to repeat every two rows. So, my table is backed by a bean, where the bean values fill 2 rows of the table. When new bean instance is created, I need to add new 2 rows to the table. Thank you - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Find a component corresponding to entity
Thank you both for your statement. Per > Gesendet: Mittwoch, 28. September 2016 um 08:34 Uhr > Von: "Ernesto Reinaldo Barreiro" <reier...@gmail.com> > An: "users@wicket.apache.org" <users@wicket.apache.org> > Betreff: Re: Find a component corresponding to entity > > Per, > > I normally do it the static factory way.. but Spring might give you the > advantage for testing (e.g in some situation just pass something that > creates an empty panels, or anything else). As Martin said, this is not > something Wicket cares about. > > On Wed, Sep 28, 2016 at 8:04 AM, Per Newgro <per.new...@gmx.ch> wrote: > > > Hello *, > > > > I'm looking for an elegant solution to determine a component for an entity. > > > > Example: > > There is a person and two sub-types of it - Manager and Sportsman. > > The Manager can be listed in a listview by using a ManagerViewItem > > and the Sportsman by using a SportsmanViewItem. > > > > Currently I'm using a factory producing the appropriate viewitems. But > > this factory is injected by using spring. > > I would like to reduce the coupling to spring within my component classes > > (e.g. Page). > > > > So i'm looking for a "wicket way" to determine which component is required > > to list all persons. > > > > Thanks for your ideas. > > Per > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > -- > Regards - Ernesto Reinaldo Barreiro > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Find a component corresponding to entity
Hello *, I'm looking for an elegant solution to determine a component for an entity. Example: There is a person and two sub-types of it - Manager and Sportsman. The Manager can be listed in a listview by using a ManagerViewItem and the Sportsman by using a SportsmanViewItem. Currently I'm using a factory producing the appropriate viewitems. But this factory is injected by using spring. I would like to reduce the coupling to spring within my component classes (e.g. Page). So i'm looking for a "wicket way" to determine which component is required to list all persons. Thanks for your ideas. Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Tool for finding missing translations in properties.xml
I wrote my own tool as my search wasn't successful. But it is simply a main method loading the files and compares keys. Cheers Per Am 07.07.2016 um 16:48 schrieb Thorsten Schöning: Hi all, in my Wicket app I'm using properties.xml files for my i18n texts, like described in the wiki[1]. The problem I have is that the files are differently up to date, depending on the language and how important it was for somebody to translate one exact key for one special language etc. the only thing I really know is that English is up to date... So, does anyone knows a tool which expects translation files in a dir structure and compares all found to their English base file? In the end it should simply print which file in which dir is missing which key compared to the English base. Such a problem sounds common to me, but I couldn't find any good software dealing with it yet. Thanks! [1]: https://ci.apache.org/projects/wicket/guide/6.x/guide/i18n.html#i18n_2 Mit freundlichen Grüßen, Thorsten Schöning - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: wicket 6.x / java.text.ParseException on multiple div's
Did you try to remove the questionable markup to see what is happening? Am 15.05.2016 um 11:39 schrieb Korbinian Bachl: Hello, I'm still on migrating a big wicket 1.4 app to wicket 6.23, and I now got a problem I dont know how to solve. A page throws following error: java.text.ParseException: Same attribute found twice: div (line 163, column 52) at org.apache.wicket.markup.parser.XmlPullParser.parseTagText(XmlPullParser.java:698) at org.apache.wicket.markup.parser.XmlPullParser.next(XmlPullParser.java:311) so far I would expect this to happen on wrong/ malformed HTML - but my HTML is fine is indeed needed this way! complained HTML: content content So what is going on here? Why does wicket complain about those poor div's? Is there any way I can disable this check for div's??? For me this behaviour seems as a bug as div following a div is perfectly fine HTML code? Best, Korbinian - 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: Filtering capabilities in TH (Array Header) or for dataview.
Maybe you can use org.apache.wicket.extensions.markup.html.repeater.data.table.filter.FilterToolbar You need to provide your column definitions as IFilteredColumn in your DataTable. The rest will be done by html markup. It's in wicket-extension library. Cheers Per Am 26.02.2016 um 23:34 schrieb andre seame: Hello The DataTableFilterToolbarPage demonstrates the capability of filtering dates for a Datatable. Great. I would like to have an array of <int,String,date1,date2>. Column 1 and 2 are sortable (ASC or DESC). Column 3 and 4 (the dates) are sortable and filterable. I would like to have a different presentation as DataTableFilterToolbarPage does. Instead of having the forms for filtering outside the table, I would like to include it into the TH. int String date1 .. date2 .. In this case the user will type the filtering condition in the header of the column Date1 or Date2. So questions are: * Is it possible to add filtering capabilities to a dataview? If Yes, I can access to the TH cell and had the form information. * Is it possible to modify the content of the cell th Date1 to add the form information. Thanks, PHL - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Reanimate project from wicketstuff sandbox
Hello, maybe someone has some experiences with the topic and can support me. I would like to update wicketstuff/sandbox/wicket-contrib-jamon. I already forked the sandbox and transfered code from 1.3 to 1.4 to 1.5 to 6 and now to 7. Almost all problems are solved. There are some strange tests which checks that something is NOT running for 1.3 Maybe the founder of that project can give me some hints on this. But anyway. I would like to clearify the next steps to publish my work to the community. So far i've read the wicketstuff-wiki - contribute a new project - while it is not new :-). I firstly need to adapt the project structure and put it unter wicketstuff/core. Do i need to fork wicketstuff-core or can i request write-access to orginal repo? My current master contains the wicket-7 version do i need to support earlier versions to? It would be no big problem. Do i need to create a branch for every version then or is it enough to manage branch 1.3.x, 1.4.x and so on? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Best Practice - Create component by entity type?
This sounds good. I already have a registry where i can register services in a decoupled way. With spring and @PostConstruct no Problem :-). I would ASK then every factory if it is responsible for my entity type. But i still see a problem here. How to prioritize factory if i have more than one factory for a Person type. For instance if a boss is a manager. Then i can't use instanceof in the manager factory because boss entity would match twice. Am 03.07.2015 3:14 nachm. schrieb Rob Audenaerde rob.audenae...@gmail.com: Hi Per, You can do something like this: Create a set of compontents that will be your panels to display specific Persons. Let's call them PersonPanels. You can introduce a PersonPanelFactory, which might give you the appropriate PersonPanel based on the class of the Person ( person.getClass() ) . This is however not yet nicely extensible, but you decoupled the logic for creating panels from your list-code. Next step: you need to register the classes somehow so you can provide panels for in the factory, so the factory can for example use a map to provide the proper PersonPanel. You can use reflection to call the constructors, which will need to have the same arguments for their constructors. This is the biggest disadvantage I think in this approach. Somewhat like this: class PersonPanelFactory { public PersonPanel getPanelFor( ClassT extends personClass) ... public registerPanelFor ( ClassT extends Person personClass, ClassT extends PersonPanel personPanelClass ... } On Fri, Jul 3, 2015 at 2:32 PM, Per Newgro per.new...@gmx.ch wrote: Hi, i think about that problem for some time now. Maybe someone alrady has a good solution. Let's assume we have a Manager entity and a Tainee entity. Both are Person entities. In Model we ask for all persons. So we get a mix from Managers and Trainees in a list. Both concrete entity types shall be displayed in their own component (a custom panel for every1). I would ask for simple, decoupled (extendible) solution of this problem. So far i've tried the obvious instance of approach. But this is not extendible. Maybe someone can send me some ideas. Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Best Practice - Create component by entity type?
Hi, i think about that problem for some time now. Maybe someone alrady has a good solution. Let's assume we have a Manager entity and a Tainee entity. Both are Person entities. In Model we ask for all persons. So we get a mix from Managers and Trainees in a list. Both concrete entity types shall be displayed in their own component (a custom panel for every1). I would ask for simple, decoupled (extendible) solution of this problem. So far i've tried the obvious instance of approach. But this is not extendible. Maybe someone can send me some ideas. Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Can i render content (css) of ContextRelativeResource to markup?
Hi, I like to render a PDF by my wicket page using flying-saucer. There i reference my css file by url (link). So far everything works. But if i switch to SSL flying-saucer breaks. Hmm. My solution to this issue would be to include content of my css file directly in the wicket-page used to render the pdf. I tried to get the resource and render it in markup like this code MyPage.java @Override public void renderHead(IHeaderResponse response) { IResource s = new SharedResourceReference(report.css).getResource(); Attributes a = new Attributes(getRequest(), getResponse()); s.respond(a); super.renderHead(response); } /code but i get at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.UnsupportedOperationException at org.apache.wicket.response.StringResponse.write(StringResponse.java:88) at org.apache.wicket.request.Response$StreamAdapter.write(Response.java:148) at org.apache.wicket.util.io.Streams.copy(Streams.java:109) at org.apache.wicket.util.io.Streams.copy(Streams.java:76) at org.apache.wicket.request.resource.ContextRelativeResource$1.writeData(ContextRelativeResource.java:110) at org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:528) at de.MyPage.renderHead(MyPage.java:88) at org.apache.wicket.Component.renderHead(Component.java:4419) at org.apache.wicket.Component.renderHead(Component.java:2679) at org.apache.wicket.markup.renderStrategy.AbstractHeaderRenderStrategy.renderRootComponent(AbstractHeaderRenderStrategy.java:127) at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:60) at org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:170) at org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71) at org.apache.wicket.Component.internalRenderComponent(Component.java:2529) ... 51 more It seems that my ContextRelativeResource only provides content as byte[] ans StringResponse not supporting this. Maybe i be off the track. Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Submit Inputs on ListView by StatelessForm
Hi, i try to submit some (repeated) fields by a stateless form. You can find the code here: http://pastebin.com/AQ6m0EKT If i use a basic Form.class in my scenario everything works as expected. But with a stateless form i can not make it. The exact same configuration without any listview works by using the stateless form. But that requires me to add all fields without an automatic repeating. So my question is: How can i submit multiple (repeated) input fields by a stateless form? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Submit Inputs on ListView by StatelessForm
Hi Martin, thanks for your response. I've refactored the code to use a refreshing view. But there is still the same results. Code can be found here: http://pastebin.com/dhqj8zHr Do i need to use a special repeater? Thanks Per Gesendet: Mittwoch, 09. Juli 2014 um 10:13 Uhr Von: Martin Grigorov mgrigo...@apache.org An: users@wicket.apache.org users@wicket.apache.org Betreff: Re: Submit Inputs on ListView by StatelessForm Hi, ListView have special requirements when being used in a Form. See ListView#setReuseItems(boolean) javadoc. I guess it is better to use another repeater when you want to keep the page stateless. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Jul 9, 2014 at 11:08 AM, Per Newgro per.new...@gmx.ch wrote: Hi, i try to submit some (repeated) fields by a stateless form. You can find the code here: http://pastebin.com/AQ6m0EKT If i use a basic Form.class in my scenario everything works as expected. But with a stateless form i can not make it. The exact same configuration without any listview works by using the stateless form. But that requires me to add all fields without an automatic repeating. So my question is: How can i submit multiple (repeated) input fields by a stateless form? Thanks for your support Per - 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
Exclude link from disabled hierarchy
Hi, I enable a Form by autorized role. Some users see the form enabled, some disabled. All works fine. My problem is that i've added a goback-link which should be enabled always for all users. But because the link is added to the form (within a button panel) it get's disabled to. Is there a smart way to exclude the goback link form enabledInHierarchy processing? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Exclude link from disabled hierarchy
Thanks for your respose Martin. I maybe found another solution meanwhile. There is a method in AbstractLink @Override protected boolean isLinkEnabled() { return isEnabledInHierarchy(); } I've overwritten this by @Override protected boolean isLinkEnabled() { return true; } Now it seems to work as expected. Thanks for your support Per Gesendet: Mittwoch, 18. Juni 2014 um 09:49 Uhr Von: Martin Grigorov mgrigo...@apache.org An: users@wicket.apache.org users@wicket.apache.org Betreff: Re: Exclude link from disabled hierarchy Hi, I believe there is a ticket for such requirement but JIRA is too slow today and I cannot find it. In general this is not possible. But it is possible for links - override org.apache.wicket.markup.html.link.AbstractLink#disableLink() for this special link. Martin Grigorov Wicket Training and Consulting On Wed, Jun 18, 2014 at 10:32 AM, Per Newgro per.new...@gmx.ch wrote: Hi, I enable a Form by autorized role. Some users see the form enabled, some disabled. All works fine. My problem is that i've added a goback-link which should be enabled always for all users. But because the link is added to the form (within a button panel) it get's disabled to. Is there a smart way to exclude the goback link form enabledInHierarchy processing? Thanks for your support Per - 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
How can i avoid that urls in src attributes are handled by wicket?
Hi *, we have a page which contains markup like this ... script type=text/x-handlebars id=template img src={{ url }} alt={{ name }} / /script ... After rendering the page the markup looks like this script type=text/x-handlebars id=template img src=../{{ url }} alt={{ name }} / /script Please note the ../ before the {{ url }} Until now i thought that wicket handles only markup within html tags containing a wicket:id. But it seems that Wicket gone wild here :-). So my question would be: How can i avoid that wicket handles the src attribute in non-wicket markup? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Locale in NumberTextField
Hello, i have a question regarding the input conversion in NumberTextField (wicket 6.14) This is the code in question: /** * Always use {@link Locale#ENGLISH} to parse the input. */ @Override protected void convertInput() { IConverterN converter = getConverter(getNumberType()); try { setConvertedInput(converter.convertToObject(getInput(), Locale.ENGLISH)); } catch (ConversionException e) { error(newValidationError(e)); } } Why is the used locale hardcoded here (Locale.ENGLISH). Shouldn't that be the session locale? Is there any browser standard regarding this behavior (Couldn't find one so far)? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
NumberTextField eats my markup step attribute
Hi, i would like to enable float values in my form (without validation error). But it's not possible for me. If i add this input markup input type=number step=any wicket:id=myNumber / and assign a new NumberTextFieldDouble(myNumber, numberModel); the resulting markup is input type=number id=myNumber1 / So i'm not able to get a valid form submit with a value of 12.5 because step=any has been removed (NumberTextField@190). The NumberTextField.setStep is also unusable because it uses a Number parameter which is any obviously not :-). is there another workaround or is a ticket required? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: NumberTextField eats my markup step attribute
Because the w3c-spec says step = any or positive floating-point number NEW Specifies the value granularity of the element’s value. and Positive floating-point number # A non-negative floating-point number, with the following restriction: must be greater than zero http://dev.w3.org/html5/markup/input.number.html it should be valid to use 0 or 0 as special constant in NumberTextField. NumberTextField public static final Number ANY = 0; and @Override protected void onComponentTag(final ComponentTag tag) { ... if (step != null) { if (step.equals(ANY) { attributes.put(step, any); } else { attributes.put(step, Objects.stringValue(step)); } } else { attributes.remove(step); } ... } This should do the trick without any change in current behavior. Thanks Per Then i could do Gesendet: Freitag, 10. Januar 2014 um 09:01 Uhr Von: Per Newgro per.new...@gmx.ch An: wicket usergroup users@wicket.apache.org Betreff: NumberTextField eats my markup step attribute Hi, i would like to enable float values in my form (without validation error). But it's not possible for me. If i add this input markup input type=number step=any wicket:id=myNumber / and assign a new NumberTextFieldDouble(myNumber, numberModel); the resulting markup is input type=number id=myNumber1 / So i'm not able to get a valid form submit with a value of 12.5 because step=any has been removed (NumberTextField@190). The NumberTextField.setStep is also unusable because it uses a Number parameter which is any obviously not :-). is there another workaround or is a ticket required? Thanks for your support Per - 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
Aw: Re: NumberTextField eats my markup step attribute
Thank you Martin. Done https://issues.apache.org/jira/browse/WICKET-5467 Gesendet: Freitag, 10. Januar 2014 um 09:09 Uhr Von: Martin Grigorov mgrigo...@apache.org An: users@wicket.apache.org users@wicket.apache.org Betreff: Re: NumberTextField eats my markup step attribute Hi, This is a bug. Please file a ticket. Martin Grigorov Wicket Training and Consulting On Fri, Jan 10, 2014 at 10:01 AM, Per Newgro per.new...@gmx.ch wrote: Hi, i would like to enable float values in my form (without validation error). But it's not possible for me. If i add this input markup input type=number step=any wicket:id=myNumber / and assign a new NumberTextFieldDouble(myNumber, numberModel); the resulting markup is input type=number id=myNumber1 / So i'm not able to get a valid form submit with a value of 12.5 because step=any has been removed (NumberTextField@190). The NumberTextField.setStep is also unusable because it uses a Number parameter which is any obviously not :-). is there another workaround or is a ticket required? Thanks for your support Per - 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
Is Behavior.beforeRender useful for component configuration?
Hi, we have an admin menu in our menu bar. All items in admin menu are configured by @AuthorizeAction. I would like to hide the admin item in main menu if no menu item is visible in the admin menu (e.g. user is not an admin). To avoid repeating myself in every onBeforeRender method of the included components i've tried to use a behavior. It tries to hide parent by checking if all items are invisible and configure the parent's visibility. But this is not working (configure(component) and beforeRender(component)). Configure is not usable because the render permission (setRenderAllowed) is determined after the Behavior.onConfigure was called. So the action takes place before the child is authorized. Then i thaught let's do it in beforeRender. But there we got a message org.apache.wicket.WicketRuntimeException: Cannot modify component hierarchy after render phase has started (page version cant change then anymore) at org.apache.wicket.Component.checkHierarchyChange(Component.java:3595) at org.apache.wicket.Component.addStateChange(Component.java:3524) at org.apache.wicket.Component.setVisible(Component.java:3213) This is comprehensible for me so far. No change after rendering started. But how shall i hide the parent without repeating myself in every Component.onBeforeRender method? This is working. But i have to duplicate my code for ListItem, ListView and AdminPanel. We use wicket-6.11 Thanks for helping me out of the wood. Per Here some markup of my admin menu markup. code html xmlns:wicket wicket:panel a href=# data-dropdown-toggle=#admin-navigation wicket:message=title:navigation.fullHeading.administration i class=icon-admin?/i /a div id=admin-navigation ul wicket:container wicket:id=items wicket:enclosure child=menu-item li a wicket:id=menu-item span wicket:container wicket:id=short-titleShort title/wicket:container /span /a /li /wicket:enclosure /wicket:container wicket:enclosure child=reindexSearch li a wicket:id=reindexSearch onclick=alert('Rebuild initiated'); return true; wicket:message key=navigation.fullHeading.reindexReindex Search Server/wicket:message /a /li /wicket:enclosure /ul /div /wicket:panel /html code In page menu is included this way: code ... ul class=button-toolbar id=main-navigation wicket:container wicket:id=buttonMenu/wicket:container wicket:enclosure child=adminNavigation li wicket:id=adminNavigation/li /wicket:enclosure /ul ... /code --- Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv. http://www.avast.com
Re: Is Behavior.beforeRender useful for component configuration?
Hey Paul, thanks for your reply. Sadly i can not use Behavior.configure(Component). The code will be executed (see Component.configure) before the render action is granted to the component by applying the isActionAuthorized(Render). See Component.java line 1030 to 1039 for details. Do i have another option? Thanks Per Am 02.01.2014 16:55, schrieb Paul Bors: Do you want the configuration code to run each time before the component your behavior is attached to renders? Then go ahead and place your code there, otherwise if you only want the configuration code to run only once see the onConfigure() method: /** * Called immediately after the onConfigure method in a component. Since this is before the * rendering cycle has begun, the behavior can modify the configuration of the component (i.e. * setVisible(false)) * * @param component *the component being configured */ public void onConfigure(Component component) { } On Thu, Jan 2, 2014 at 4:00 AM, Per Newgro per.new...@gmx.ch wrote: Hi, we have an admin menu in our menu bar. All items in admin menu are configured by @AuthorizeAction. I would like to hide the admin item in main menu if no menu item is visible in the admin menu (e.g. user is not an admin). To avoid repeating myself in every onBeforeRender method of the included components i've tried to use a behavior. It tries to hide parent by checking if all items are invisible and configure the parent's visibility. But this is not working (configure(component) and beforeRender(component)). Configure is not usable because the render permission (setRenderAllowed) is determined after the Behavior.onConfigure was called. So the action takes place before the child is authorized. Then i thaught let's do it in beforeRender. But there we got a message org.apache.wicket.WicketRuntimeException: Cannot modify component hierarchy after render phase has started (page version cant change then anymore) at org.apache.wicket.Component.checkHierarchyChange(Component.java:3595) at org.apache.wicket.Component.addStateChange(Component.java:3524) at org.apache.wicket.Component.setVisible(Component.java:3213) This is comprehensible for me so far. No change after rendering started. But how shall i hide the parent without repeating myself in every Component.onBeforeRender method? This is working. But i have to duplicate my code for ListItem, ListView and AdminPanel. We use wicket-6.11 Thanks for helping me out of the wood. Per Here some markup of my admin menu markup. code html xmlns:wicket wicket:panel a href=# data-dropdown-toggle=#admin-navigation wicket:message=title:navigation.fullHeading.administration i class=icon-admin?/i /a div id=admin-navigation ul wicket:container wicket:id=items wicket:enclosure child=menu-item li a wicket:id=menu-item span wicket:container wicket:id=short-titleShort title/wicket:container /span /a /li /wicket:enclosure /wicket:container wicket:enclosure child=reindexSearch li a wicket:id=reindexSearch onclick=alert('Rebuild initiated'); return true; wicket:message key=navigation.fullHeading.reindexReindex Search Server/wicket:message /a /li /wicket:enclosure /ul /div /wicket:panel /html code In page menu is included this way: code ... ul class=button-toolbar id=main-navigation wicket:container wicket:id=buttonMenu/wicket:container wicket:enclosure child=adminNavigation li wicket:id=adminNavigation/li /wicket:enclosure /ul ... /code --- Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv. http://www.avast.com --- Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv. http://www.avast.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Form submit without URL modification
Hi Nick, we do a setResponsePage(this.getPageClass(), this getPageParameters()) at the end of the submit. Then the url is the same as before. Hth Per Am 20.12.2013 20:08, schrieb Nick Pratt: Is it possible to create a form submission that hits a specific URL and doesn't modify the original URL displayed in the browser. e.g. I have a single simple Page, that has a StatelessForm on it. I hit this via http://localhost:8080/ When I hit the form submit button, the URL in the browser changes to: http://localhost:8080//?-1.IFormSubmitListener-form Im trying to create a button that can always be clicked regardless of Wicket session expiration and that doesnt modify the URL - is this possible? N --- Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv. http://www.avast.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How Does Checkbox Know To Store To My Data Object
Hi david, there is no code in your email. Cheers Per Am 18.10.2013 22:39, schrieb dhongyt: I have a Data Object called DownloadBagService which works as a place to hold the checked files the a user selects. I have a page that the user are able to select files from and add it to the DownloadBagService. When the user checks on files and hits submit. The files appear in the DownloadBagService magically. As you can see my onSubmit contains code that is commented out. How does Wicket know to put those files in the DownloadBagService? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-Does-Checkbox-Know-To-Store-To-My-Data-Object-tp4661879.html Sent from the Users forum 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
Re: [auth-roles] Design of x-RoleAuthorizationStartegy
Thanks for your reply Sven. That makes sense. Ok then we can definitly build our own solution. Cheers Per Am 15.10.2013 13:48, schrieb Sven Meier: Hi, wicket-auth-roles is 'mostly a technology demonstration': https://wicket.apache.org/learn/projects/authroles.html It's a very simple starting point, thus it cannot serve all needs. Please use it as an inspiration for your own solution. Regards Sven - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
[auth-roles] Design of x-RoleAuthorizationStartegy
Hi, we had a simple usecase today leading us to confusion on AnnotationsRoleAuthorizationStrategy (ARAS). We tried to protect a button by using two different permissions. So we had to use AuthorizeActions. We did it this way code @AuthorizeActions(actions = { @AuthorizeAction(action = Action.RENDER, roles = { entity.create }), @AuthorizeAction(action = Action.RENDER, roles = { document.fillout }) }) private static class NewDocumentForNewEntityLink extends BookmarkablePageLinkVoid { public NewDocumentForNewEntityLink(String id, Class? extends WebPage pageClass) { super(id, pageClass); } } /code Ok we don't use the roles as their name would suggest it. We use it more as permissions. But that is not relevant here (IMHO). In one of our test cases we've found out that only one permission is required to get that link displayed. But we would like to include all permissions. And so the story begins. The first maybe intuitive way to customize the annotation handling was to implement our own IRoleCheckingStrategy. But the first issue we had was the name of the interface method we had to implement (hasAny(Roles)) which suggests an or condition. = Isn't this to thight for an interface? Shouldn't the name be accepts(Roles)? With further checks we saw no chance to get an and condition check done by the current ARAS implementation. The only possibility was to overwrite code protected boolean isActionAuthorized(final Class? componentClass, final Action action) /code and do it by our own. Another problem could be the handling of the deny permissions. If we would like to use an or condition check here this wouldn't be possible because accept and deny checks use the same method (hasAny(Roles)). = Shouldn't the role check a task of the RoleCheckingStartegy? Shouldn't it be a more configurable implementation? I hope my problem got clear. I don't want to snub anybody. The intention of this is only to have a discussion here before we create a ticket with a patch. What do you think? Thanks for your opinion Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Strange behavior on first page request with jetty from Start.class
Hi, has someone seen the following behavior and can give me a hint? I do some changes on my project. Then i use the Start class (provided by quickstart) to start the embedded jetty. The i reload a page in the browser And then page loading is really slow 2min or Page is rendered but there is no javascript (at least the scripts are not executed). If i reload the page (by pressing F5 in FF) then everything is rendered fine and works as expected. But not on the first request. Is this only on my side? Environment eclipse 4.3.1 juno wicket-6.9.1 jetty-8.1.11.v20130520 spring, jpa java7 Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: header resources order in 1.5.x
Hi Michal, do you know this? https://github.com/ivaynberg/wicket-select2 There are examples. Maybe it can help Cheers Per Am 08.08.2013 17:27, schrieb Michal Wegrzyn: Dear, I am trying to integrate select2, but ordering in head doesn't seem to be good. What is the easiest way to order resource references in Wicket 1.5.x? Header decorator? If so, how do I obtain collection with references? Best regards, Michal Wegrzyn - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: How can i render json into markup?
Hi Paul, thanks for your reply. As i wrote we don't want to use the wicked-charts integration. Reinventing the wheel is not our goal. What i want to know was how i can render the script with the json content inside the div. So far i've found a chart example in Igor's excelent Cookbook. But the problem of add a script in a div is still open. Thanks Per Am 06.07.2013 09:44, schrieb Paul Borș: Your question is better addressed at http://wicked-charts.2319560.n4.nabble.com/ The mailing list for https://code.google.com/p/wicked-charts/ Tom H. did a super good job on integrating High Charts with Wicket so I'm not sure why you're reinventing the wheel. Have a great day, Paul Bors On Jul 5, 2013, at 3:04 PM, Per Newgro per.new...@gmx.ch wrote: Hi, i would like to include highcharts. I know there is a wicket module but we want to use the script. So my requirement is it to render the div below with the json content in it. Do i have to use a label and render body only? Or is there another way. I couldn't find any example for this. Thanks for your Support Per code div class=row main-content script type=application/json id=chart-data data-chart-generator=SingleBodyShopChartGenerator { title: , subtitle: , yTitle: Benchmark, columns: [ { label: Total, colorClass: chart-platin, value: 92 }, { label: Cat 1, colorClass: chart-platin, value: 96 }, { label: Cat 2, colorClass: chart-platin, value: 90 }, { label: Cat 3, colorClass: chart-platin, value: 93 }, { label: Cat 4, colorClass: chart-platin, value: 95 }, { label: Cat 5, colorClass: chart-gold, value: 88 }, { label: Cat 6, colorClass: chart-platin, value: 93 } ] } /script div wicket:id=chart style=display: none/div /div /code - 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
How can i render json into markup?
Hi, i would like to include highcharts. I know there is a wicket module but we want to use the script. So my requirement is it to render the div below with the json content in it. Do i have to use a label and render body only? Or is there another way. I couldn't find any example for this. Thanks for your Support Per code div class=row main-content script type=application/json id=chart-data data-chart-generator=SingleBodyShopChartGenerator { title: , subtitle: , yTitle: Benchmark, columns: [ { label: Total, colorClass: chart-platin, value: 92 }, { label: Cat 1, colorClass: chart-platin, value: 96 }, { label: Cat 2, colorClass: chart-platin, value: 90 }, { label: Cat 3, colorClass: chart-platin, value: 93 }, { label: Cat 4, colorClass: chart-platin, value: 95 }, { label: Cat 5, colorClass: chart-gold, value: 88 }, { label: Cat 6, colorClass: chart-platin, value: 93 } ] } /script div wicket:id=chart style=display: none/div /div /code - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Resource mounting: Why has a resource always a lower compatibility score than a page?
Hi, i would like to mount a resource with a name /mypath/${param1}/whatever. I've already mounted a page with /mypath. I was wondering why i was always redirected to the /mypath page. In ResourceMapper i've found this: code @Override public int getCompatibilityScore(Request request) { return 0; // pages always have priority over resources } /code So i would like to know: Why is the resource not mapped by it's appropriate compatibility score vs pages? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Can i display a WepPage in a PDF (How to get the rendered markup)?
Hi, i would like to render a WebPage with flying saucer (PDF generator). I've created a resource reference and a ByteArrayResource. But now i need the rendered markup of the page (e.g. HomePage). So my question is how can i render the markup in my Resource? Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Can i display a WepPage in a PDF (How to get the rendered markup)?
Found the solution already. I did it that way: public class FlyingSaucerPdfResource extends ByteArrayResource { public FlyingSaucerPdfResource() { super(application/pdf); } @Override protected byte[] getData(Attributes attributes) { ByteArrayOutputStream os; try { CharSequence buf = renderPage(HomePage.class, attributes.getParameters()); ITextRenderer renderer = new ITextRenderer(); renderer.setDocumentFromString(buf.toString()); renderer.layout(); renderer.createPDF(os = new ByteArrayOutputStream()); os.close(); } catch (IOException | DocumentException e) { throw new RuntimeException(e); } return os.toByteArray(); } private CharSequence renderPage(final Class? extends Page pageClass, PageParameters parameters) { final RenderPageRequestHandler handler = new RenderPageRequestHandler( new PageProvider(pageClass, parameters), RedirectPolicy.NEVER_REDIRECT); final PageRenderer pageRenderer = getApplication() .getPageRendererProvider().get(handler); RequestCycle originalRequestCycle = RequestCycle.get(); BufferedWebResponse tempResponse = new BufferedWebResponse(null); RequestCycleContext requestCycleContext = new RequestCycleContext( originalRequestCycle.getRequest(), tempResponse, getApplication().getRootRequestMapper(), getApplication() .getExceptionMapperProvider().get()); RequestCycle tempRequestCycle = new RequestCycle(requestCycleContext); final Response oldResponse = originalRequestCycle.getResponse(); try { originalRequestCycle.setResponse(tempResponse); pageRenderer.respond(tempRequestCycle); } finally { originalRequestCycle.setResponse(oldResponse); } return tempResponse.getText(); } private Application getApplication() { return Application.get(); } - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Problem loading dependency for wicket-6.8.0
Hi, is someone else having problems including wicket 6.8.0? I get a Missing artifact org.apache.wicket:wicket:pom:6.8.0-SNAPSHOT when i increase my version from 6.7.0 to 6.8.0 properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding wicket.version6.8.0/wicket.version wicketstuff.version6.8.0/wicketstuff.version jetty.version8.1.10.v20130312/jetty.version spring.version3.2.2.RELEASE/spring.version cglib.version2.2.2/cglib.version hibernate.version4.2.0.Final/hibernate.version h2database.version1.3.171/h2database.version dbunit.version2.4.9/dbunit.version log4j.version1.2.17/log4j.version slf4j.version1.7.4/slf4j.version hamcrest.version1.3/hamcrest.version junit.version4.11/junit.version mockito.version1.9.5/mockito.version concordion.version1.4.3/concordion.version /properties dependencies !-- WICKET DEPENDENCIES -- dependency groupIdorg.apache.wicket/groupId artifactIdwicket-core/artifactId /dependency dependency groupIdorg.apache.wicket/groupId artifactIdwicket-extensions/artifactId version${wicket.version}/version /dependency dependency groupIdorg.apache.wicket/groupId artifactIdwicket-spring/artifactId version${wicket.version}/version /dependency dependency groupIdorg.wicketstuff/groupId artifactIdwicketstuff-annotation/artifactId version${wicketstuff.version}/version exclusions exclusion groupIdorg.springframework/groupId artifactIdspring-core/artifactId /exclusion /exclusions /dependency ... /dependencies Thanks for your support Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Problem loading dependency for wicket-6.8.0
Ok, i've delete all wicket 8.8.x jars from m2. But the problem still appears. It seems that wicketstuff-annotations is referencing wickt-6.8.0-SNAPSHOT. I will downgrade until this is fixed Thanks Per Am 25.05.2013 10:39, schrieb Raul: Make sure you have downloaded the dependency correctly, ie that is in your local repository that can decompress, ever happened to me that have been downloaded jar with corrupted data. If so removes the corrupt jar to download them again. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Problem-loading-dependency-for-wicket-6-8-0-tp4659026p4659027.html Sent from the Users forum 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
Can i control event execution order?
Hi, i would like to add a bookmarkable page link to a clickable div. But the event behavior of the div is always executed. Is there a way to prioritize the event coming from the link? Thanks Per code Page.java public class Page extends WebPage { public Page(final PageParameters parameters) { super(parameters); final Label marker; add(marker = new Label(marker, new ModelString())); marker.setOutputMarkupId(true); WebMarkupContainer outer; add(outer = (WebMarkupContainer) new WebMarkupContainer(outer).add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { marker.setDefaultModelObject(outer at + System.currentTimeMillis()); target.add(marker); } })); BookmarkablePageLinkVoid inner; outer.add(inner = new BookmarkablePageLinkVoid(inner, OtherPage.class)); } } Page.html div span wicket:id=markerPresent the event/span div wicket:id=outer a wicket:id=innerClick/a /div /div /code - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Aw: Re: Can i control event execution order?
Thank you so much Martin. Adding the script seems to be the soultion. At least it works now as i expect it :-). I would say yes to your question. I don't know if it bubbles up. But in the requestcycle the requestedUri is always the event listener one. I've added a test, but that is green :-( code @Test public void shouldPrioritizeBookmarkableLinkClickOverClickableDiv() { tester.startPage(Page.class); tester.clickLink(outer:inner); tester.assertRenderedPage(OtherPage.class); } /code Thanks Per Gesendet: Mittwoch, 24. April 2013 um 09:19 Uhr Von: Martin Grigorov mgrigo...@apache.org An: users@wicket.apache.org users@wicket.apache.org Betreff: Re: Can i control event execution order? Hi, Are you saying that the event of clicking the bookmarkable link (the a) bubbles to the div ? I think it should not happen. Clicking the link changes the document location... But I may be wrong. A simple solution is to add onclick=Wicket.Event.stop(event); return true; to the a element. This calls event.stopPropagation(). On Wed, Apr 24, 2013 at 10:03 AM, Per Newgro per.new...@gmx.ch wrote: Hi, i would like to add a bookmarkable page link to a clickable div. But the event behavior of the div is always executed. Is there a way to prioritize the event coming from the link? Thanks Per code Page.java public class Page extends WebPage { public Page(final PageParameters parameters) { super(parameters); final Label marker; add(marker = new Label(marker, new ModelString())); marker.setOutputMarkupId(true); WebMarkupContainer outer; add(outer = (WebMarkupContainer) new WebMarkupContainer(outer).add(new AjaxEventBehavior(onclick) { @Override protected void onEvent(AjaxRequestTarget target) { marker.setDefaultModelObject(outer at + System.currentTimeMillis()); target.add(marker); } })); BookmarkablePageLinkVoid inner; outer.add(inner = new BookmarkablePageLinkVoid(inner, OtherPage.class)); } } Page.html div span wicket:id=markerPresent the event/span div wicket:id=outer a wicket:id=innerClick/a /div /div /code - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com http://jweekend.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Model for dropdowns in a listview
Hello Rodrigo, sure i know that the null has to be replaced by a model. But my question was targeted to the object behind the dropdown selected option model. Let me create a more simple example: code MyComponent.java - in constructor - IModelReplyOptionsCollectingModel formModel = Model.ReplyOptionsCollectingModel of(new ReplyOptionsCollectingModel()) Form? form ...; form.add(new DropDownChoice(replysForQuestion1, new PropertyModelReplyOption(formModel, answerForQuestion1), replyOptionsForQuestion1())); form.add(new DropDownChoice(replysForQuestion2, new PropertyModelReplyOption(formModel, answerForQuestion2), replyOptionsForQuestion2())); ReplyOptionsCollectingModel.java public class ReplyOptionsCollectingModel implements Serializable { private ReplyOption answerForQuestion1; private ReplyOption answerForQuestion2; // ... getter and setter } /code But because i don't know the count of questions i have to use a repeating view. code MyComponent.java - in constructor - IModelReplyOptionsCollectingModel formModel = Model.ReplyOptionsCollectingModel of(new ReplyOptionsCollectingModel()) Form? form ...; ListViewQuestion questions = new ListView(...) { protected void populateItem(ListItemQuestion item) { item.add(new DropDownChoice(replysForQuestion, new PropertyModelReplyOption(formModel, I_dont_know_what_to_add_here), replyOptionsFor(item.getModelObject(; } } form.add(answers); ReplyOptionsCollectingModel.java public class ReplyOptionsCollectingModel implements Serializable { private MapQuestion, ReplyOption answerForQuestions; } /code Or do you mean that CompoundPropertyModel has more features handling the indexed-property stuff? Thanks for your support Per Am 21.04.2013 00:31, schrieb Rodrigo Heffner: Have you tried using CompoundPropertyModels? In that way you could bind a property to the dropdown, instead of using null - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Model for dropdowns in a listview
Hi, i have to implement a questionnaire but i'm not sure how to capture the selected values in a model. My questionnaire has some questions. The questions have some reply options. The selected reply options will be assigned to an answer. The answers are the data i try to capture. So i put the questions in a listview and a dropdown for the reply options on it's item. But i have no clue how to implement the business model containing the answers. Every answer is related to one selected reply option. Can some1 please give me some pointers. Thanks for your support. Per Here some code code public class QuestionListView extends ListViewQuestionBO { public QuestionListView(String id, IModel? extends List? extends QuestionBO model) { super(id, model); } @Override protected void populateItem(ListItemQuestionBO item) { item.add(new Label(questionText, new PropertyModelString(item.getModel(), QuestionBO.TEXT))); // TODO the null has to be replaced by a smart model assigning the selected reply option to an answer in the business model item.add(new DropDownChoiceReplyOptionBO(replyOptions, null, new LoadableDetachableReplyOptionsModel(item.getModel()), new ReplyOptionBORenderer())); } } public class LoadableDetachableReplyOptionsModel extends LoadableDetachableModelList? extends ReplyOptionBO { private final IModelQuestionBO question; public LoadableDetachableReplyOptionsModel(IModelQuestionBO question) { this.question = question; } @Override protected List? extends QuestionBO load() { return service.loadReplyOptionsFor(question.getObject()); } @Override public void detach() { question.detach(); super.detach(); } } /code - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket integration with Spring
With the 2nd approach you couple the application (in the role as service mother) to all your calling components. Coupling is a bad idea. It's hard to test in separation and almost always you end in a hell of small single methods. But if you inject your beans into the target component you can define your required dependeny there were you use them. Another cool approach in wicket is the event system in 1.5+. So you throw events in child components and provide the services in high ranking components (page, app ...) Just my 2 ct. Per Am 27.12.2012 11:11, schrieb Arun Chauhan: I am making an application in which I want to integrate Wicket + Spring. Application is a grocery store on which user comes and buy something. I know there are two ways to do this. 1. Using the *annotation *aprroach. Wicket-Spring integration shows various ways on how to inject Spring Beans into Wicket pages. public class FormPage extends WebPage { @SpringBean private IContact icontact; ... Form form = new Form(contactForm, new CompoundPropertyModel(contact)) { private static final long serialVersionUID = 1L; protected void onSubmit(Contact contact) { icontact.saveContact(contact); } }; 2. The @SpringBean is of course valid and considered a best practice by many. But there is also *another approach*, where your Wicket Application has the services you need. public class YourWicketApp extends WebApplication{ public static YourWicketApp get(){ return (YourWicketApp) Application.get(); } private ServiceA serviceA; // getter and setter for serviceA here } Now in your component, call YourWicketApp.get().getServiceA(); I want to know which is the best way to integrate spring with wicket. /However as far as I remember Wicket pages and components aren't managed by Spring container so you cannot use @Transactional annotation on them (which is a bad idea anyway - transactions belong to deeper levels)./ *Is this statement valid?* -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-integration-with-Spring-tp4655077.html Sent from the Users forum 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
Re: CSS for subpanel tabs
Hello John Doe, did you try a css selector by class instead of id? PS: Posting without any name is not very respectful. Posting such commonly phrased questions (my xyz is not working - tell me why) oftenly stay unanswered. Please provide some code (java, html, css) and i bet you get good answers here. Cheers Per Am 26.12.2012 18:13, schrieb appwicket: Hi, I'm using panels contains tabbed panels and each tab contains few sub-tabbedpanels. I load my css in my page and it works fine for the tabs and the sub tabs in first tab. However the CSS doesn't work for other subtabs in other tabs. (I got CSS from Wicket - jQuery UI http://www.7thweb.net/wicket-jquery-ui/tabs/WidgetTabsPage?0 ) http://apache-wicket.1842946.n4.nabble.com/file/n4655061/1.jpg anyone can tell me how can i make it work for subtabs? Thanks! -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/CSS-for-subpanel-tabs-tp4655061.html Sent from the Users forum 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
Re: Howto display 404 cause of response on custom error page?
Thanks you both for your suggestions. I will try it tomorrow and come back if i got more questions :-) Thanks Per Am 26.11.2012 16:49, schrieb Stefan Renz: Hi, we had a similar requirement, so we did the following: instead of throwing a AbortWithHttpErrorCodeException, we throw a semantic exception. In your case, throw MissingSubsiteException( your message ). How to make Wicket aware of such an exception and implement a proper reaction/response? In your application's #init()-Method, add a RequestCycleListener (e.g. extends org.apache.wicket.request.cycle.AbstractRequestCycleListener) which implements #onException() to dispatch to a particular error page depending on the exception passed in. AFAIK, this is regular Wicket stuff and nothing terribly internal (right?). We have a bunch of error pages which are regular WebPages with #isErrorPage() returning true. Those are triggered via the mentioned RequestCycleListener by means of a org.apache.wicket.request.handler.PageProvider, which can be used to initialize the page just as you may need it. For example, by passing the exception's message, or the exception itself to also display the stack trace. Such an error page can also set a status code by using #getResponse() in #onBeforeRender(), i.e. set a HttpResponseCode.SC_BAD_REQUEST for missing parameters. I hope this helps, bye Stefan Martin Grigorov wrote: Hi, See ErrorAttributes.java. By Servlet spec several request attributes are available when the web container does error dispatching. On Mon, Nov 26, 2012 at 3:14 PM, Per Newgro per.new...@gmx.ch wrote: Hi, i'm looking for a way to display the cause of a 404 send by myself on my custom error page. In a behavior i do code throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND, Missing subsite in behavior); /code It is displayed in my custom error page code @MountPath(404.html) public class PageNotFound extends AbstractErrorPage { public PageNotFound() { super(); } @Override protected void setHeaders(WebResponse response) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); super.setHeaders(response); } } /code But i wouuld like to display the cause of the 404 to. If i debug i can see the cause deep inside the response. But i can't imagine that i have to rebuild the path to the cause by myself. Thanks for helping me Per - 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
Howto display 404 cause of response on custom error page?
Hi, i'm looking for a way to display the cause of a 404 send by myself on my custom error page. In a behavior i do code throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND, Missing subsite in behavior); /code It is displayed in my custom error page code @MountPath(404.html) public class PageNotFound extends AbstractErrorPage { public PageNotFound() { super(); } @Override protected void setHeaders(WebResponse response) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); super.setHeaders(response); } } /code But i wouuld like to display the cause of the 404 to. If i debug i can see the cause deep inside the response. But i can't imagine that i have to rebuild the path to the cause by myself. Thanks for helping me Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Why can't CssUrlReferenceHeaderItem have dependencies?
Hi Martin, i use the UrlResRef like the normal ResRef. A specialiced css is depending on a base css. This base css should be guaranteed on special css usage. public class PortalCssDependingResourceReference extends UrlResourceReference { private final String portalId; public PortalCssDependingResourceReference(String resourceUrl, String portalId) { super(Url.parse(resourceUrl)); this.portalId = portalId; } protected final String getPortalId() { return portalId; } @Override public Iterable? extends HeaderItem getDependencies() { ArrayListHeaderItem dependencies = new ArrayListHeaderItem(); for (HeaderItem headerItem : super.getDependencies()) { dependencies.add(headerItem); } dependencies.add(CssHeaderItem.forReference(new PortalCssResourceReference(this.portalId))); return dependencies; } @Override public boolean isContextRelative() { return true; } } It is included as expected with this (sample) code in my page. And this is the cause why i'm wondering this is not implemented. @Override public void renderHead(IHeaderResponse response) { final PortalCssDependingResourceReference reference = new PortalCssDependingResourceReference(resources/special.css, getPortalId()); response.render(new CssUrlReferenceHeaderItem(reference.getUrl().toString(), null, null) { @Override public Iterable? extends HeaderItem getDependencies() { return reference.getDependencies(); } }); super.renderHead(response); } I hope this is answering your question. Thanks Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Why can't CssUrlReferenceHeaderItem have dependencies?
code response.render(CssHeaderItem.forReference(reference)); /code created a css link like this: link rel=stylesheet type=text/css href=../../resources/portal/css/portal.css / What i've tried to get is this: link rel=stylesheet type=text/css href=/resources/trauer/css/portal.css / We have all our css in an external folder (apache DOC_ROOT static). So this url is required. But now i'm in doubt that i've misused the ResRef and HeaderItem concepts. It seems to be more natural to extend the CssUrlHeaderItem and provide the dependencies there instead of connecting this to the ResourceReference and delegate the call. Maybe that is cause of how this is implemented. Thanks Per Original-Nachricht Datum: Tue, 6 Nov 2012 10:15:11 +0200 Von: Martin Grigorov mgrigo...@apache.org An: users@wicket.apache.org Betreff: Re: Why can\'t CssUrlReferenceHeaderItem have dependencies? Hi, Why do you use reference.getUrl() to create CssUrlReferenceHeaderItem ? Why not just : response.render(CssHeaderItem.forReference(reference)); CssUrlReferenceHeaderItem by itself works with plain Url and there is no way how Wicket can know that it may depend on some other dependencies. On Tue, Nov 6, 2012 at 10:02 AM, Per Newgro per.new...@gmx.ch wrote: Hi Martin, i use the UrlResRef like the normal ResRef. A specialiced css is depending on a base css. This base css should be guaranteed on special css usage. public class PortalCssDependingResourceReference extends UrlResourceReference { private final String portalId; public PortalCssDependingResourceReference(String resourceUrl, String portalId) { super(Url.parse(resourceUrl)); this.portalId = portalId; } protected final String getPortalId() { return portalId; } @Override public Iterable? extends HeaderItem getDependencies() { ArrayListHeaderItem dependencies = new ArrayListHeaderItem(); for (HeaderItem headerItem : super.getDependencies()) { dependencies.add(headerItem); } dependencies.add(CssHeaderItem.forReference(new PortalCssResourceReference(this.portalId))); return dependencies; } @Override public boolean isContextRelative() { return true; } } It is included as expected with this (sample) code in my page. And this is the cause why i'm wondering this is not implemented. @Override public void renderHead(IHeaderResponse response) { final PortalCssDependingResourceReference reference = new PortalCssDependingResourceReference(resources/special.css, getPortalId()); response.render(new CssUrlReferenceHeaderItem(reference.getUrl().toString(), null, null) { @Override public Iterable? extends HeaderItem getDependencies() { return reference.getDependencies(); } }); super.renderHead(response); } I hope this is answering your question. Thanks Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com http://jweekend.com/ - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Why can't CssUrlReferenceHeaderItem have dependencies?
Hi, i was wondering why CssUrlReferenceHeaderItem (wicket 6.2.0) is implemented by HeaderItem#getDependencies() which returns an empty list. The CssReferenceHeaderItem has a getDependencies implementation which uses the dependencies provided by the resource reference. If i extend CssUrlReferenceHeaderItem (for testing) and provide the dependencies of the resource reference (analogoues to CssReferenceHeaderItem) everything works fine. But maybe i miss here something. So my question is: Is it required that CssUrlReferenceHeaderItem is not handling dependencies of the resource reference? Thanks for explanation. Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: What is the way to test a behavior?
Thanks, works like expected. You right. If i throw another exception (ex. IAE) the assertion on rendered page is working. So checking the last response status seems to be natural. Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
What is the way to test a behavior?
Hi, i try to unit test a custom behavior. But i was wondering what's the right way to test it. I provide some code to explain my mind mismatch. The behavior shall interrupt the rendering of a component. I would like to answer this with a 404. Calling the behavior method directly results in the expected exception. But if i render a using component it's not answered by the 404. How can i get a 404 within the usage testcase (see below). Thanks for helping me Per code public class TestHomePage { public static class MyBehavior extends Behavior { @Override public void beforeRender(Component component) { if (true) { throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND, This is for testing); } } } public static class MyTestHomePage extends WebPage implements IMarkupResourceStreamProvider { public MyTestHomePage() { add(new MyBehavior()); } @Override public IResourceStream getMarkupResourceStream( MarkupContainer container, Class? containerClass) { return Markup.of(html/html).getMarkupResourceStream(); } } private WicketTester tester; @Before public void setUp() { tester = new WicketTester(new WicketApplication()); } @Test public void abortRenderingOnUsage() { tester.startPage(MyTestHomePage.class); tester.assertRenderedPage(InternalErrorPage.class); } @Test(expected = AbortWithHttpErrorCodeException.class) public void abortRenderingOnUnitTesting() { MyBehavior behavior = new MyBehavior(); behavior.beforeRender(null); } } /code - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicketstuff references Wicket-Snapshot
Hi, is it required that all the wicketstuff projects are related to the wicket snapshot releases? Thanks for review Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AutocompleteTextField and object (not just String)
Hi Daniele, while I don't have the answer to your question, here's a recent blogpost about how we implemented a reusable wicket autocomplete field. We were not entirely satisfied by the solutions we found about a year ago, so we cooked our own. There might be better solutions by now, and it's not a 100% native solution (uses jQuery UI, and a JSON action), but we keep using it a lot in our application for various use-cases, and it's been a huge help. Check out the screenshot and the explanation over here: http://www.small-improvements.com/blog/technical/wicket-autocomplete-component It requires some work to adapt, but it may be worth it, depending on your usecase. Cheers, Per -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/AutocompleteTextField-and-object-not-just-String-tp4650911p4651026.html Sent from the Users forum 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
Is there a MountedMapper respecting better matching path names?
Hi, before i do this myself i would like to ask the community if someone has done this already. I want to mount pages at these urls: mountPage(/pages/${color}/advertise, AdvertisePage.class); mountPage(/pages/${color}/${niceColor}, ColoredPage.class); But because they both have 3 matching url path segments the first after sorting all available mount mapper wins. But in this case the almost exact url /pages/red/advertise is referencing the ColoredPage but should the AdvertisePage. Only ordering the mounts is influencing the result. But this is not a good option. So i would like to know if there is already a library providing my required behavior. Thanks Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: I'm slighty mad
I hope you're not working in a nuclear power plant :-) Am 22.06.2012 19:01, schrieb Bruno Borges: Crazy little bastard!! Congratulations on your brave move! :D *Bruno Borges* (21) 7672-7099 *www.brunoborges.com* On Fri, Jun 22, 2012 at 5:23 AM, Martin Grigorovmgrigo...@apache.orgwrote: +1! :-) next step is to go with a -SNAPSHOT in production ;-) Let us know if you face any problems On Fri, Jun 22, 2012 at 11:18 AM, coincoinfouolivierandr...@gmail.com wrote: I've pushed Wicket beta2 in production -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/I-m-slighty-mad-tp4650184.html Sent from the Users forum 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 -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket dropdownchoice onselectionchanged must override or implement a supertype method
it is because of the @override annotation on a non-existent method. Check the signature of the onSelectionChanged Cheers Per Am 24.04.2012 20:04, schrieb kshitiz: Hi, I am trying to implement wicket drop down choice with on selection changed feature. But as I write : final DropDownChoiceSelectOption postCategoriesDropDown = new DropDownChoiceSelectOption(postCategories, iModel, Arrays.asList(selectOption), choiceRenderer) { /** * */ private static final long serialVersionUID = 1L; @Override protected boolean wantOnSelectionChangedNotifications() { return true; } @Override protected void onSelectionChanged(final Object newSelection) { SelectOption selectOption = (SelectOption) newSelection; } }; eclipse shows an error: *The method onSelectionChanged(Object) of type new DropDownChoiceSelectOption(){} must override or implement a supertype method* Can you please tell me what can be the reason?? I am following https://cwiki.apache.org/WICKET/dropdownchoice-examples.html https://cwiki.apache.org/WICKET/dropdownchoice-examples.html -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-dropdownchoice-onselectionchanged-must-override-or-implement-a-supertype-method-tp4584391p4584391.html Sent from the Users forum 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
Re: Page/Session persistence on AppEngine
Hi Chris, we encountered similar problems, and wrote two blogposts: One about tweaking all the components, one about zipping the session. http://www.small-improvements.com/blog/technical/tuning-wicket-session-size http://blog.small-improvements.com/2012/02/19/reducing-wicket-session-size-to-one-third/ You should use a proper profiler (e.g. JProfiler) to figure out the size of your pages and objects, much more efficient than logging stuff youself. And then also you can also write a custom IPageMapEvictionStrategy that takes session size into consideration when evicting pages (e.g. you evict so many pages until the session size is below 1MB again). That's the last resort only, but helps avoiding the nasty blank exception page. All combined, you should be able to work around the session size issue. Cheers, Per -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Page-Session-persistence-on-AppEngine-tp4475827p4518388.html Sent from the Users forum 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: WicketTester Spring
Assign the app to the wicket tester instance you use. See code section below. Per Am 04.03.2012 10:11, schrieb Douglas Ferguson: What does this mean? you have to set the app to wicket tester instance. Douglas On Mar 4, 2012, at 1:32 AM, Per Newgro wrote: And the app should know the context in which way? No no you have to set the app to wicket tester instance. code tester = new WicketTester(new MyApp()); /code Cheers Per Am 04.03.2012 06:17, schrieb Douglas Ferguson: I'm trying to use wicket tester to test an app that is running with spring. I'm getting this error: java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered? I thought perhaps I would be able to use SpringJunit4ClassRunning, but that didn't work. Any tips? @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { classpath:spring/mockApplicationContext.xml}) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: WicketTester Spring
So problem is solved? Per Am 04.03.2012 11:22, schrieb Douglas Ferguson: I'm doing that. The fix involved moving the injector initialization to a template method so I could override. tester = new WicketTester(new MyApp(){ @Override public SpringComponentInjector setupInjector() { SpringComponentInjector injector = new SpringComponentInjector(this, applicationContext); getComponentInstantiationListeners().add(injector); injector.inject(this); return injector; } }); On Mar 4, 2012, at 3:19 AM, Per Newgro wrote: Assign the app to the wicket tester instance you use. Seecode section below. Per Am 04.03.2012 10:11, schrieb Douglas Ferguson: What does this mean? you have to set the app to wicket tester instance. Douglas On Mar 4, 2012, at 1:32 AM, Per Newgro wrote: And the app should know the context in which way? No no you have to set the app to wicket tester instance. code tester = new WicketTester(new MyApp()); /code Cheers Per Am 04.03.2012 06:17, schrieb Douglas Ferguson: I'm trying to use wicket tester to test an app that is running with spring. I'm getting this error: java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered? I thought perhaps I would be able to use SpringJunit4ClassRunning, but that didn't work. Any tips? @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { classpath:spring/mockApplicationContext.xml}) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - 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: WicketTester Spring
And the app should know the context in which way? No no you have to set the app to wicket tester instance. code tester = new WicketTester(new MyApp()); /code Cheers Per Am 04.03.2012 06:17, schrieb Douglas Ferguson: I'm trying to use wicket tester to test an app that is running with spring. I'm getting this error: java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered? I thought perhaps I would be able to use SpringJunit4ClassRunning, but that didn't work. Any tips? @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { classpath:spring/mockApplicationContext.xml}) - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: reload model on render
Any code please, Per Am 04.03.2012 03:16, schrieb nazeem: Hi I have a content area in which I am displaying say PanelA. In PanelA I have a link to navigate to PanelB. When I click that I replace the content area with PanelB. When I construct PanelB i pass the instance PanelA via PanelA.this so that PanelB can show a link to go back to PanelA. When the go back link in panelB is clicked I do a replace content area with the object (instance of panelA) I recieved in the construtor. This works perfectly fine and the to n fro navigation is quick. It does not reload the whole stuff again. Done. But I need to reload some of the data changed in backend when coming from PanelB back to PanelA. Right now the PanelA shows the old data it does not re-load. I tried using the LoadableDetachableModel but that does not get triggered. Any clue please.. -naz -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/reload-model-on-render-tp4442813p4442813.html Sent from the Users forum 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
Re: help with drag and drop (wicket-dnd)
Hi Dan, only a shot in the dark - but is your markup valid? validate with w3c. PS: Is it required to add the ending slash? Cheers Per Thanks for answer. Yes, in the first td is span but in this forum it was formatted and span was not visible. The first td should be:td span wicket:id=aaa class=aaawww/td -- But I make little modification and html is: table tr td span wicket:id=aaa class=aa/td td span wicket:id=bbb class=bb/td td span wicket:id=ccc class=cc/td /tr /table And in java class was added: Label bbb = new Label(bbb, bbb); Label ccc = new Label(ccc, ccc); bbb.setOutputMarkupId(true); ccc.setOutputMarkupId(true); container.add(bbb); container.add(ccc); But in the methods is transfer.getData() allways NULL. What should be in transfer? The target element? Is there any way how to know what element was targeted (drop)? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/help-with-drag-and-drop-wicket-dnd-tp4422338p4422742.html Sent from the Users forum 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
Re: Performance optimization
Hi Martin, some of the things we did was (as mentioned by others) to generate HTML, this saved a lot of memory. But also to look really hard at the component tree and decide if everything was needed *all the time*. For instance, we had plenty of AJAX links that were rarely used (5 per row or so). We decided to make them load on demand only (click for admin actions). This saved some 500 bytes per row. Also, some optimisations like replacing setVisible(false) by an empty component saved us some space. Some component use more memory than others, and can be replaced. Etc. It's really crucial to use a profiler to see where all the bytes go. I wrote a blogpost over here: http://www.small-improvements.com/blog/technical/tuning-wicket-session-size a few months ago. You may even want to create your own eviction-policy that collects certain pages more aggressively than others (if applicable). Many options. But yeah, it's tough, it's one of the things I found most challenging about Wicket. I'd love to hear how you end solving with the problem, maybe there's something else to be learned! Good luck! Per -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Performance-optimization-tp4412659p4419111.html Sent from the Users forum 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: Performance optimization
Martin Makundi wrote The problem is that the SERIALIZATION takes time. So it does not help to ZIP AFTER serialization... Well, if you really only have one page in your session, and that page's serialisation is killing you, then you're right. But if you have multiple page versions, and other pages in your session, and your session is maybe even 50mb, then the zipping might help: not for this particular page, but for all the *others* that also have to get read and restored. Also, have you considered trying other serialisers? I'm not an expert on that topic, but I overheard other developers that there are faster libraries. They have tradeoffs, but maybe one of them works for you. Cheers, Per -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Performance-optimization-tp4412659p4419130.html Sent from the Users forum 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
Shrinking the session size, simply by zipping it. Saved my day.
Hi all, thought I'd share a really simple hack that we're using to reduce the Wicket session size (on Wicket 1.4). Background: We deploy to Google App Engine, and there's a strict 1MB limit. We've been using LDMs and all sorts of optimisations, but we were still reaching the limits when a user viewed long lists, or used many tabs, and as a result pages often got evicted while still needed, resulting in ugly page expired errors. Turns out, you can zip the session's attributes on the way out, e.g. on the fly, with minimal latency introduced. In over a year of squeezing bytes out of the object graph, this had never occurred to me. But now it's kind of obvious, and really easy to code as well... Check out our blog if you ever had this problem. http://smallimprove.wordpress.com/2012/02/19/reducing-wicket-session-size-to-one-third Cheers, Per -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Shrinking-the-session-size-simply-by-zipping-it-Saved-my-day-tp4402980p4402980.html Sent from the Users forum 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: get key from resource model
If you mean get the key from ResourceModel, or ... then the answer is no not directly. An ugly solution could be - extend ResourceModel and memorize the key in a second attribute. But that's realy ugly. class MyResourceModel extends ResourceModel { private String key; public MyResourceModel(String key) { super(key); this.key = key; } public String getTheKeyOnUglyWay() { return this.key; } } But i would do this only if no other solution is possible. Cheers Per Am 10.02.2012 14:43, schrieb cosmindumy: Hello, My displayed texts are localized using ResourceModel('my.key'). Is it posible to get the key for ResourceModel, or an object from whom I can extract the key? Thanks. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/get-key-from-resource-model-tp4376269p4376269.html Sent from the Users forum 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
Re: StatelessForm: Cannot login
If i understood your usecase correctly you're app is still stateless if you logged in. Afaik no session is created for stateless pages. So after you've logged in the session is away for your next page. And then the user is away to. You could debug it by print the hashcode of getSession() in the page. Cheers Per Hello, I have a strange problem with StatelessForms in combination with login in: On my MainPage are two stateless forms. One for registration and one for the login (registration isn't implemented yet). When I try to log in, Wicket creates a new User() and saves it in the Session (I made this like it's explained in Wicket in Action). A System.out.print(user created) in the constructor of User confirms that. Everything seems to be ok. But when the main page reloads, I am still logged out. And: When I change from StatelessForm to Form, everything works perfectly. Something else might be important: When I request a page that requries authorization and I'm not logged in, i'm being redirected to /login. There is the same LoginPanel (with StatelessForm) as on the main page - and the login works! But when I directly open /login it's the same as on the main page and I can't login. I also noticed that the login works (with StatelessForm) when I open a page that requires authorization, then press the back button (back to main page) and there try to log in. The question is now, what am I doing worng? I can't find the problem in my code, I have been trying a lot to find out what's worng but everything seems to be correct. I couldn't find anything in the mailing list / on the web, I searched a lot. At the end I attached code from LoginPanel.java, WiaSession.java and WicketApplication.java. Thank you very much for your help! (And sorry if there are one or two missspelled words - I don't speak english natively.) René LoginPanel.java: public class LoginPanel extends Panel { public LoginPanel(String id) { super(id); add(new LoginForm(login)); } private class LoginForm extends StatelessForm { private String username; private String password; public LoginForm(String id) { super(id); setModel(new CompoundPropertyModel(this)); add(new TextField(username)); add(new PasswordTextField(password)); } @Override public final void onSubmit() { if (tryToLogIn()) { if (!continueToOriginalDestination()) { setResponsePage(getApplication().getHomePage()); } } } private boolean tryToLogIn() { if (username != null password != null) { User user = Database.findUser(username); if (user != null) { if (user.comparePasswords(password)) { WiaSession.get().setUser(user); return true; } } } return false; } } } WiaSession.java: public final class WiaSession extends WebSession { private User user; public WiaSession(Request request) { super(request); } public static WiaSession get() { return (WiaSession) Session.get(); } public static boolean isLoggedIn() { return WiaSession.get().isAuthenticated(); } public boolean isAuthenticated() { return (user != null); } public final synchronized User getUser() { return user; } public final synchronized void setUser(User user) { this.user = user; } } WicketApplication.java, newSession overwritten: @Override public final Session newSession(Request request, Response response) { return new WiaSession(request); } -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/StatelessForm-Cannot-login-tp4373476p4373476.html Sent from the Users forum 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
Re: StatelessForm: Cannot login
And maybe this javadoc helps Session#bind() /** * Force binding this session to the application's {@link ISessionStore session store} if not * already done so. * p * A Wicket application can operate in a session-less mode as long as stateless pages are used. * Session objects will be then created for each request, but they will only live for that * request. You can recognize temporary sessions by calling {@link #isTemporary()} which * basically checks whether the session's id is null. Hence, temporary sessions have no session * id. * /p * p * By calling this method, the session will be bound (made not-temporary) if it was not bound * yet. It is useful for cases where you want to be absolutely sure this session object will be * available in next requests. If the session was already bound ( * {@link ISessionStore#lookup(Request) returns a session}), this call will be a noop. * /p */ Am 09.02.2012 18:45, schrieb Per Newgro: If i understood your usecase correctly you're app is still stateless if you logged in. Afaik no session is created for stateless pages. So after you've logged in the session is away for your next page. And then the user is away to. You could debug it by print the hashcode of getSession() in the page. Cheers Per Hello, I have a strange problem with StatelessForms in combination with login in: On my MainPage are two stateless forms. One for registration and one for the login (registration isn't implemented yet). When I try to log in, Wicket creates a new User() and saves it in the Session (I made this like it's explained in Wicket in Action). A System.out.print(user created) in the constructor of User confirms that. Everything seems to be ok. But when the main page reloads, I am still logged out. And: When I change from StatelessForm to Form, everything works perfectly. Something else might be important: When I request a page that requries authorization and I'm not logged in, i'm being redirected to /login. There is the same LoginPanel (with StatelessForm) as on the main page - and the login works! But when I directly open /login it's the same as on the main page and I can't login. I also noticed that the login works (with StatelessForm) when I open a page that requires authorization, then press the back button (back to main page) and there try to log in. The question is now, what am I doing worng? I can't find the problem in my code, I have been trying a lot to find out what's worng but everything seems to be correct. I couldn't find anything in the mailing list / on the web, I searched a lot. At the end I attached code from LoginPanel.java, WiaSession.java and WicketApplication.java. Thank you very much for your help! (And sorry if there are one or two missspelled words - I don't speak english natively.) René LoginPanel.java: public class LoginPanel extends Panel { public LoginPanel(String id) { super(id); add(new LoginForm(login)); } private class LoginForm extends StatelessForm { private String username; private String password; public LoginForm(String id) { super(id); setModel(new CompoundPropertyModel(this)); add(new TextField(username)); add(new PasswordTextField(password)); } @Override public final void onSubmit() { if (tryToLogIn()) { if (!continueToOriginalDestination()) { setResponsePage(getApplication().getHomePage()); } } } private boolean tryToLogIn() { if (username != null password != null) { User user = Database.findUser(username); if (user != null) { if (user.comparePasswords(password)) { WiaSession.get().setUser(user); return true; } } } return false; } } } WiaSession.java: public final class WiaSession extends WebSession { private User user; public WiaSession(Request request) { super(request); } public static WiaSession get() { return (WiaSession) Session.get(); } public static boolean isLoggedIn() { return WiaSession.get().isAuthenticated(); } public boolean isAuthenticated() { return (user != null); } public final synchronized User getUser() { return user; } public final synchronized void setUser(User user) { this.user = user; } } WicketApplication.java, newSession overwritten: @Override public final Session newSession(Request request, Response response) { return new WiaSession(request); } -- View this message in context: http://apache-wicket.1842946.n4
Re: StatelessForm: Cannot login
lol. Next time ask the community earlier. I always try to solve my problems alone. Sometimes it helps to build a quickstart and focus to the problem. But if i realy don't have an idea and google is not helping to - then i ask here. Normally you get help in short time. Btw: Thanks to all helping others out of their problems. Cheers Per Am 09.02.2012 20:00, schrieb René Bernhardsgrütter: Hi Per, thank you very much for your answers. Yes, that was it. I added WiaSession.get().bind(); to my LoginPanel and now it works as it should :-) Every time when the LoginPanel is showed, the session will be binded. Phu, I was trying to fix that over three days ^^ Regards, René On 02/09/2012 06:53 PM, Per Newgro wrote: And maybe this javadoc helps Session#bind() /** * Force binding this session to the application's {@link ISessionStore session store} if not * already done so. * p * A Wicket application can operate in a session-less mode as long as stateless pages are used. * Session objects will be then created for each request, but they will only live for that * request. You can recognize temporary sessions by calling {@link #isTemporary()} which * basically checks whether the session's id is null. Hence, temporary sessions have no session * id. * /p * p * By calling this method, the session will be bound (made not-temporary) if it was not bound * yet. It is useful for cases where you want to be absolutely sure this session object will be * available in next requests. If the session was already bound ( * {@link ISessionStore#lookup(Request) returns a session}), this call will be a noop. * /p */ Am 09.02.2012 18:45, schrieb Per Newgro: If i understood your usecase correctly you're app is still stateless if you logged in. Afaik no session is created for stateless pages. So after you've logged in the session is away for your next page. And then the user is away to. You could debug it by print the hashcode of getSession() in the page. Cheers Per Hello, I have a strange problem with StatelessForms in combination with login in: On my MainPage are two stateless forms. One for registration and one for the login (registration isn't implemented yet). When I try to log in, Wicket creates a new User() and saves it in the Session (I made this like it's explained in Wicket in Action). A System.out.print(user created) in the constructor of User confirms that. Everything seems to be ok. But when the main page reloads, I am still logged out. And: When I change from StatelessForm to Form, everything works perfectly. Something else might be important: When I request a page that requries authorization and I'm not logged in, i'm being redirected to /login. There is the same LoginPanel (with StatelessForm) as on the main page - and the login works! But when I directly open /login it's the same as on the main page and I can't login. I also noticed that the login works (with StatelessForm) when I open a page that requires authorization, then press the back button (back to main page) and there try to log in. The question is now, what am I doing worng? I can't find the problem in my code, I have been trying a lot to find out what's worng but everything seems to be correct. I couldn't find anything in the mailing list / on the web, I searched a lot. At the end I attached code from LoginPanel.java, WiaSession.java and WicketApplication.java. Thank you very much for your help! (And sorry if there are one or two missspelled words - I don't speak english natively.) René LoginPanel.java: public class LoginPanel extends Panel { public LoginPanel(String id) { super(id); add(new LoginForm(login)); } private class LoginForm extends StatelessForm { private String username; private String password; public LoginForm(String id) { super(id); setModel(new CompoundPropertyModel(this)); add(new TextField(username)); add(new PasswordTextField(password)); } @Override public final void onSubmit() { if (tryToLogIn()) { if (!continueToOriginalDestination()) { setResponsePage(getApplication().getHomePage()); } } } private boolean tryToLogIn() { if (username != null password != null) { User user = Database.findUser(username); if (user != null) { if (user.comparePasswords(password)) { WiaSession.get().setUser(user); return true; } } } return false; } } } WiaSession.java: public final class WiaSession extends WebSession { private User user; public WiaSession(Request request
[1.5.4] DropDownChoice is not presenting value if equals is not overwritten
Hi, with 1.5.4 the implementation of org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.java has changed from code /** * @see FormComponent#getModelValue() */ @Override public String getModelValue() { final T object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); return getChoiceRenderer().getIdValue(object, index); } else { return ; } } /code to code /** * @see FormComponent#getModelValue() */ @Override public String getModelValue() { final T object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); if (index 0) { // the model is returning a choice that is not in the available choices collection logger.warn( Detected inconsistency in choice component: {}/{}. Model returned object: {}, but this object is not available in the list of selected objects., new Object[] { getPage().getClass(), getPageRelativePath(), object }); // pretend like nothing is selected return ; } return getChoiceRenderer().getIdValue(object, index); } else { return ; } } /code I don't see why this changed. Release notes don't provide a task for that. But now i have to overwrite equals in my objects to get that to work. Is there another way of selecting the object? Thanks Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: [1.5.4] DropDownChoice is not presenting value if equals is not overwritten
Maybe a usecase helps :-) I load my choices in a LDM. The selected choice is located in the domain model. So the objects are equal by semantic but not by instance. Dropdown choices are d, Germany; dk, Danmark hashcodes are 1 and 2 selected value is d, Germany hashcode is 3 Cheers Per Am 24.01.2012 10:42, schrieb Per Newgro: Hi, with 1.5.4 the implementation of org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.java has changed from code /** * @see FormComponent#getModelValue() */ @Override public String getModelValue() { final T object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); return getChoiceRenderer().getIdValue(object, index); } else { return ; } } /code to code /** * @see FormComponent#getModelValue() */ @Override public String getModelValue() { final T object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); if (index 0) { // the model is returning a choice that is not in the available choices collection logger.warn( Detected inconsistency in choice component: {}/{}. Model returned object: {}, but this object is not available in the list of selected objects., new Object[] { getPage().getClass(), getPageRelativePath(), object }); // pretend like nothing is selected return ; } return getChoiceRenderer().getIdValue(object, index); } else { return ; } } /code I don't see why this changed. Release notes don't provide a task for that. But now i have to overwrite equals in my objects to get that to work. Is there another way of selecting the object? Thanks Per - 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: [1.5.4] DropDownChoice is not presenting value if equals is not overwritten
Thanks Sven, https://issues.apache.org/jira/browse/WICKET-4353 Cheers Per Am 24.01.2012 11:31, schrieb Sven Meier: Hi, Igor's commit statements says improved inconsistency handling in choice components. This change prevents IChoiceRenderer#getIdValue() being called with -1 as the index argument. I assume you are using a custom IChoiceRenderer which doesn't use the index but a custom identifier? Try overriding #getModelValue(): @Override public String getModelValue() { final Foo object = getModelObject(); if (object != null) { return + object.getBar(); } else { return ; } } And create a jira issue please. We might have to revert this change. Sven Am 24.01.2012 10:52, schrieb Per Newgro: Maybe a usecase helps :-) I load my choices in a LDM. The selected choice is located in the domain model. So the objects are equal by semantic but not by instance. Dropdown choices are d, Germany; dk, Danmark hashcodes are 1 and 2 selected value is d, Germany hashcode is 3 Cheers Per Am 24.01.2012 10:42, schrieb Per Newgro: Hi, with 1.5.4 the implementation of org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.java has changed from code /** * @see FormComponent#getModelValue() */ @Override public String getModelValue() { final T object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); return getChoiceRenderer().getIdValue(object, index); } else { return ; } } /code to code /** * @see FormComponent#getModelValue() */ @Override public String getModelValue() { final T object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); if (index 0) { // the model is returning a choice that is not in the available choices collection logger.warn( Detected inconsistency in choice component: {}/{}. Model returned object: {}, but this object is not available in the list of selected objects., new Object[] { getPage().getClass(), getPageRelativePath(), object }); // pretend like nothing is selected return ; } return getChoiceRenderer().getIdValue(object, index); } else { return ; } } /code I don't see why this changed. Release notes don't provide a task for that. But now i have to overwrite equals in my objects to get that to work. Is there another way of selecting the object? Thanks Per - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Apache Wicket 1.5.4 is released
Shouldn't it be announce to the other list? Cheers Per Am 23.01.2012 09:41, schrieb Martin Grigorov: This is the fourth maintenance release of the Wicket 1.5.x series. This release brings over 60 bug fixes and improvements. Git tag: release/wicket-1.5.4 Changelog: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310561version=12319051 Maven: dependency groupIdorg.apache.wicket/groupId artifactIdwicket-core/artifactId version1.5.4/version /dependency Download the full distribution (including source): http://www.apache.org/dyn/closer.cgi/wicket/1.5.4 The Wicket team - 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: Apache Wicket 1.5.4 is released
Oops sorry. My fault. Mail filter is filtering dev before users list. So it's only seen in dev folder. Sorry. Per Am 23.01.2012 10:51, schrieb Per Newgro: Shouldn't it be announce to the other list? Cheers Per Am 23.01.2012 09:41, schrieb Martin Grigorov: This is the fourth maintenance release of the Wicket 1.5.x series. This release brings over 60 bug fixes and improvements. Git tag: release/wicket-1.5.4 Changelog: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310561version=12319051 Maven: dependency groupIdorg.apache.wicket/groupId artifactIdwicket-core/artifactId version1.5.4/version /dependency Download the full distribution (including source): http://www.apache.org/dyn/closer.cgi/wicket/1.5.4 The Wicket team - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: What to add to pom.xml to use hibernate?
Hmm. Firstly you ask the wrong list. Hibernate is off topic. At second - did you do a search? With maven hibernate i found this link quickly: http://stackoverflow.com/questions/3345816/hibernate-projects-and-building-with-maven See the answer with the green check at the side. I think that will anser you question. You have to exhange the version numbers by 4.0.1... Cheers Per Am 21.01.2012 08:53, schrieb Daniel Watrous: I'm interested in using hibernate in my wicket application, but I can't find any up to date examples combining the two. Is there something other than hibernate that the wicket community uses for ORM? If not, what can I add to the pom.xml file to include hibernate. I tried adding this: dependency groupIdorg.hibernate/groupId artifactIdhibernate/artifactId version4.0.1-Final/version /dependency but it doesn't work. I an error that it Could not resolve dependencies for project... I also attempted to add this alongside the other repository that is there. repository idjboss/id urlhttp://repository.jboss.org/maven2//url /repository I get the error about Could not resolve dependencies for project... but now many other jar files are not found. I started with the quickstart, if that helps. - 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: Can't instantiate page using constructor
The stack trace is what? Am 21.01.2012 18:21, schrieb Daniel Watrous: When I build my wicket project I'm getting the following error Tests in error: homepageRendersSuccessfully(com.danielwatrous.movieratings.TestHomePage): Can't instantiate page using constructor 'public com.danielwatrous.movieratings.HomePage(org.apache.wicket.request.mapper.parameter.PageParameters)' and argument ''. Might be it doesn't exist, may be it is not visible (public). I can't see any errors in my code. I am trying to use Hibernate and if I comment out the hibernate code then the page compiles fine. I don't see how the hibernate code causes an error with the class. Here's my code. package com.danielwatrous.movieratings; import org.hibernate.Session; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.WebPage; import com.danielwatrous.movieratings.domain.*; import com.danielwatrous.movieratings.util.HibernateUtil; public class HomePage extends WebPage { private static final long serialVersionUID = 1L; public HomePage(final PageParameters parameters) { add(new Label(version, getApplication().getFrameworkSettings().getVersion())); // TODO Add your page's components here Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Movie movie = new Movie(); movie.setName(Ocean's Eleven); movie.setCategory(Category.COMEDY); movie.setRating(Rating.FOURSTARS); session.save(movie); session.getTransaction().commit(); } } - 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: ListView not refreshed after a new row is inserted with EJB3 as its backend data
Use a LoadableDetachableModelListUser in the ListView Constructor. Put all the load loading into the load method and see what happens. Cheers Per Am 19.01.2012 07:49, schrieb x.yang: Hello, Everyone, I am trying to build a web app with Wicket, EJB3, and MySQL. My IDE is Netbeans 6.9.1 and the server is Glassfish 3.1. I have created two entity beans 'Centre' and 'User', and one Centre has many User(s). I also created two Facades for them. The Wicket page used to list the Users is as below: class ListUsers extends WebPage { @EJB(name = UserFacade) private UserFacade userFacade; public ListUsers(Centre c) { ListUser users; if (c == null) { users = userFacade.findAll(); } else { users = new ArrayListUser(c.getUserCollection()); } final ListViewUser list = new ListViewUser(eachUser, users) { @Override protected void populateItem(ListItem item) { final User user = (User) item.getModelObject(); item.add(new Label(username, user.getUsername())); item.add(new Label(fullname, user.getFullname())); item.add(new Label(email, user.getEmail())); item.add(new Label(centreid, user.getCentre().getName())); } }; add(list); } } - The page to add a User is following: public AddUser(Centre c) { user = new User(); user.setCentre(c); FormAddUser form = new FormAddUser(AddUser) { @Override protected void onSubmit() { userFacade.create(user); } }; form.add(new TextFieldString(username, new PropertyModel(user, username)).setRequired(true)); PasswordTextField tf_password = new PasswordTextField(password, new PropertyModel(user, hashedPassword)); form.add(tf_password); form.add(new TextFieldString(fullname, new PropertyModel(user, fullname)).setRequired(true)); TextField tf_email = new TextFieldString(email, new PropertyModel(user, email)); form.add(tf_email); LoadableDetachableModel centres = new LoadableDetachableModel() { @Override protected Object load() { return centreFacade.findAll(); } }; DropDownChoiceCentre ddc = new DropDownChoiceCentre(centreid, new PropertyModelCentre(user, centre), centres, new ChoiceRendererCentre(name, name)); form.add(ddc.setRequired(true)); add(form); } } The problem is I can't see the newly added User in the list with getUserCollection() method of Centre, but I do see the new User if I use userFacade.findAll() method. Could you please help me and point me to the right direction? I am quite new to Wicket and EJB3. Any comments are welcom. Thanks a lot. Yang -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/ListView-not-refreshed-after-a-new-row-is-inserted-with-EJB3-as-its-backend-data-tp4309318p4309318.html Sent from the Users forum 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
Re: how to get https port number in Wicket 1.5
Thanks for testing this out. I wasn't aware of that. I didn't understand the usecase exactly. You want to set the page / request secure if you've added the login form? Or do you want to secure the form only. For the later a possible answer is this http://stackoverflow.com/questions/96164/partial-site-ssl-using-asp-net-login-control It's a .net answer but the issue seems to be the same. Per Am 15.01.2012 01:41, schrieb armhold: Hi Per, The documentation for @RequireHttps implies that it only works for pages, not components, and my (limited) testing shows that to be the case. Is there a way to use it with components on otherwise insecure pages? My use case is to secure a form on non-https pages, specifically to secure that very nice username/password field at the top of Twitter Bootstrap pages. Thanks -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/how-to-get-https-port-number-in-Wicket-1-5-tp4295139p4296003.html Sent from the Users forum 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
Re: how to get https port number in Wicket 1.5
Stupid question. Is @RequireHttps at Form class working? Cheers Per Am 14.01.2012 17:44, schrieb armhold: Assuming that the http/https port number have been set in WicketApplication with the following: setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(8080, 8443))); ... is there any way to get access to the port numbers from components? One obvious solution is something like: public class WicketApplication { public int getHttpPort() { return 8080; } public int getHttpsPort() { return 8443; } public void init () { // ... setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(getHttpPort(), getHttpsPort(; } } And then in my components: ((WicketApplication) getApplication()).getHttpsPort(); But I am wondering if there is a cleaner way to get this information, perhaps from the RequestCycle. Why am I asking? I'd like to create a Form subclass that always uses https. Thanks -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/how-to-get-https-port-number-in-Wicket-1-5-tp4295139p4295139.html Sent from the Users forum 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
Re: how to get https port number in Wicket 1.5
Stupid = my question not yours :-). Only for clearify it :-) Am 14.01.2012 19:05, schrieb Per Newgro: Stupid question. Is @RequireHttps at Form class working? Cheers Per Am 14.01.2012 17:44, schrieb armhold: Assuming that the http/https port number have been set in WicketApplication with the following: setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(8080, 8443))); ... is there any way to get access to the port numbers from components? One obvious solution is something like: public class WicketApplication { public int getHttpPort() { return 8080; } public int getHttpsPort() { return 8443; } public void init () { // ... setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig(getHttpPort(), getHttpsPort(; } } And then in my components: ((WicketApplication) getApplication()).getHttpsPort(); But I am wondering if there is a cleaner way to get this information, perhaps from the RequestCycle. Why am I asking? I'd like to create a Form subclass that always uses https. Thanks -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/how-to-get-https-port-number-in-Wicket-1-5-tp4295139p4295139.html Sent from the Users forum 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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org