Note that there are some explanatory texts on larger screens.

plurals
  1. POWicket search form using loadable detachable model, null pointer
    primarykey
    data
    text
    <p>so a little about the project: basically been trying to get a search function working to update a listview which I have done before and had no problem; until now. I cannot seem to find the issue, here is hoping you guys and girls can!</p> <p>I get a null pointer issue when running:</p> <pre><code>modelList.setObject(exerciseJdbc.fetchExercisesByAttr(3, exercise.getName(), null, exercise.getComplexity() .getLevel())); </code></pre> <p>Now I am sure this is a simple mistake but I cannot for the life of me figure it out.</p> <pre><code>public class ManageExercise extends BaseManagerPage { private static final long serialVersionUID = -3241765837700606142L; private ModalWindow mwAddExercise; private LoadableDetachableModel&lt;List&lt;Exercise&gt;&gt; modelList; @SpringBean ExerciseJdbc exerciseJdbc; public ManageExercise() { final Exercise exercise = new Exercise(); add(mwAddExercise = new ModalWindow("mwAddExercise")); final WebMarkupContainer wmc = new WebMarkupContainer("wmc"); wmc.setOutputMarkupId(true); try{ modelList = exerciseModel(); } catch(Exception e){ e.printStackTrace(); } Form&lt;Exercise&gt; searchForm = new Form&lt;Exercise&gt;("searchForm", new CompoundPropertyModel&lt;Exercise&gt;(exercise)); searchForm.add(new TextField&lt;Integer&gt;("searchId", new PropertyModel&lt;Integer&gt;(exercise, "id"))); searchForm.add(new TextField&lt;String&gt;("searchName", new PropertyModel&lt;String&gt;(exercise, "name"))); // searchForm.add(new DropDownChoice&lt;String&gt;("complexity.level", // new PropertyModel&lt;String&gt;(this, "complexity"))); searchForm.add(new AjaxLink&lt;String&gt;("searchSubmit") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { modelList.setObject(exerciseJdbc.fetchExercisesByAttr(exercise.getId(), exercise.getName(), null, exercise.getComplexity().getLevel())); target.add(wmc); } }); add(searchForm); ListView&lt;Exercise&gt; lvExercise = new ListView&lt;Exercise&gt;("lvExercise", modelList) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem&lt;Exercise&gt; item) { final Exercise model = item.getModelObject(); item.add(new Label("id", Integer.toString(model.getId()))); item.add(new Label("name", model.getName())); item.add(new ExternalLink("demoUrl", model.getDemoUrl(), model .getDemoUrl())); item.add(new Label("complexity", model.getComplexity() .getLevel())); item.add(new AjaxLink&lt;String&gt;("edit") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { renderAddExercise(item.getModelObject()); mwAddExercise.show(target); } }); item.add(new AjaxLink&lt;String&gt;("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { exerciseJdbc.disableExercise(model); target.add(wmc); } }); } }; wmc.add(lvExercise); add(wmc); mwAddExercise.setWindowClosedCallback(new WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { target.add(wmc); } }); AjaxLink&lt;String&gt; addExercise = new AjaxLink&lt;String&gt;("addExercise") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { renderAddExercise(new Exercise()); mwAddExercise.show(target); } }; add(addExercise); } private LoadableDetachableModel&lt;List&lt;Exercise&gt;&gt; exerciseModel() { LoadableDetachableModel&lt;List&lt;Exercise&gt;&gt; exercideModel = new LoadableDetachableModel&lt;List&lt;Exercise&gt;&gt;() { private static final long serialVersionUID = 1L; protected List&lt;Exercise&gt; load() { return exerciseJdbc.fetchAllExercises(); } }; return exercideModel; } private void renderAddExercise(Exercise exercise) { mwAddExercise.setContent(new AddExercisePanel(mwAddExercise .getContentId(), exercise, mwAddExercise)); } </code></pre> <p>}</p> <p>Let me know if I have missed out any information required but I have a horrible feeling it is some kind of very stupid mistake.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload