Example usage for org.apache.wicket.ajax AjaxRequestTarget add

List of usage examples for org.apache.wicket.ajax AjaxRequestTarget add

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxRequestTarget add.

Prototype

void add(Component... components);

Source Link

Document

Adds components to the list of components to be rendered.

Usage

From source file:au.org.theark.phenotypic.web.component.phenofielduploader.PhenoDataSetCategoryFieldUploadStep3.java

License:Open Source License

@Override
public void onStepInNext(AbstractWizardForm<?> form, AjaxRequestTarget target) {
    String filename = containerForm.getModelObject().getFileUpload().getClientFileName();
    String fileFormat = filename.substring(filename.lastIndexOf('.') + 1).toUpperCase();
    char delimChar = containerForm.getModelObject().getUpload().getDelimiterType().getDelimiterCharacter();

    File temp = containerForm.getModelObject().getTempFile();
    if (temp != null && temp.exists()) {
        InputStream inputStream = null;
        try {//w  w w.j av a2s.com
            // Field upload
            if (containerForm.getModelObject().getUpload().getUploadLevel().getName()
                    .equalsIgnoreCase(Constants.UPLOAD_LEVEL_FIELD)) {
                iPhenoImportValidator = new PhenoDataSetFieldImportValidator(iArkCommonService,
                        iPhenotypicService, containerForm.getModelObject());
                //Category upload   
            }
            if (containerForm.getModelObject().getUpload().getUploadLevel().getName()
                    .equalsIgnoreCase(Constants.UPLOAD_LEVEL_CATEGORY)) {
                iPhenoImportValidator = new PhenoDataSetFieldCategoryImportValidator(iArkCommonService,
                        iPhenotypicService, containerForm.getModelObject());
            }
            inputStream = new BufferedInputStream(new FileInputStream(temp));
            validationMessages = iPhenoImportValidator.validateDataDictionaryFileData(inputStream, fileFormat,
                    delimChar);
            inputStream.close();
            inputStream = null;

            HashSet<Integer> insertRows = new HashSet<Integer>();
            HashSet<Integer> updateRows = new HashSet<Integer>();
            HashSet<ArkGridCell> insertCells = new HashSet<ArkGridCell>();
            HashSet<ArkGridCell> updateCells = new HashSet<ArkGridCell>();
            HashSet<ArkGridCell> warningCells = new HashSet<ArkGridCell>();
            HashSet<ArkGridCell> errorCells = new HashSet<ArkGridCell>();

            insertRows = iPhenoImportValidator.getInsertRows();
            updateRows = iPhenoImportValidator.getUpdateRows();
            insertCells = iPhenoImportValidator.getInsertCells();
            updateCells = iPhenoImportValidator.getUpdateCells();
            warningCells = iPhenoImportValidator.getWarningCells();
            errorCells = iPhenoImportValidator.getErrorCells();

            // Show file data (and key reference)
            inputStream = new BufferedInputStream(new FileInputStream(temp));
            ArkExcelWorkSheetAsGrid arkExcelWorkSheetAsGrid = new ArkExcelWorkSheetAsGrid("gridView",
                    inputStream, fileFormat, delimChar, containerForm.getModelObject().getFileUpload(),
                    insertRows, updateRows, insertCells, updateCells, warningCells, errorCells);
            inputStream.close();
            inputStream = null;
            arkExcelWorkSheetAsGrid.setOutputMarkupId(true);
            arkExcelWorkSheetAsGrid.getWizardDataGridKeyContainer().setVisible(true);
            form.setArkExcelWorkSheetAsGrid(arkExcelWorkSheetAsGrid);
            form.getWizardPanelFormContainer().addOrReplace(arkExcelWorkSheetAsGrid);

            // Repaint
            target.add(arkExcelWorkSheetAsGrid.getWizardDataGridKeyContainer());
            target.add(form.getWizardPanelFormContainer());
            if (updateCells.isEmpty()) {
                containerForm.getModelObject().setUpdateChkBox(true);
                updateExistingDataContainer.setVisible(false);
            } else {
                containerForm.getModelObject().setUpdateChkBox(false);
                updateExistingDataContainer.setVisible(true);
            }
            target.add(updateExistingDataContainer);

            if (!errorCells.isEmpty()) {
                updateExistingDataContainer.setVisible(false);
                target.add(updateExistingDataContainer);
                form.getNextButton().setEnabled(false);
                target.add(form.getWizardButtonContainer());
            }

        } catch (IOException ioe) {
            log.error("IOException " + ioe.getMessage());
            validationMessage = "Error attempting to display the file. Please check the file and try again.";
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    log.error("Unable to close inputStream: " + e.getMessage());
                }
            }
        }
        containerForm.getModelObject().setValidationMessages(validationMessages);
        validationMessage = containerForm.getModelObject().getValidationMessagesAsString();
        addOrReplace(new MultiLineLabel("multiLineLabel", validationMessage));
        if (validationMessage != null && validationMessage.length() > 0) {
            form.getNextButton().setEnabled(false);
            target.add(form.getWizardButtonContainer());
            downloadValMsgButton = new ArkDownloadAjaxButton("downloadValMsg", "ValidationMessage",
                    validationMessage, "txt") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onError(AjaxRequestTarget target, Form<?> form) {
                    this.error("Unexpected Error: Download request could not be processed");
                }

            };
            addOrReplace(downloadValMsgButton);
            target.add(downloadValMsgButton);
        }
    } else {
        // Stop progress because of missing temp file
        error("Unexpected error: Can not proceed due to missing temporary file.");
        form.getNextButton().setEnabled(false);
    }
}

