Hi all,

I'm very new to Wicket, so this is most likely a misunderstanding on my 
part, but I've got code that looks something like the following (all 
namespace & import info stripped out for brevity):

// BEGIN

// Timesheet.java

public class Timesheet implements Serializable {
  private String description;
  private String duration;

  public String getDescription() {
    return description;
  }

  public void setDescription(String description) {
    this.description = description;
  }

  public String getDuration() {
    return duration;
  }

  public void setDuration(String duration) {
    this.duration = duration;
  }
}

// TimesheetForm.java

public class TimesheetForm extends Form {
  private TextField descriptionTextField = new TextField("description");
  private TextField durationTextField = new TextField("duration");

  public TimesheetForm(String id, IModel model) {
    super(id, model);
    add(descriptionTextField);
    add(durationTextField);
  }
}

// TimesheetListPage.java

public class TimesheetListPage extends WebPage {
    public TimesheetListPage() {
        super();
        Timesheet model = new Timesheet();
        add(new TimesheetForm("timesheetForm", new 
CompoundPropertyModel(model)));
    }
}

// TimesheetListPage.html

<!-- snip: xhtml doctype and wicket xml namespace declaration -->
<html>
<body>
  <form wicket:id="timesheetForm">
    <input type="text" wicket:id="description" />
    <input type="text" wicket:id="duration" />
  </form>
</body>
</html>

// END

When I deploy this code to my Tomcat 5 container, I get the following error:

// BEGIN

WicketMessage: Exception in rendering component: [MarkupContainer 
[Component id = timesheetForm, page = TimesheetListPage, path = 
0:timesheetForm.TimesheetForm, isVisible = true, isVersioned = true]]

Root cause:

java.security.AccessControlException: access denied 
(java.lang.reflect.ReflectPermission suppressAccessChecks) at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
 
at 
java.security.AccessController.checkPermission(AccessController.java:427) 
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
at 
java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:107) 
at 
wicket.util.lang.PropertyResolver$MethodGetAndSet.<init>(PropertyResolver.java:783)
 
at 
wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:340) 
at 
wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:200)
 
at wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:88) 
at 
wicket.model.AbstractPropertyModel.onGetObject(AbstractPropertyModel.java:126) 
at 
wicket.model.AbstractDetachableModel.getObject(AbstractDetachableModel.java:100)
 
at wicket.Component.getModelObject(Component.java:968) at 
wicket.Component.getModelObjectAsString(Component.java:983) at 
wicket.markup.html.form.FormComponent.getModelValue(FormComponent.java:728) 
at 
wicket.markup.html.form.FormComponent.getValue(FormComponent.java:371) 
at wicket.markup.html.form.TextField.onComponentTag(TextField.java:102) 
at wicket.Component.renderComponent(Component.java:1643) at 
wicket.MarkupContainer.onRender(MarkupContainer.java:925) at 
wicket.Component.render(Component.java:1511) at 
wicket.MarkupContainer.renderNext(MarkupContainer.java:1332) at 
wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:980) 
at wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:915) 
at wicket.markup.html.form.Form.onComponentTagBody(Form.java:774) at 
wicket.Component.renderComponent(Component.java:1674) at 
wicket.MarkupContainer.onRender(MarkupContainer.java:925) at 
wicket.markup.html.form.Form.onRender(Form.java:845) at 
wicket.Component.render(Component.java:1511) at 
wicket.MarkupContainer.renderNext(MarkupContainer.java:1332) at 
wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:980) 
at wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:915) 
at wicket.Component.renderComponent(Component.java:1674) at 
wicket.MarkupContainer.onRender(MarkupContainer.java:925) at 
wicket.Component.render(Component.java:1511) at 
wicket.MarkupContainer.renderNext(MarkupContainer.java:1332) at 
wicket.MarkupContainer.renderAll(MarkupContainer.java:942) at 
wicket.Page.onRender(Page.java:867) at 
wicket.Component.render(Component.java:1511) at 
wicket.Page.renderPage(Page.java:411) at 
wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:226)
 
at 
wicket.request.compound.DefaultResponseStrategy.respond(DefaultResponseStrategy.java:49)
 
at 
wicket.request.compound.AbstractCompoundRequestCycleProcessor.respond(AbstractCompoundRequestCycleProcessor.java:66)
 
at wicket.RequestCycle.doProcessEventsAndRespond(RequestCycle.java:852) 
at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:879) at 
wicket.RequestCycle.step(RequestCycle.java:960) at 
wicket.RequestCycle.steps(RequestCycle.java:1034) at 
wicket.RequestCycle.request(RequestCycle.java:453) at 
wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:215) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at 
java.lang.reflect.Method.invoke(Method.java:585) at 
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) 
at java.security.AccessController.doPrivileged(Native Method) at 
javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at 
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272) 
at 
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161) 
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
 
at 
org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:50)
 
at 
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
 
at java.security.AccessController.doPrivileged(Native Method) at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
 
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
 
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
 
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
 
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) 
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
 
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 
at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
 
at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) 
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) 
at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) 
at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) 
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
 
at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) 
at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 
at java.lang.Thread.run(Thread.java:595)

// END

Is there any way to get around this without having to modify my servlet 
container to give wicket suppressAccessChecks permissions?

Cheers,
Tom


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to