[
https://issues.apache.org/jira/browse/WICKET-1239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556871#action_12556871
]
ejeklint edited comment on WICKET-1239 at 1/8/08 3:36 AM:
--------------------------------------------------------------
I think this is a bug in some JRE's, not in the code. An anonymous class should
have access to an enclosing class' inherited protected methods -
onComponentChanged() and onComponentChanging() in this case - but obviously the
JRE things differently.
A solution/workaround is to declare
@Override
protected void onModelChanged() {
super.onModelChanged();
}
@Override
protected void onModelChanging() {
super.onModelChanging();
}
in AjaxEditableLabel and all should be fine. At least it works for me on Mac
10.5.1 with Java 1.5.0.
was (Author: ejeklint):
I think this is a bug in some JRE's, not in the code. An anonymous class
should have access to an enclosing class' inherited protected methods -
onComponentChanged() and onComponentChanging() - but obviously the JRE things
differently.
A workaround is to declare
@Override
protected void onModelChanged() {
super.onModelChanged();
}
@Override
protected void onModelChanging() {
super.onModelChanging();
}
in AjaxEditableLabel and all should be fine. At least it works for me on Mac
10.5.1 with Java 1.5.0.
> java.lang.IllegalAccessError when changing AjaxEditableLabel
> -------------------------------------------------------------
>
> Key: WICKET-1239
> URL: https://issues.apache.org/jira/browse/WICKET-1239
> Project: Wicket
> Issue Type: Bug
> Components: wicket-extensions
> Affects Versions: 1.3.0-rc2, 1.3.0-final
> Environment: Windows XP Pro SP2, Java 1.6.0_03-b05
> Reporter: Artur Wronski
>
> When changing AjaxEditableLabel system throws:
> java.lang.IllegalAccessError: tried to access method
> org.apache.wicket.Component.onModelChanging()V from class
> org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel$1
> at
> org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel$1.onModelChanging
> (AjaxEditableLabel.java:273)
> at org.apache.wicket.Component.modelChanging(Component.java:2058)
> at org.apache.wicket.Component.setModelObject(Component.java:2823)
> at org.apache.wicket.markup.html.form.FormComponent.updateModel(
> FormComponent.java:992)
> at org.apache.wicket.markup.html.form.FormComponent.processInput(
> FormComponent.java:874)
> [...]
> The probem is in methd:
> protected FormComponent newEditor(MarkupContainer parent, String
> componentId, IModel model)
> {
> TextField editor = new TextField(componentId, model)
> {
> private static final long serialVersionUID = 1L;
> protected void onModelChanged()
> {
> super.onModelChanged();
> AjaxEditableLabel.this.onModelChanged();
> //here is a bug
> }
> protected void onModelChanging()
> {
> super.onModelChanging();
> AjaxEditableLabel.this.onModelChanging();
> //here is a bug
> }
> };
> editor.setOutputMarkupId(true);
> editor.setVisible(false);
> editor.add(new EditorAjaxBehavior());
> return editor;
> }
> AjaxEditableLabel.this.XXXXXX is not visible.
> Artur
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.