From source file:au.org.theark.registry.web.component.invoice.form.DetailForm.java

License:Open Source License

@Override
protected void onSave(Form<Pipeline> containerForm, AjaxRequestTarget target) {
    //   Long personSessionId = (Long) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID);
    //StringBuffer feedBackMessageStr = new StringBuffer();
    Long studyId = (Long) SecurityUtils.getSubject().getSession().getAttribute(Constants.STUDY_CONTEXT_ID);
    Study study = iArkCommonService.getStudy(studyId);
    containerForm.getModelObject().setStudy(study);
    if (containerForm.getModelObject() != null && containerForm.getModelObject().getId() == null) {

        iArkCommonService.createPipeline(containerForm.getModelObject());
        this.info("Pipeline saved");
    } else {/*w w w  .  j  a  va 2  s .  c  o  m*/
        iArkCommonService.updatePipeline(containerForm.getModelObject());
        this.info("Pipeline updated");
    }

    target.add(feedBackPanel);
}

From source file:au.org.theark.registry.web.component.invoice.form.DetailForm.java

License:Open Source License

@Override
protected void processErrors(AjaxRequestTarget target) {
    target.add(feedBackPanel);

}

From source file:au.org.theark.registry.web.component.invoice.form.ProcessDetailForm.java

License:Open Source License

@Override
protected void onSave(Form<Process> containerForm, AjaxRequestTarget target) {
    //   Long personSessionId = (Long) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID);
    //StringBuffer feedBackMessageStr = new StringBuffer();

    if (containerForm.getModelObject() != null && containerForm.getModelObject().getId() == null) {

        iArkCommonService.createProcess(containerForm.getModelObject());
        this.info("Process saved");
    } else {/*w w w .j a  v a 2 s.  co m*/
        iArkCommonService.updateProcess(containerForm.getModelObject());
        this.info("Process updated");
    }

    target.add(feedBackPanel);
}

From source file:au.org.theark.registry.web.component.invoice.form.SearchForm.java

License:Open Source License

@Override
protected void onSearch(AjaxRequestTarget target) {
    target.add(feedbackPanel);
    arkCrudContainerVO.getSearchResultPanelContainer().setVisible(true);// Make the WebMarkupContainer that houses the search results visible
    target.add(arkCrudContainerVO.getSearchResultPanelContainer());
}

From source file:au.org.theark.report.web.component.customreport.CustomReportContainerPanel.java

License:Open Source License

public void initialisePanel() {
    add(initFeedBackPanel());/* w ww . j  a  va  2s  .co m*/
    form.add(initDbNameSelect());
    form.add(query);
    AjaxButton runQuery = new AjaxButton("runQuery") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            // TODO Auto-generated method stub

        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            if (dbNameDdc.getRawInput() != null && query.getRawInput() != null) {
                datasourceTablePanel = new DataSourceTablePanel("datasourceTablePanel", "lims",
                        query.getRawInput());
                datasourceTablePanel.setVisible(true);
                form.addOrReplace(datasourceTablePanel);
                this.info("Query submitted");
                target.add(feedbackPanel);
                target.add(datasourceTablePanel);
            } else {
                this.error("Database name and a legitimate query are required");
                target.add(feedbackPanel);
            }
        }
    };
    runQuery.setDefaultFormProcessing(false);

    form.add(runQuery);

    form.add(datasourceTablePanel);
    datasourceTablePanel.setVisible(false);
    add(form);
}

