Hi All

I am using a wicket-bootstrap 0.8.2-SNAPSHOT, and wicket 6.7.0. I am trying to create a from and add the components using a ControlGroup. I can add the components to the matching html OK, but I get the following error when the page renders.

12:45:25,905 ERROR [org.apache.wicket.serialize.java.JavaSerializer] (http--127.0.0.1-8080-1) Error serializing object class com.copperarrow.dvcs.web.pages.AddRepository [object=[Page class = com.copperarrow.dvcs.web.pages.AddRepository, id = 1, render count = 1]]: org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream$ObjectCheckException: The object type is not Serializable! A problem occurred while checking object with type: de.agilecoders.wicket.core.markup.html.bootstrap.form.ControlGroup$FeedbackMessageToCssClassNameTransformer
Field hierarchy is:
  1 [class=com.copperarrow.dvcs.web.pages.AddRepository, path=1]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] java.lang.Object org.apache.wicket.Component.data[8] [class=de.agilecoders.wicket.core.markup.html.bootstrap.form.BootstrapForm, path=1:form] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;] private java.lang.Object org.apache.wicket.MarkupContainer.children[0] [class=de.agilecoders.wicket.core.markup.html.bootstrap.form.ControlGroup, path=1:form:reponame-controlgroup] private final com.google.common.base.Function de.agilecoders.wicket.core.markup.html.bootstrap.form.ControlGroup.feedbackMessageToCssClassName [class=de.agilecoders.wicket.core.markup.html.bootstrap.form.ControlGroup$FeedbackMessageToCssClassNameTransformer] <----- field that is causing the problem at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.internalCheck(CheckingObjectOutputStream.java:387) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.check(CheckingObjectOutputStream.java:361) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.checkFields(CheckingObjectOutputStream.java:645) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.internalCheck(CheckingObjectOutputStream.java:569) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.check(CheckingObjectOutputStream.java:361) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.internalCheck(CheckingObjectOutputStream.java:432) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.check(CheckingObjectOutputStream.java:361) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.checkFields(CheckingObjectOutputStream.java:645) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.internalCheck(CheckingObjectOutputStream.java:569) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.check(CheckingObjectOutputStream.java:361) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.internalCheck(CheckingObjectOutputStream.java:432) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.check(CheckingObjectOutputStream.java:361) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.checkFields(CheckingObjectOutputStream.java:645) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.internalCheck(CheckingObjectOutputStream.java:569) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.check(CheckingObjectOutputStream.java:361) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.core.util.objects.checker.CheckingObjectOutputStream.writeObjectOverride(CheckingObjectOutputStream.java:713) [wicket-core-6.7.0.jar:6.7.0] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342) [rt.jar:1.7.0_21] at org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:268) [wicket-core-6.7.0.jar:6.7.0] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:342) [rt.jar:1.7.0_21] at org.apache.wicket.serialize.java.JavaSerializer.serialize(JavaSerializer.java:78) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.pageStore.DefaultPageStore.serializePage(DefaultPageStore.java:376) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:150) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.storeTouchedPages(PageStoreManager.java:383) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:181) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:98) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:73) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:281) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.Application$2.onDetach(Application.java:1628) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:105) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:101) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.util.listener.ListenerCollection$1.notify(ListenerCollection.java:120) [wicket-util-6.7.0.jar:6.7.0] at org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144) [wicket-util-6.7.0.jar:6.7.0] at org.apache.wicket.util.listener.ListenerCollection.reversedNotifyIgnoringExceptions(ListenerCollection.java:113) [wicket-util-6.7.0.jar:6.7.0] at org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:100) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:633) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:582) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:286) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) [wicket-core-6.7.0.jar:6.7.0] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) [wicket-core-6.7.0.jar:6.7.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
Caused by: java.io.NotSerializableException: de.agilecoders.wicket.core.markup.html.bootstrap.form.ControlGroup$FeedbackMessageToCssClassNameTransformer at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) [rt.jar:1.7.0_21] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) [rt.jar:1.7.0_21] at org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:260) [wicket-core-6.7.0.jar:6.7.0]
    ... 36 more

12:45:26,085 WARN [org.apache.wicket.pageStore.DefaultPageStore] (http--127.0.0.1-8080-1) Page [Page class = com.copperarrow.dvcs.web.pages.AddRepository, id = 1, render count = 1] cannot be serialized. See previous logs for possible reasons.

Here is the html snippet of the page:

<div class="well">
                        <form wicket:id="form" class="form-horizontal">
                            <fieldset>
                                <legend>Add Repository</legend>
<div wicket:id="reponame-controlgroup" class="control-group"> <input wicket:id="repoName" type="text"> <i class="icon-asterisk icon-large red"></i>
                                </div>
<div wicket:id="desc-controlgroup" class="control-group">
                                    <input wicket:id="desc" type="text">
                                </div>
<div wicket:id="location-controlgroup" class="control-group"> <input wicket:id="location" type="text">
                                </div>
<div wicket:id="repoType-controlgroup" class="control-group">
                                    <select wicket:id="repoType"></select>
<i class="icon-asterisk icon-large red"></i>
                                </div>
                            </fieldset>
                            <div class="form-actions">
<button wicket:id="submit-button" type="submit">Add Repository</button>
                            </div>
                        </form>
                        <div wicket:id="notification"></div>
                    </div>

And the associated java code:

BootstrapForm<Void> form = new BootstrapForm<Void>("form") {
            @Override
            protected void onSubmit() {
                System.out.println("submit form");
System.out.println("repository name " + repoNameTField.getDefaultModelObjectAsString());
            }

            @Override
            protected void onError() {
                System.out.println("error");
                notificationPanel.error("Error");
            }


        };
        add(form);
ControlGroup controlGroupRepoName = new ControlGroup("reponame-controlgroup", Model.of("Repository name"));

repoNameTField = new TextField<String>("repoName", new Model<String>());
        repoNameTField.setRequired(true);

        controlGroupRepoName.add(repoNameTField);
ControlGroup controlGroupDescription = new ControlGroup("desc-controlgroup", Model.of("Repository Description")); descriptionTField = new TextField<String>("desc", new Model<String>());
        controlGroupDescription.add(descriptionTField);
ControlGroup controlGroupLocation = new ControlGroup("location-controlgroup", Model.of("Repository Location")); locationTField = new TextField<String>("location", new Model<String>());
        controlGroupLocation.add(locationTField);
ControlGroup controlGroupRepoType = new ControlGroup("repoType-controlgroup", Model.of("Repository Type")); repositoryTypeDropDownChoice = new DropDownChoice<RepositoryType>("repoType", Arrays.asList(RepositoryType.values()), new EnumChoiceRenderer<RepositoryType>(this));
        repositoryTypeDropDownChoice.setRequired(true);
        controlGroupRepoType.add(repositoryTypeDropDownChoice);

        form.add(controlGroupRepoName);
        form.add(controlGroupDescription);
        form.add(controlGroupLocation);
        form.add(controlGroupRepoType);
form.add(new DefaultBootstrapButton("submit-button", Model.of("Create Repository"))
                .add(new ButtonBehavior(Buttons.Type.Primary))
.add(new LoadingBehavior(Model.of("Creating Repository")))); notificationPanel = new NotificationPanel("notification", new ContainerFeedbackMessageFilter(form));
        add(notificationPanel);

Any ideas, suggestions are most helpful.

Thanks

David

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to