Author: echatellier Date: 2013-02-28 10:24:36 +0100 (Thu, 28 Feb 2013) New Revision: 164 Url: http://forge.codelutin.com/projects/cantharella/repository/revisions/164 Log: Fix rebuild lucene index ui Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/config/panels/RebuildLuceneIndexPanel.java Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/config/panels/RebuildLuceneIndexPanel.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/config/panels/RebuildLuceneIndexPanel.java 2013-02-27 10:49:32 UTC (rev 163) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/config/panels/RebuildLuceneIndexPanel.java 2013-02-28 09:24:36 UTC (rev 164) @@ -25,13 +25,16 @@ import nc.ird.cantharella.service.services.SearchService; import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.ajax.AjaxSelfUpdatingTimerBehavior; import org.apache.wicket.ajax.markup.html.form.AjaxFallbackButton; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.panel.Panel; +import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.spring.injection.annot.SpringBean; +import org.apache.wicket.util.time.Duration; /** * Panel qui permet de reconstruire l'index lucene. @@ -53,19 +56,25 @@ final Form<Void> formView = new Form<Void>("Form"); - final Label rebuildResultLabel = new Label("rebuildResult", new Model<String>("")); + final IModel<String> messageModel = Model.of("Idle"); + final Label rebuildResultLabel = new Label("rebuildResult", messageModel); + rebuildResultLabel.setOutputMarkupId(true); - Button addButton = new AjaxFallbackButton("Rebuild", formView) { + final Button addButton = new AjaxFallbackButton("Rebuild", formView) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { - rebuildResultLabel.setDefaultModelObject("Rebuilding..."); + messageModel.setObject("Rebuilding..."); + setEnabled(false); searchService.reIndex(); - rebuildResultLabel.setDefaultModelObject("Done."); + messageModel.setObject("Done."); + setEnabled(true); + target.add(rebuildResultLabel); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { - + messageModel.setObject("Error (see logs)."); + target.add(rebuildResultLabel); } }; formView.add(addButton);