From source file:au.org.theark.report.web.component.dataextraction.filter.form.QueryFilterForm.java

License:Open Source License

public void initialiseForm() {
    /*//from w  w w .ja  v a  2  s  . co  m
    add(numberToCreateTxtFld);
    add(new AjaxButton("numberToCreateButton") {
       private static final long   serialVersionUID   = 1L;
            
       @Override
       protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
    int numberToCreate = ((Integer) numberToCreateTxtFld.getDefaultModelObject());
    for (int i = 0; i < numberToCreate; i++) {
       Biospecimen biospecimen= new Biospecimen();
       listEditor.addItem(biospecimen);
       listEditor.updateModel();
       target.add(form);   
    }   
       }
            
       @Override
       protected void onError(AjaxRequestTarget target, Form<?> form) {
    target.add(feedbackPanel);
       }
    });
    */
    add(buildListEditor());
    /*
    add(new Label("parentBiospecimen.biospecimenUid", new PropertyModel(getModelObject(), "parentBiospecimen.biospecimenUid")));
    parentQtyLbl = new Label("parentBiospecimen.quantity", new PropertyModel(getModelObject(), "parentBiospecimen.quantity")){
               
       private static final long   serialVersionUID   = 1L;
    };
    add(parentQtyLbl);
    add(new Label("parentBiospecimen.unit.name", new PropertyModel(getModelObject(), "parentBiospecimen.unit.name")));
    */
    add(new AjaxEditorButton(Constants.NEW) {
        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) {
            QueryFilterVO filter = new QueryFilterVO();
            copyQueryFilter = false;
            listEditor.addItem(filter);
            listEditor.updateModel();
            target.add(form);
        }
    }.setDefaultFormProcessing(false));

    add(new AjaxButton(Constants.SAVE) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            onSave(target);
            target.add(feedbackPanel);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedbackPanel);
        }
    });

    add(new AjaxButton(Constants.SAVEANDCLOSE) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            if (onSave(target)) {
                modalWindow.close(target);
            } else {
                log.info("failed validation so don't permit save and close");
            }
            target.add(feedbackPanel);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedbackPanel);
        }
    });

    add(new AjaxButton(Constants.CANCEL) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            modalWindow.close(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedbackPanel);
        }
    }.setDefaultFormProcessing(false));
}

From source file:au.org.theark.report.web.component.dataextraction.filter.form.QueryFilterForm.java

License:Open Source License

/**
 * @return the listEditor of Biospecimens to aliquot
 *//*from w  w  w .  ja  v a2  s .c  o m*/
public AbstractListEditor<QueryFilterVO> buildListEditor() {
    listEditor = new AbstractListEditor<QueryFilterVO>("queryFilterVOs",
            new PropertyModel(getModelObject(), "queryFilterVOs")) {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("serial")
        @Override
        protected void onPopulateItem(final ListItem<QueryFilterVO> item) {
            item.setOutputMarkupId(true);
            item.add(new Label("row", "" + (item.getIndex() + 1)));

            if (copyQueryFilter) {
                item.getModelObject().setFieldCategory(queryFilterVoToCopy.getFieldCategory());
                item.getModelObject().setQueryFilter(queryFilterVoToCopy.getQueryFilter());
                item.getModelObject().getQueryFilter()
                        .setValue(queryFilterVoToCopy.getQueryFilter().getValue());
                item.getModelObject().getQueryFilter()
                        .setSecondValue(queryFilterVoToCopy.getQueryFilter().getSecondValue());
            }

            initFieldCategoryDdc(item);
            initFieldDdc(item);
            initOperatorDdc(item);

            valueTxtFld = new TextField<String>("value",
                    new PropertyModel(item.getModelObject(), "queryFilter.value"));
            valueTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    /* we may want to perform some live validation based on the type of field we are selecting */
                    log.info("onchange of VALUE");
                    target.add(feedbackPanel);
                }
            });

            item.add(valueTxtFld);

            // 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) {
                    QueryFilterVO queryFilterVO = new QueryFilterVO();

                    try {
                        PropertyUtils.copyProperties(queryFilterVO, getItem().getModelObject());
                        PropertyUtils.copyProperties(queryFilterVoToCopy, getItem().getModelObject());
                        queryFilterVoToCopy.getQueryFilter().setId(null);
                        queryFilterVO.getQueryFilter().setId(null);
                        copyQueryFilter = true;
                        listEditor.addItem(queryFilterVO);
                        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) {
                    iArkCommonService.deleteQueryFilter(item.getModelObject().getQueryFilter());
                    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.report.web.component.dataextraction.filter.form.QueryFilterForm.java

License:Open Source License

private void initOperatorDdc(final ListItem<QueryFilterVO> item) {
    Collection<Operator> operatorList = Arrays.asList(Operator.values());
    //ChoiceRenderer<Operator> choiceRenderer = new ChoiceRenderer<Operator>(Constants.PUBLIC_FIELD_NAME, Constants.ID);
    operatorDdc = new DropDownChoice<Operator>("queryFilter.operator",
            new PropertyModel(item.getModelObject(), "queryFilter.operator"), (List<Operator>) operatorList,
            new EnumChoiceRenderer<Operator>(QueryFilterForm.this));

    operatorDdc.setOutputMarkupId(true);
    operatorDdc.setRequired(true);//w  ww.  j a  v  a2s . com
    operatorDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Operator operatorFromDDC = item.getModelObject().getQueryFilter().getOperator();
            item.get("secondValue").setEnabled(operatorFromDDC.equals(Operator.BETWEEN));
            target.add(item.get("secondValue"));
        }
    });
    item.add(operatorDdc);

    secondValueTxtFld = new TextField<String>("secondValue",
            new PropertyModel(item.getModelObject(), "queryFilter.secondValue"));
    secondValueTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            /* we may want to perform some live validation based on the type of field we are selecting*/
            log.info("onchange of SECOND VALUE");
            target.add(feedbackPanel);
        }
    });
    secondValueTxtFld.setOutputMarkupPlaceholderTag(true);
    secondValueTxtFld.setEnabled(false);
    item.add(secondValueTxtFld);
}

