Yes. There is no need to add it again and again for each request.

On Thu, Nov 15, 2012 at 6:11 PM, Karl-Heinz Golz <
karl-heinz.g...@t-online.de> wrote:

>
> Yes, I do it in getHomePage:
>
> public class StartApplication extends WebApplication {
>
>     @Override
>     public void init() {
>         . . .
>     }
>
>  @Override
>     public Class<? extends Page> getHomePage() {
>
>         IPackageResourceGuard packageResourceGuard =
> getResourceSettings().getPackageResourceGuard();
>         if (packageResourceGuard instanceof SecurePackageResourceGuard)
>         {
>             SecurePackageResourceGuard guard = (SecurePackageResourceGuard)
> packageResourceGuard;
>             guard.addPattern("+*.htm");
>         }
>
>         return Anmelden.class;
>     }
> }
>
>
> I have to move it to Init?
>
>
> Am 15.11.2012 17:02, schrieb Martin Grigorov:
> > Hi,
> >
> > Do you add white-list patterns to SecurePackageResourceGuard somewhere
> > outside of MyApplication#init() ?
> >
> > The exception says that SecurePackageResourceGuard's patterns list is
> being
> > modified during the request processing.
> > It should be changed only at application startup.
> >
> >
> > On Thu, Nov 15, 2012 at 5:52 PM, Karl-Heinz Golz <
> > karl-heinz.g...@t-online.de> wrote:
> >
> >>
> >> hello,
> >>
> >> I'm using wicket 1.5.9.
> >> My application shows some dynamic pictures via fancybox (native without
> >> e.g. visural wicket).
> >> That works almost well, i.e. you click the small picture and you get the
> >> big picture via fancybox. And you can click through the show (up to 3
> >> pictures) properly.
> >>
> >> But sometimes (about 1 of 10) when you click on a picture a
> >> ConcurrentModificationException is thrown.
> >>
> >> Below you find the exception and an extract of my coding.
> >>
> >> Maybe someone can give me a hint what's wrong.
> >> Many thanks in advance
> >> Karl-Heinz
> >>
> >> org.apache.wicket.DefaultExceptionMapper: Unexpected error occurred
> >> java.util.ConcurrentModificationException
> >>     at
> java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
> >>     at java.util.ArrayList$ListItr.previous(ArrayList.java:846)
> >>     at
> >>
> >>
> org.apache.wicket.util.collections.ReverseListIterator.next(ReverseListIterator.java:51)
> >>     at
> >>
> >>
> org.apache.wicket.markup.html.SecurePackageResourceGuard.acceptAbsolutePath(SecurePackageResourceGuard.java:179)
> >>     at
> >>
> >>
> org.apache.wicket.markup.html.PackageResourceGuard.accept(PackageResourceGuard.java:71)
> >>     at
> >>
> >>
> org.apache.wicket.request.resource.PackageResource.accept(PackageResource.java:468)
> >>     at
> >>
> >>
> org.apache.wicket.request.resource.PackageResource.internalGetResourceStream(PackageResource.java:445)
> >>     at
> >>
> >>
> org.apache.wicket.request.resource.PackageResource.getResourceStream(PackageResource.java:410)
> >>     at
> >>
> >>
> org.apache.wicket.request.resource.PackageResource.newResourceResponse(PackageResource.java:240)
> >>     at
> >>
> >>
> org.apache.wicket.request.resource.AbstractResource.respond(AbstractResource.java:497)
> >>     at
> >>
> >>
> org.apache.wicket.request.handler.resource.ResourceRequestHandler.respond(ResourceRequestHandler.java:74)
> >>     at
> >>
> >>
> org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler.respond(ResourceReferenceRequestHandler.java:105)
> >>     at
> >>
> >>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
> >>     at
> >>
> >>
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> >>     at
> >>
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
> >>     at
> >>
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
> >>     at
> >>
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
> >>     at
> >>
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
> >>     at
> >>
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:244)
> >>     at
> >>
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> >>     at
> >>
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> >>     at
> >>
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
> >>     at
> >>
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> >>     at
> >>
> >>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> >>     at
> >>
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> >>     at
> >>
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> >>     at
> >>
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> >>     at
> >>
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> >>     at
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> >>     at
> >>
> >>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
> >>     at
> >>
> >>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
> >>     at
> >>
> >>
> org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1770)
> >>     at
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> >>     at
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> >>     at java.lang.Thread.run(Thread.java:722)
> >>
> >>
> >>
> >> <a wicket:id="img1big" >
> >>    <img wicket:id="img1small" title="" alt="" />
> >> </a>
> >>
> >> -------------------
> >>
> >> Link<Object> linkImg1 = new Link<Object>("img1big") {
> >>     private static final long serialVersionUID = 1L;
> >>
> >>     @Override
> >>     public void onClick() {
> >>             setResponsePage(new ShowImage(fall.getImage1Big(),
> >> fall.getImage1ContentType(),
> >>             fall.getImage1Title()));
> >>     }
> >> };
> >> add(linkImg1);
> >>
> >> Image img1 = new NonCachingImage("img1small");
> >> if (fall.getImage1Small() != null) {
> >>     img1.setImageResource(new
> >> ByteArrayResource(fall.getImage1ContentType(), fall.getImage1Small()));
> >>     linkImg1.add(AttributeModifier.replace("rel", "fancyshow"));
> >> } else {
> >>     img1.setImageResourceReference(new
> >> PackageResourceReference(StartPage.class, "images/null.png"));
> >>     img1.add(AttributeModifier.replace("class", "hideme"));
> >> }
> >> linkImg1.add(img1);
> >>
> >>
> >> --------------------------------------------
> >> _ShowImage.html_
> >>
> >> <body>
> >>     <div>
> >>         <p><img wicket:id="imgid" alt="" /></p>
> >>         <br />
> >>         <p wicket:id="imgtitle" ></p>
> >>     </div>
> >> </body>
> >>
> >> -------------------
> >> _ShowImage.class_
> >>
> >> public class ShowImage extends WebPage implements Serializable {
> >>     private static final long serialVersionUID = 1L;
> >>
> >>     public ShowImage (byte[] img, String contentType, String title) {
> >>       Image img2 = new Image("imgid", new ByteArrayResource(contentType,
> >> img));
> >>       add(img2);
> >>
> >>       Label title2 = new Label("imgtitle", title);
> >>       add(title2);
> >>     }
> >> }
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >>
> >>
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


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

Reply via email to