List of usage examples for org.apache.wicket.ajax AjaxRequestTarget focusComponent
void focusComponent(Component component);
From source file:au.org.theark.core.web.form.AbstractArchiveDetailForm.java
License:Open Source License
protected void initialiseForm() { cancelButton = new AjaxButton(Constants.CANCEL) { private static final long serialVersionUID = 1L; @Override/*w ww .j av a2s . c o m*/ protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (isNew()) { editCancelProcess(target); } else { crudVO.getSearchResultPanelContainer().setVisible(true);// Hide the Search Result List Panel via the WebMarkupContainer crudVO.getDetailPanelContainer().setVisible(false);// Hide the Detail Panle via the WebMarkupContainer target.add(crudVO.getDetailPanelContainer()); target.add(crudVO.getSearchResultPanelContainer());// Attach the resultListContainer WebMarkupContainer to be re-rendered onCancelPostProcess(target); } } @Override protected void onError(AjaxRequestTarget arg0, Form<?> arg1) { } }; saveButton = new AjaxButton(Constants.SAVE) { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return ArkPermissionHelper.isActionPermitted(Constants.SAVE); } public void onSubmit(AjaxRequestTarget target, Form<?> form) { onSave(containerForm, target); target.add(crudVO.getDetailPanelContainer()); } @SuppressWarnings("unchecked") public void onError(AjaxRequestTarget target, Form<?> form) { boolean setFocusError = false; WebMarkupContainer wmc = (WebMarkupContainer) form.get("detailFormContainer"); for (Iterator iterator = wmc.iterator(); iterator.hasNext();) { Component component = (Component) iterator.next(); if (component instanceof FormComponent) { FormComponent formComponent = (FormComponent) component; if (!formComponent.isValid()) { if (!setFocusError) { // Place focus on field in error (for the first field in error) target.focusComponent(formComponent); setFocusError = true; } } } } processErrors(target); } }; addComponentsToForm(); }
From source file:au.org.theark.core.web.form.AbstractDetailForm.java
License:Open Source License
/** * Method to handle Save action, and handle for any errors, placing forcus on any component in error * /*from w w w . j a v a 2 s. c o m*/ * @param target */ @SuppressWarnings("unchecked") protected void saveOnErrorProcess(AjaxRequestTarget target) { boolean setFocusError = false; WebMarkupContainer wmc = arkCrudContainerVO.getDetailPanelContainer(); for (Iterator iterator = wmc.iterator(); iterator.hasNext();) { Component component = (Component) iterator.next(); if (component instanceof FormComponent) { FormComponent formComponent = (FormComponent) component; if (!formComponent.isValid()) { if (!setFocusError) { // Place focus on field in error (for the first field in error) target.focusComponent(formComponent); setFocusError = true; } } } } processErrors(target); }
From source file:au.org.theark.core.web.form.AbstractModalDetailForm.java
License:Open Source License
protected void saveOnErrorProcess(AjaxRequestTarget target) { boolean setFocusError = false; WebMarkupContainer wmc = arkCrudContainerVo.getDetailPanelFormContainer(); for (Iterator iterator = wmc.iterator(); iterator.hasNext();) { Component component = (Component) iterator.next(); if (component instanceof FormComponent) { FormComponent formComponent = (FormComponent) component; if (!formComponent.isValid()) { if (!setFocusError) { // Place focus on field in error (for the first field in error) target.focusComponent(formComponent); setFocusError = true; }// w w w .j a v a 2 s . c o m } } } target.focusComponent(feedbackPanel); processErrors(target); }
From source file:au.org.theark.core.web.form.AbstractModalDetailForm.java
License:Open Source License
public void onEditSave(AjaxRequestTarget target, Form<?> form) { onSave(target);//from w w w. j a v a 2 s . c o m target.add(arkCrudContainerVo.getDetailPanelContainer()); String s = "jQuery('form#" + form.getMarkupId() + "').cleanDirty();"; target.appendJavaScript(s); target.focusComponent(feedbackPanel); }
From source file:au.org.theark.lims.web.component.biospecimen.batchaliquot.form.BatchAliquotBiospecimenForm.java
License:Open Source License
/** * /*from w ww. j a v a 2 s.c o m*/ * @return the listEditor of Biospecimens to aliquot */ public AbstractListEditor<Biospecimen> buildListEditor() { listEditor = new AbstractListEditor<Biospecimen>("aliquots", new PropertyModel(getModelObject(), "aliquots")) { private static final long serialVersionUID = 1L; @SuppressWarnings("serial") @Override protected void onPopulateItem(final ListItem<Biospecimen> item) { item.setOutputMarkupId(true); Biospecimen parentBiospecimen = BatchAliquotBiospecimenForm.this.getModelObject() .getParentBiospecimen(); try { PropertyUtils.copyProperties(item.getModelObject(), parentBiospecimen); } catch (IllegalAccessException e1) { log.error(e1.getMessage()); } catch (InvocationTargetException e1) { log.error(e1.getMessage()); } catch (NoSuchMethodException e1) { log.error(e1.getMessage()); } if (copyBiospecimen) { item.getModelObject().setParent(parentBiospecimen); item.getModelObject().setParentUid(parentBiospecimen.getBiospecimenUid()); item.getModelObject().setQuantity(biospecimenToCopy.getQuantity()); item.getModelObject().setTreatmentType(biospecimenToCopy.getTreatmentType()); item.getModelObject().setConcentration(biospecimenToCopy.getConcentration()); } else { item.getModelObject().setParent(parentBiospecimen); item.getModelObject().setParentUid(parentBiospecimen.getBiospecimenUid()); item.getModelObject().setQuantity(null); item.getModelObject().setConcentration(null); } biospecimenUidTxtFld = new TextField<String>("biospecimenUid", new PropertyModel(item.getModelObject(), "biospecimenUid")); if (parentBiospecimen.getStudy().getAutoGenerateBiospecimenUid()) { biospecimenUidTxtFld.setEnabled(false); biospecimenUidTxtFld.setModelObject(Constants.AUTO_GENERATED); } else { biospecimenUidTxtFld.setEnabled(true); biospecimenUidTxtFld.setModelObject(null); } quantityTxtFld = new TextField<Double>("quantity", new PropertyModel(item.getModelObject(), "quantity")) { private static final long serialVersionUID = 1L; @Override public <C> IConverter<C> getConverter(Class<C> type) { DoubleConverter doubleConverter = new DoubleConverter(); NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setMinimumFractionDigits(1); doubleConverter.setNumberFormat(getLocale(), numberFormat); return (IConverter<C>) doubleConverter; } }; initTreatmentTypeDdc(item); concentrationTxtFld = new TextField<Number>("concentration", new PropertyModel(item.getModelObject(), "concentration")); item.add(biospecimenUidTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { if (!item.getModelObject().getStudy().getAutoGenerateBiospecimenUid()) { // Check BiospecimenUID is unique String biospecimenUid = (getComponent().getDefaultModelObject().toString() != null ? getComponent().getDefaultModelObject().toString() : new String()); Biospecimen biospecimen = iLimsService.getBiospecimenByUid(biospecimenUid, item.getModelObject().getStudy()); if (biospecimen != null && biospecimen.getId() != null) { error("Biospecimen UID must be unique. Please try again."); target.focusComponent(getComponent()); } } target.add(feedbackPanel); biospecimenToCopy.setBiospecimenUid(getComponent().getDefaultModelObject().toString()); } })); item.add(quantityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { if (!totalQuantityLessThanParentQuantity()) { target.focusComponent(getComponent()); } target.add(feedbackPanel); biospecimenToCopy.setQuantity((Double) getComponent().getDefaultModelObject()); item.getModelObject().setQuantity((Double) getComponent().getDefaultModelObject()); } @Override protected void onError(AjaxRequestTarget target, RuntimeException e) { target.add(feedbackPanel); } })); item.add(treatmentTypeDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { biospecimenToCopy.setTreatmentType((TreatmentType) getComponent().getDefaultModelObject()); item.getModelObject() .setTreatmentType((TreatmentType) getComponent().getDefaultModelObject()); } })); item.add(concentrationTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { biospecimenToCopy.setConcentration((Double) getComponent().getDefaultModelObject()); item.getModelObject().setConcentration((Double) getComponent().getDefaultModelObject()); } })); // Copy button allows entire row details to be copied item.add(new AjaxEditorButton(Constants.COPY) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Biospecimen biospecimen = new Biospecimen(); copyBiospecimen = true; try { PropertyUtils.copyProperties(biospecimen, getItem().getModelObject()); PropertyUtils.copyProperties(biospecimenToCopy, getItem().getModelObject()); listEditor.addItem(biospecimen); target.add(form); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } } }.setDefaultFormProcessing(false)); item.add(new AjaxEditorButton(Constants.DELETE) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { listEditor.removeItem(item); target.add(form); } }.setDefaultFormProcessing(false).setVisible(item.getIndex() > 0)); item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel() { private static final long serialVersionUID = 1L; @Override public String getObject() { return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD; } })); } }; return listEditor; }
From source file:au.org.theark.lims.web.component.biospecimen.batchcreate.form.ManualBatchCreateBiospecimenForm.java
License:Open Source License
/** * /*from ww w . java 2 s .com*/ * @return the listEditor of BatchBiospecimen(s) */ public AbstractListEditor<BatchBiospecimenVO> buildListEditor() { listEditor = new AbstractListEditor<BatchBiospecimenVO>("batchBiospecimenList", new PropertyModel(this, "batchBiospecimenList")) { private static final long serialVersionUID = 1L; @SuppressWarnings("serial") @Override protected void onPopulateItem(final ListItem<BatchBiospecimenVO> item) { item.setOutputMarkupId(true); item.getModelObject().getBiospecimen() .setLinkSubjectStudy(cpModel.getObject().getLinkSubjectStudy()); item.getModelObject().getBiospecimen() .setStudy(cpModel.getObject().getLinkSubjectStudy().getStudy()); biospecimenUidTxtFld = new TextField<String>("biospecimen.biospecimenUid", new PropertyModel(item.getModelObject(), "biospecimen.biospecimenUid")); initBioCollectionDdc(item); initSampleTypeDdc(item); sampleDateTxtFld = new DateTextField("biospecimen.sampleDate", new PropertyModel(item.getModelObject(), "biospecimen.sampleDate"), au.org.theark.core.Constants.DD_MM_YYYY); ArkDatePicker sampleDatePicker = new ArkDatePicker(); sampleDatePicker.bind(sampleDateTxtFld); sampleDateTxtFld.add(sampleDatePicker); quantityTxtFld = new TextField<Double>("biospecimen.quantity", new PropertyModel(item.getModelObject(), "biospecimen.quantity")) { private static final long serialVersionUID = 1L; @Override public <C> IConverter<C> getConverter(Class<C> type) { DoubleConverter doubleConverter = new DoubleConverter(); NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setMinimumFractionDigits(1); doubleConverter.setNumberFormat(getLocale(), numberFormat); return (IConverter<C>) doubleConverter; } }; initUnitDdc(item); initTreatmentTypeDdc(item); concentrationTxtFld = new TextField<Number>("biospecimen.concentration", new PropertyModel(item.getModelObject(), "biospecimen.concentration")); // Added onchange events to ensure model updated when any change made item.add(biospecimenUidTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { // Check BiospecimenUID is unique String biospecimenUid = (getComponent().getDefaultModelObject().toString() != null ? getComponent().getDefaultModelObject().toString() : new String()); Biospecimen biospecimen = iLimsService.getBiospecimenByUid(biospecimenUid, item.getModelObject().getBiospecimen().getStudy()); if (biospecimen != null && biospecimen.getId() != null) { ManualBatchCreateBiospecimenForm.this .error("Biospecimen UID must be unique. Please try again."); target.focusComponent(getComponent()); } target.add(feedbackPanel); } })); item.add(bioCollectionDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); item.add(sampleTypeDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); item.add(sampleDateTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); item.add(quantityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); item.add(unitDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); item.add(treatmentTypeDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); item.add(concentrationTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } })); // Copy button allows entire row details to be copied item.add(new AjaxEditorButton(Constants.COPY) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { BatchBiospecimenVO batchBiospecimenVo = new BatchBiospecimenVO(); try { PropertyUtils.copyProperties(batchBiospecimenVo.getBiospecimen(), item.getModelObject().getBiospecimen()); batchBiospecimenVo.getBiospecimen().setBiospecimenUid(new String()); listEditor.addItem(batchBiospecimenVo); target.add(form); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } } }.setDefaultFormProcessing(false)); item.add(new AjaxEditorButton(Constants.DELETE) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { listEditor.removeItem(item); target.add(form); } }.setDefaultFormProcessing(false).setVisible(item.getIndex() > 0)); item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel() { private static final long serialVersionUID = 1L; @Override public String getObject() { return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD; } })); } }; return listEditor; }
From source file:au.org.theark.lims.web.component.inventory.form.AbstractInventoryDetailForm.java
License:Open Source License
/** * Initialise the form, with the general edit/save/cancel/delete buttons * /*www. j a va 2 s . com*/ */ protected void initialiseForm() { cancelButton = new AjaxButton(Constants.CANCEL) { private static final long serialVersionUID = 1684005199059571017L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { detailContainer.setVisible(false); target.add(detailContainer); processErrors(target); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } }; saveButton = new ArkBusyAjaxButton(Constants.SAVE) { private static final long serialVersionUID = -423605230448635419L; @Override public boolean isVisible() { return ArkPermissionHelper.isActionPermitted(Constants.SAVE); } public void onSubmit(AjaxRequestTarget target, Form<?> form) { onSave(containerForm, target); target.add(detailFormContainer); target.add(containerPanel); } @SuppressWarnings("unchecked") public void onError(AjaxRequestTarget target, Form<?> form) { boolean setFocusError = false; WebMarkupContainer wmc = (WebMarkupContainer) form.get("detailFormContainer"); for (Iterator iterator = wmc.iterator(); iterator.hasNext();) { Component component = (Component) iterator.next(); if (component instanceof FormComponent) { FormComponent formComponent = (FormComponent) component; if (!formComponent.isValid()) { if (!setFocusError) { // Place focus on field in error (for the first field in error) target.focusComponent(formComponent); setFocusError = true; } } } } processErrors(target); } }; deleteButton = new AjaxDeleteButton(Constants.DELETE, new StringResourceModel("confirmDelete", this, null), new StringResourceModel(Constants.DELETE, this, null)) { private static final long serialVersionUID = 4005032637149080009L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { onDeleteConfirmed(target); target.add(feedbackPanel); detailContainer.setVisible(false); target.add(detailContainer); // remove node DefaultTreeModel treeModel = (DefaultTreeModel) tree.getDefaultModelObject(); for (Object selectedNode : tree.getTreeState().getSelectedNodes()) { treeModel.removeNodeFromParent((MutableTreeNode) selectedNode); } tree.updateTree(target); } @Override public boolean isVisible() { return (ArkPermissionHelper.isActionPermitted(Constants.DELETE) && !isNew()); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } @Override public boolean isEnabled() { return canDelete(); } }; //editButton.setDefaultFormProcessing(false); cancelButton.setDefaultFormProcessing(false); /* Defines a edit mode */ editButtonContainer = new WebMarkupContainer("editButtonContainer"); editButtonContainer.setOutputMarkupPlaceholderTag(true); editButtonContainer.setVisible(isNew()); // Initialise in read only detailFormContainer = new WebMarkupContainer("detailFormContainer"); detailFormContainer.setOutputMarkupPlaceholderTag(true); detailFormContainer.setEnabled(isNew()); addComponentsToForm(); }
From source file:au.org.theark.lims.web.component.inventory.form.AbstractInventoryDetailForm.java
License:Open Source License
/** * Method to handle Save action, and handle for any errors, placing forcus on any component in error * //w w w .j a v a 2 s . c o m * @param target */ @SuppressWarnings("unchecked") protected void saveOnErrorProcess(AjaxRequestTarget target) { boolean setFocusError = false; WebMarkupContainer wmc = getDetailContainer(); for (Iterator iterator = wmc.iterator(); iterator.hasNext();) { Component component = (Component) iterator.next(); if (component instanceof FormComponent) { FormComponent formComponent = (FormComponent) component; if (!formComponent.isValid()) { if (!setFocusError) { // Place focus on field in error (for the first field in error) target.focusComponent(formComponent); setFocusError = true; } } } } processErrors(target); }
From source file:au.org.theark.lims.web.component.inventory.form.BoxDetailForm.java
License:Open Source License
public void initialiseDetailForm() { idTxtFld = new TextField<String>("invBox.id"); nameTxtFld = new TextField<String>("invBox.name"); nameTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = 1L; @Override/*w w w . j av a 2 s . com*/ protected void onUpdate(AjaxRequestTarget target) { String boxName = (getComponent().getDefaultModelObject().toString() != null ? getComponent().getDefaultModelObject().toString() : new String()); InvBox invBox = iInventoryService.getInvBoxByNameForRack(invTrayDdc.getModelObject(), boxName); if (invBox != null && invBox.getId() != null) { error("Box name must be unique for a Rack. Please try again."); target.focusComponent(getComponent()); } target.add(feedbackPanel); } }); capacityTxtFld = new TextField<Integer>("invBox.capacity"); capacityTxtFld.setEnabled(false); availableTxtFld = new TextField<Integer>("invBox.available"); availableTxtFld.setEnabled(false); noOfColTxtFld = new TextField<Integer>("invBox.noofcol") { private static final long serialVersionUID = 1L; @SuppressWarnings("unchecked") @Override public <C> IConverter<C> getConverter(Class<C> type) { IntegerConverter integerConverter = new IntegerConverter(); return (IConverter<C>) integerConverter; } }; noOfColTxtFld.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { updateCapacityAndAvailable(target); } }); noOfRowTxtFld = new TextField<Integer>("invBox.noofrow") { private static final long serialVersionUID = 1L; @SuppressWarnings("unchecked") @Override public <C> IConverter<C> getConverter(Class<C> type) { IntegerConverter integerConverter = new IntegerConverter(); return (IConverter<C>) integerConverter; } }; noOfRowTxtFld.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { updateCapacityAndAvailable(target); } }); noOfColTxtFld.setEnabled(isNew()); noOfRowTxtFld.setEnabled(isNew()); initInvTrayDdc(); initColNoTypeDdc(); initRowNoTypeDdc(); batchAllocate = new ArkBusyAjaxButton("batchAllocate") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // Refresh entire detail panel to allocation panel boxAllocationPanel.initialisePanel(); detailContainer.addOrReplace(boxAllocationPanel); target.add(detailContainer); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { } @Override protected void onBeforeRender() { setEnabled(!isNew() && containerForm.getModelObject().getInvBox().getAvailable() > 0); super.onBeforeRender(); } }; batchAllocate.setDefaultFormProcessing(false); emptyBox = new AjaxDeleteButton("emptyBox", new StringResourceModel("emptyBoxConfirm", this, null), new StringResourceModel("emptyBox", this, null)) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { iInventoryService.unallocateBox(containerForm.getModelObject().getInvBox()); // Refresh entire detail panel target.add(detailContainer); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { } @Override protected void onBeforeRender() { setEnabled(!isNew() && containerForm.getModelObject().getInvBox().getAvailable() > 0); super.onBeforeRender(); } }; emptyBox.setDefaultFormProcessing(false); attachValidators(); addComponents(); // Focus on Name nameTxtFld.add(new ArkDefaultFormFocusBehavior()); }
From source file:au.org.theark.lims.web.component.inventory.form.BoxDetailForm.java
License:Open Source License
private void initInvTrayDdc() { List<InvRack> invTankList = new ArrayList<InvRack>(0); List<Study> studyListForUser = new ArrayList<Study>(0); studyListForUser.add(containerForm.getModelObject().getStudy()); /*//w w w .jav a 2 s. co m try { Subject currentUser = SecurityUtils.getSubject(); ArkUser arkUser = iArkCommonService.getArkUser(currentUser.getPrincipal().toString()); ArkUserVO arkUserVo = new ArkUserVO(); arkUserVo.setArkUserEntity(arkUser); Long sessionArkModuleId = (Long) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY); ArkModule arkModule = null; arkModule = iArkCommonService.getArkModuleById(sessionArkModuleId); studyListForUser = iArkCommonService.getStudyListForUserAndModule(arkUserVo, arkModule); } catch (EntityNotFoundException e) { log.error(e.getMessage()); } */ try { invTankList = iInventoryService.searchInvRack(new InvRack(), studyListForUser); } catch (ArkSystemException e) { log.error(e.getMessage()); } ChoiceRenderer<InvRack> choiceRenderer = new ChoiceRenderer<InvRack>("siteFreezerRack", Constants.ID); invTrayDdc = new DropDownChoice<InvRack>("invBox.invRack", (List<InvRack>) invTankList, choiceRenderer); invTrayDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { String boxName = (nameTxtFld.getModelObject().toString() != null ? nameTxtFld.getModelObject().toString() : new String()); InvBox invBox = iInventoryService.getInvBoxByNameForRack(invTrayDdc.getModelObject(), boxName); if (invBox != null && invBox.getId() != null) { error("Box name must be unique for a Rack. Please try again."); target.focusComponent(getComponent()); } target.add(feedbackPanel); } }); }