From source file:au.org.theark.report.web.component.dataextraction.filter.form.QueryFilterForm.java

License:Open Source License

private void initFieldCategoryDdc(final ListItem<QueryFilterVO> item) {

    List<FieldCategory> fieldCategoryList = Arrays.asList(FieldCategory.values());
    fieldCategoryDdc = new DropDownChoice<FieldCategory>("fieldCategory",
            new PropertyModel(item.getModelObject(), "fieldCategory"), (List<FieldCategory>) fieldCategoryList,
            new EnumChoiceRenderer<FieldCategory>(QueryFilterForm.this));
    fieldCategoryDdc.setNullValid(false);
    if (item.getModelObject() == null || item.getModelObject().getFieldCategory() == null) {
        fieldCategoryDdc.setDefaultModelObject(FieldCategory.DEMOGRAPHIC_FIELD);
    }/* w  w w  .  j a v  a2 s.  co  m*/
    fieldCategoryDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            FieldCategory catFromDDC = item.getModelObject().getFieldCategory();

            switch (catFromDDC) {

            case DEMOGRAPHIC_FIELD: {
                Collection<DemographicField> demographicFieldCategoryList = iArkCommonService
                        .getAllDemographicFields();
                ChoiceRenderer<DemographicField> choiceRenderer = new ChoiceRenderer<DemographicField>(
                        Constants.PUBLIC_FIELD_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<DemographicField>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.demographicField"),
                        (List<DemographicField>) demographicFieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                //               item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;
            }

            case BIOSPECIMEN_FIELD: {
                Collection<BiospecimenField> BiospecimenFieldCategoryList = iArkCommonService
                        .getAllBiospecimenFields();
                ChoiceRenderer<BiospecimenField> choiceRenderer = new ChoiceRenderer<BiospecimenField>(
                        Constants.PUBLIC_FIELD_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<BiospecimenField>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.biospecimenField"),
                        (List<BiospecimenField>) BiospecimenFieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                //item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;

            }

            case BIOCOLLECTION_FIELD: {
                Collection<BiocollectionField> biocollectionFieldCategoryList = iArkCommonService
                        .getAllBiocollectionFields();
                ChoiceRenderer<BiocollectionField> choiceRenderer = new ChoiceRenderer<BiocollectionField>(
                        Constants.PUBLIC_FIELD_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<BiocollectionField>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.biocollectionField"),
                        (List<BiocollectionField>) biocollectionFieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                //item.getModelObject().getQueryFilter().setBiocollectionField(null);
                item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;
            }

            case SUBJECT_CFD: {
                ArkFunction arkFunction = iArkCommonService
                        .getArkFunctionByName(Constants.FUNCTION_KEY_VALUE_SUBJECT_CUSTOM_FIELD);

                List<CustomFieldDisplay> fieldCategoryList = iArkCommonService
                        .getCustomFieldDisplaysIn(getModelObject().getStudy(), arkFunction);
                ChoiceRenderer<CustomFieldDisplay> choiceRenderer = new ChoiceRenderer<CustomFieldDisplay>(
                        Constants.CUSTOM_FIELD_DOT_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<CustomFieldDisplay>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.customFieldDisplay"),
                        (List<CustomFieldDisplay>) fieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                //item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;
            }

            case PHENO_FD: {
                ArkFunction arkFunction = iArkCommonService
                        .getArkFunctionByName(Constants.FUNCTION_KEY_VALUE_DATA_DICTIONARY);

                List<PhenoDataSetFieldDisplay> fieldCategoryList = iPhenoService
                        .getPhenoFieldDisplaysIn(getModelObject().getStudy(), arkFunction);
                ChoiceRenderer<PhenoDataSetFieldDisplay> choiceRenderer = new ChoiceRenderer<PhenoDataSetFieldDisplay>(
                        "descriptiveNameIncludingCFGName", Constants.ID);
                fieldDdc = new DropDownChoice<PhenoDataSetFieldDisplay>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.phenoDataSetFieldDisplay"),
                        (List<PhenoDataSetFieldDisplay>) fieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                //item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;
            }

            case BIOCOLLECTION_CFD: {
                ArkFunction arkFunction = iArkCommonService
                        .getArkFunctionByName(Constants.FUNCTION_KEY_VALUE_LIMS_CUSTOM_FIELD);

                List<CustomFieldDisplay> fieldCategoryList = iArkCommonService
                        .getCustomFieldDisplaysIn(getModelObject().getStudy(), arkFunction);
                ChoiceRenderer<CustomFieldDisplay> choiceRenderer = new ChoiceRenderer<CustomFieldDisplay>(
                        Constants.CUSTOM_FIELD_DOT_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<CustomFieldDisplay>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.customFieldDisplay"),
                        (List<CustomFieldDisplay>) fieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                //item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;
            }

            case BIOSPECIMEN_CFD: {
                ArkFunction arkFunction = iArkCommonService
                        .getArkFunctionByName(Constants.FUNCTION_KEY_VALUE_BIOSPECIMEN);

                List<CustomFieldDisplay> fieldCategoryList = iArkCommonService
                        .getCustomFieldDisplaysIn(getModelObject().getStudy(), arkFunction);
                ChoiceRenderer<CustomFieldDisplay> choiceRenderer = new ChoiceRenderer<CustomFieldDisplay>(
                        Constants.CUSTOM_FIELD_DOT_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<CustomFieldDisplay>("queryFilter.field",
                        new PropertyModel(item.getModelObject(), "queryFilter.customFieldDisplay"),
                        (List<CustomFieldDisplay>) fieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                //item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setConsentStatusField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                break;
            }

            case CONSENT_STATUS_FIELD: {
                Collection<ConsentStatusField> consentStatusFieldCategoryList = iArkCommonService
                        .getAllConsentStatusFields();
                ChoiceRenderer<ConsentStatusField> choiceRenderer = new ChoiceRenderer<ConsentStatusField>(
                        Constants.PUBLIC_FIELD_NAME, Constants.ID);
                fieldDdc = new DropDownChoice<ConsentStatusField>("queryFilter.field",
                        new PropertyModel<ConsentStatusField>(item.getModelObject(),
                                "queryFilter.consentStatusField"),
                        (List<ConsentStatusField>) consentStatusFieldCategoryList, choiceRenderer);
                fieldDdc.setRequired(true);
                item.getModelObject().getQueryFilter().setBiospecimenField(null);
                item.getModelObject().getQueryFilter().setBiocollectionField(null);
                item.getModelObject().getQueryFilter().setCustomFieldDisplay(null);
                item.getModelObject().getQueryFilter().setDemographicField(null);
                item.getModelObject().getQueryFilter().setPhenoDataSetFieldDisplay(null);
                //item.getModelObject().getQueryFilter().setConsentStatusField(null);
                break;
            }

            }

            fieldDdc.setOutputMarkupId(true);
            fieldDdc.setRequired(true);
            fieldDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                /**
                * 
                */
                private static final long serialVersionUID = 1L;

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    log.debug("Change of fieldDDc");
                }

                @Override
                protected void onError(AjaxRequestTarget target, RuntimeException e) {
                    target.add(feedbackPanel);
                }
            });
            item.addOrReplace(fieldDdc);
            target.add(item);

            /*item.setOutputMarkupId(true);
            item.addOrReplace(fieldDdc);
            target.add(item);*/

        }
    });
    item.add(fieldCategoryDdc);

}