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.lims.web.component.biospecimenupload.BiospecimenUploadStep4.java

License:Open Source License

@Override
public void onStepInNext(AbstractWizardForm<?> form, AjaxRequestTarget target) {
    form.getNextButton().setEnabled(true);
    target.add(form.getNextButton());

    form.getArkExcelWorkSheetAsGrid().setVisible(false);
    target.add(form.getArkExcelWorkSheetAsGrid());
}

From source file:au.org.theark.lims.web.component.biospecimenupload.BiospecimenUploadStep4.java

License:Open Source License

@Override
public void onStepOutNext(AbstractWizardForm<?> form, AjaxRequestTarget target) {
    form.getNextButton().setEnabled(false);
    target.add(form.getNextButton());

    // Filename seems to be lost from model when moving between steps in wizard
    containerForm.getModelObject().getUpload().setFilename(wizardForm.getFileName());

    // Perform actual import of data
    containerForm.getModelObject().getUpload().setStartTime(new Date(System.currentTimeMillis()));

    String fileFormat = containerForm.getModelObject().getUpload().getFileFormat().getName();
    char delimiterChar = containerForm.getModelObject().getUpload().getDelimiterType().getDelimiterCharacter();
    StringBuffer uploadReport = new StringBuffer("");
    try {//ww  w  .  j  a v  a  2 s.com
        InputStream inputStream = containerForm.getModelObject().getFileUpload().getInputStream();
        String uploadType = containerForm.getModelObject().getUploadType();
        log.info("upload type ---=" + uploadType);
        if (uploadType.equalsIgnoreCase(au.org.theark.lims.web.Constants.UPLOAD_TYPE_FOR_BIOCOLLECTION)) {
            uploadReport = iLimsService.uploadAndReportMatrixBiocollectionFile(
                    containerForm.getModelObject().getUpload().getStudy(), inputStream,
                    containerForm.getModelObject().getFileUpload().getSize(), fileFormat, delimiterChar);
        } else if (uploadType
                .equalsIgnoreCase(au.org.theark.lims.web.Constants.UPLOAD_TYPE_FOR_BIOSPECIMEN_INVENTARY)) {
            uploadReport = iLimsService.uploadAndReportMatrixBiospecimenInventoryFile(
                    containerForm.getModelObject().getUpload().getStudy(), inputStream,
                    containerForm.getModelObject().getFileUpload().getSize(), fileFormat, delimiterChar);
        } else if (uploadType.equalsIgnoreCase(au.org.theark.lims.web.Constants.UPLOAD_TYPE_FOR_BIOSPECIMEN)) {
            uploadReport = iLimsService.uploadAndReportMatrixBiospecimenFile(
                    containerForm.getModelObject().getUpload().getStudy(), inputStream,
                    containerForm.getModelObject().getFileUpload().getSize(), fileFormat, delimiterChar);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    // Update the report
    updateUploadReport(uploadReport.toString());

    // Save all objects to the database
    save(target);
}

From source file:au.org.theark.lims.web.component.biospecimenupload.form.SearchForm.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from  w  w w . j av a 2  s.co m
protected void onSearch(AjaxRequestTarget target) {
    target.add(feedbackPanel);

    // Set study in context
    Long studyId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID);
    // Get a list of all Fields for the Study in context
    Study study = iArkCommonService.getStudy(studyId);

    Upload searchUpload = getModelObject().getUpload();
    searchUpload.setStudy(study);

    java.util.Collection<Upload> uploadCollection = iArkCommonService.searchUploads(searchUpload);

    if (uploadCollection != null && uploadCollection.size() == 0) {
        this.info("Uploads with the specified criteria does not exist in the system.");
        target.add(feedbackPanel);
    }

    getModelObject().setUploadCollection(uploadCollection);

    listView.removeAll();
    arkCrudContainerVO.getSearchResultPanelContainer().setVisible(true);// Make the WebMarkupContainer that houses the search results visible
    target.add(arkCrudContainerVO.getSearchResultPanelContainer());
}

From source file:au.org.theark.lims.web.component.biotransaction.BioTransactionListPanel.java

License:Open Source License

private void initialiseDataView() {
    dataViewListWMC = new WebMarkupContainer("dataViewListWMC");
    dataViewListWMC.setOutputMarkupId(true);
    // Data provider to paginate resultList
    bioTransactionProvider = new ArkDataProvider2<LimsVO, BioTransaction>() {

        private static final long serialVersionUID = 1L;

        public int size() {
            return (int) iLimsService.getBioTransactionCount(criteriaModel.getObject().getBioTransaction());
        }//ww w .jav a  2s. c  om

        public Iterator<BioTransaction> iterator(int first, int count) {
            List<BioTransaction> biospecimenList = new ArrayList<BioTransaction>();
            if (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.SEARCH)) {
                biospecimenList = iLimsService.searchPageableBioTransactions(
                        criteriaModel.getObject().getBioTransaction(), first, count);
            }
            return biospecimenList.iterator();
        }
    };
    // Set the criteria into the data provider's model
    bioTransactionProvider.setCriteriaModel(cpModel);

    dataView = buildDataView(bioTransactionProvider);
    dataView.setItemsPerPage(
            iArkCommonService.getUserConfig(au.org.theark.core.Constants.CONFIG_ROWS_PER_PAGE).getIntValue());

    AjaxPagingNavigator pageNavigator = new AjaxPagingNavigator("navigator", dataView) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onAjaxEvent(AjaxRequestTarget target) {
            target.add(dataViewListWMC);
        }
    };
    dataViewListWMC.add(pageNavigator);
    dataViewListWMC.add(dataView);
    add(dataViewListWMC);

}

From source file:au.org.theark.lims.web.component.biotransaction.BioTransactionListPanel.java

License:Open Source License

/**
 * //w w  w  . j a  v  a2  s.  c o m
 * @param iModel
 * @return the pageableListView of BioCollection
 */
public DataView<BioTransaction> buildDataView(ArkDataProvider2<LimsVO, BioTransaction> bioTransactionProvider) {

    final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(au.org.theark.core.Constants.DD_MM_YYYY);

    DataView<BioTransaction> bioTransactionDataView = new DataView<BioTransaction>("bioTransactionList",
            bioTransactionProvider) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<BioTransaction> item) {
            item.setOutputMarkupId(true);
            // DO NOT store the item.getModelObject! Checking it is ok...
            final BioTransaction bioTransaction = item.getModelObject();

            WebMarkupContainer rowDetailsWMC = new WebMarkupContainer("rowDetailsWMC", item.getModel());
            AjaxConfirmLink<BioTransaction> rowDeleteLink = new AjaxConfirmLink<BioTransaction>("rowDeleteLink",
                    new StringResourceModel("bioTransaction.confirmDelete", this, item.getModel()),
                    item.getModel()) {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    BioTransaction bioTransaction = getModelObject();
                    iLimsService.deleteBioTransaction(bioTransaction);

                    // update biospecimen (qty avail)
                    Double qtyAvail = iLimsService.getQuantityAvailable(cpModel.getObject().getBiospecimen());
                    cpModel.getObject().getBiospecimen().setQuantity(qtyAvail);
                    try {
                        iLimsService.updateBiospecimen(cpModel.getObject());
                    } catch (ArkSystemException e) {
                        this.error(e.getMessage());
                    }

                    this.info("Successfully removed the transaction");
                    target.add(feedbackPanel);
                    target.add(dataViewListWMC); // repaint the list
                    target.add(dataViewListWMC.getParent().getParent()); // repaint the parent form
                }

            };
            rowDetailsWMC.add(rowDeleteLink);
            //            if ((bioTransaction.getStatus() != null) && (bioTransaction.getStatus().getName().equalsIgnoreCase(Constants.BIOTRANSACTION_STATUS_INITIAL_QUANTITY))) {
            //               // do not allow the initial quantity to be deleted
            //               rowDetailsWMC.setVisible(false);
            //            }

            idLbl = new Label("bioTransaction.id", bioTransaction.getId().toString());
            String dateOfTransaction = "";
            if (bioTransaction.getTransactionDate() != null) {
                dateOfTransaction = simpleDateFormat.format(bioTransaction.getTransactionDate());
            }
            transactionDateLbl = new Label("bioTransaction.transactionDate", dateOfTransaction);

            if (bioTransaction.getQuantity() == null) {
                quantityLbl = new Label("bioTransaction.quantity", "0");
            } else {
                quantityLbl = new Label("bioTransaction.quantity", bioTransaction.getQuantity().toString());
            }
            if (bioTransaction.getBiospecimen().getUnit() == null) {
                unitsLbl = new Label("bioTransaction.biospecimen.unit.name", "");
            } else {
                unitsLbl = new Label("bioTransaction.biospecimen.unit.name",
                        bioTransaction.getBiospecimen().getUnit().getName());
            }
            reasonLbl = new Label("bioTransaction.reason", bioTransaction.getReason());
            recorderLbl = new Label("bioTransaction.recorder", bioTransaction.getRecorder());
            if (bioTransaction.getStatus() == null) {
                statusLbl = new Label("bioTransaction.status.name", "");
            } else {
                statusLbl = new Label("bioTransaction.status.name", bioTransaction.getStatus().getName());
            }
            if (bioTransaction.getAccessRequest() == null) {
                requestLbl = new Label("bioTransaction.accessRequest.id", "");
            } else {
                requestLbl = new Label("bioTransaction.accessRequest.id",
                        bioTransaction.getAccessRequest().getId().toString());
            }

            item.add(idLbl);
            item.add(transactionDateLbl);

            if (bioTransaction.getQuantity() > 0) {
                quantityImage = new ContextImage("bioTransaction.quantityImage",
                        new Model<String>("images/icons/arrow_up.png"));
            } else {
                quantityImage = new ContextImage("bioTransaction.quantityImage",
                        new Model<String>("images/icons/arrow_down_red.png"));
            }

            item.add(quantityImage);
            item.add(quantityLbl);
            item.add(unitsLbl);
            item.add(reasonLbl);
            item.add(recorderLbl);
            item.add(statusLbl);
            item.add(requestLbl);
            item.add(rowDetailsWMC);

            item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD;
                }
            }));
        }

    };

    return bioTransactionDataView;
}

From source file:au.org.theark.lims.web.component.biotransaction.form.BioTransactionListForm.java

License:Open Source License

private void initSaveButton() {
    saveButton = new ArkBusyAjaxButton("saveButton") {
        private static final long serialVersionUID = 1L;

        @Override//from  ww  w . j  a  v  a 2s  . c o m
        public boolean isVisible() {
            return true;
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            // Set defaults
            //cpModel.getObject().getBioTransaction().setTransactionDate(new Date());
            cpModel.getObject().getBioTransaction()
                    .setRecorder(SecurityUtils.getSubject().getPrincipals().getPrimaryPrincipal().toString());

            Double qtyAvail = iLimsService.getQuantityAvailable(cpModel.getObject().getBiospecimen());
            Double txnQuantity = cpModel.getObject().getBioTransaction().getQuantity();

            if (txnQuantity == null) {
                error("Field 'Quantity' is required");
                target.add(feedbackPanel);
            } else if (cpModel.getObject().getBioTransaction().getStatus() == null) {
                error("Field 'Status' is required");
                target.add(feedbackPanel);
            } else {
                // Make quantity minus if positive and Aliquoted, Processed or   Delivered
                String status = cpModel.getObject().getBioTransaction().getStatus().getName();
                if (status != null
                        && (status.equalsIgnoreCase("Aliquoted") || status.equalsIgnoreCase("Processed")
                                || status.equalsIgnoreCase("Delivered"))
                        && txnQuantity != null && txnQuantity > 0) {
                    txnQuantity = (-1 * txnQuantity);
                    cpModel.getObject().getBioTransaction().setQuantity(txnQuantity);
                }

                // Check that quantity specified not greater than available
                if (txnQuantity < 0 && (Math.abs(txnQuantity) > (qtyAvail == null ? 0 : qtyAvail))) {
                    error("When aliquoting, processing or delivering, transaction quantity may not exceed total quantity available.");
                    target.add(feedbackPanel);
                } else {
                    cpModel.getObject().getBioTransaction()
                            .setUnit(cpModel.getObject().getBiospecimen().getUnit()); //TODO: Unit
                    iLimsService.createBioTransaction(cpModel.getObject());
                    info("Transaction saved successfully");

                    // update biospecimen (qty avail)
                    qtyAvail = iLimsService.getQuantityAvailable(cpModel.getObject().getBiospecimen());
                    cpModel.getObject().getBiospecimen().setQuantity(qtyAvail);
                    try {
                        iLimsService.updateBiospecimen(cpModel.getObject());
                    } catch (ArkSystemException e) {
                        this.error(e.getMessage());
                    }

                    // refresh transaction form
                    BioTransaction bioTransaction = new BioTransaction();
                    bioTransaction.setBiospecimen(cpModel.getObject().getBiospecimen());
                    bioTransaction.setUnit(cpModel.getObject().getBiospecimen().getUnit()); //TODO: Unit
                    cpModel.getObject().setBioTransaction(bioTransaction);

                    target.add(form.getParent().getParent());
                    target.add(feedbackPanel);
                }
            }
        }

        //         @Override
        //         public boolean isEnabled() {
        //            Biospecimen b = cpModel.getObject().getBiospecimen();
        //            if(b==null){
        //               return false;
        //            }
        //            Double qa = iLimsService.getQuantityAvailable(b);
        //            return (qa != null && qa > 0);
        //         }

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

From source file:au.org.theark.lims.web.component.bioupload.BioUploadStep2.java

License:Open Source License

@Override
public void onStepInNext(AbstractWizardForm<?> form, AjaxRequestTarget target) {
    try {/*from  w  ww.j  av  a  2  s. co  m*/
        FileUpload fileUpload = containerForm.getModelObject().getFileUpload();
        InputStream inputStream = fileUpload.getInputStream();//TODO : should something this big be thrown around model object in wicket?
        String filename = fileUpload.getClientFileName();
        String fileFormat = filename.substring(filename.lastIndexOf('.') + 1).toUpperCase();
        char delimChar = containerForm.getModelObject().getUpload().getDelimiterType().getDelimiterCharacter();

        // Only allow csv, txt or xls  TODO : if we are hardcoding things like this, why do we fetch file formats from db and store as a fk reference?
        if (!(fileFormat.equalsIgnoreCase("CSV") || fileFormat.equalsIgnoreCase("TXT")
                || fileFormat.equalsIgnoreCase("XLS"))) {
            throw new FileFormatException();
        }
        //TODO: remove hardcode
        if (containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Biospecimen Custom Data")) {
            BioCustomFieldUploadValidator subjectUploadValidator = new BioCustomFieldUploadValidator(
                    iArkCommonService, iLimsService);
            validationMessages = subjectUploadValidator
                    .validateBiospecimenCustomFieldFileFormat(containerForm.getModelObject());
        } else if (containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Biocollection Custom Data")) {
            //TODO : custom field validation
            BioCustomFieldUploadValidator customFieldUploadValidator = new BioCustomFieldUploadValidator(
                    iArkCommonService, iLimsService);
            validationMessages = customFieldUploadValidator
                    .validateBiocollectionCustomFieldFileFormat(containerForm.getModelObject());
        } else {
            //TODO : Throw error back to user
        }

        ArkExcelWorkSheetAsGrid arkExcelWorkSheetAsGrid = new ArkExcelWorkSheetAsGrid("gridView", inputStream,
                fileFormat, delimChar, fileUpload, iArkCommonService
                        .getUserConfig(au.org.theark.core.Constants.CONFIG_ROWS_PER_PAGE).getIntValue(),
                containerForm.getModelObject().getUpload().getUploadType());
        arkExcelWorkSheetAsGrid.setOutputMarkupId(true);
        WebMarkupContainer wizardDataGridKeyContainer = new WebMarkupContainer("wizardDataGridKeyContainer");
        wizardDataGridKeyContainer.setVisible(false);
        wizardDataGridKeyContainer.setOutputMarkupId(true);
        form.setArkExcelWorkSheetAsGrid(arkExcelWorkSheetAsGrid);
        form.getWizardPanelFormContainer().addOrReplace(arkExcelWorkSheetAsGrid);
        form.setArkExcelWorkSheetAsGrid(arkExcelWorkSheetAsGrid);
        form.getWizardPanelFormContainer().addOrReplace(wizardDataGridKeyContainer);
        target.add(form.getWizardPanelFormContainer());

        containerForm.getModelObject().setValidationMessages(validationMessages);
        validationMessage = containerForm.getModelObject().getValidationMessagesAsString();
        addOrReplace(new MultiLineLabel("multiLineLabel", validationMessage));

        if (validationMessage != null && validationMessage.length() > 0) {
            log.warn("validation = " + validationMessage);
            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);
        }

    } catch (IOException e) {
        validationMessage = "Error attempting to display the file. Please check the file and try again.";
        addOrReplace(new MultiLineLabel("multiLineLabel", validationMessage));
        form.getNextButton().setEnabled(false);
        target.add(form.getWizardButtonContainer());
    } catch (FileFormatException ffe) {
        validationMessage = "Error uploading file. You can only upload files of type: CSV (comma separated values), TXT (text), or XLS (Microsoft Excel file)";
        addOrReplace(new MultiLineLabel("multiLineLabel", validationMessage));
        form.getNextButton().setEnabled(false);
        target.add(form.getWizardButtonContainer());
    }
    //TODO : finally?  close io?
}

From source file:au.org.theark.lims.web.component.bioupload.BioUploadStep3.java

License:Open Source License

@Override
public void onStepInNext(AbstractWizardForm<?> form, AjaxRequestTarget target) {
    try {//from  w w w  .j  a v  a 2 s  . com
        String filename = containerForm.getModelObject().getFileUpload().getClientFileName();
        String fileFormat = filename.substring(filename.lastIndexOf('.') + 1).toUpperCase();
        char delimiterChar = containerForm.getModelObject().getUpload().getDelimiterType()
                .getDelimiterCharacter();
        InputStream inputStream = containerForm.getModelObject().getFileUpload().getInputStream();
        HashSet<Integer> insertRows = new HashSet<Integer>();
        HashSet<Integer> updateRows = new HashSet<Integer>();
        HashSet<ArkGridCell> errorCells = new HashSet<ArkGridCell>();

        //this is not the best way to do this fix TODO
        List<String> listOfUidsToUpdate = new ArrayList<String>(); //TODO remove hardcoding
        if (containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Biospecimen Custom Data")) {
            BioCustomFieldUploadValidator customFieldUploadValidator = new BioCustomFieldUploadValidator(
                    iArkCommonService, iLimsService);
            validationMessages = customFieldUploadValidator
                    .validateBiospecimenCustomFieldFileData(containerForm.getModelObject(), listOfUidsToUpdate);
            containerForm.getModelObject().setUidsToUpload(listOfUidsToUpdate);
            insertRows = customFieldUploadValidator.getInsertRows();
            updateRows = customFieldUploadValidator.getUpdateRows();
            errorCells = customFieldUploadValidator.getErrorCells();
        } //TODO remove hardcoding
        else if (containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Biocollection Custom Data")) {
            BioCustomFieldUploadValidator customFieldUploadValidator = new BioCustomFieldUploadValidator(
                    iArkCommonService, iLimsService);
            validationMessages = customFieldUploadValidator.validateBiocollectionCustomFieldFileData(
                    containerForm.getModelObject(), listOfUidsToUpdate);
            containerForm.getModelObject().setUidsToUpload(listOfUidsToUpdate);
            //TODO consider if we want alternative way to do this - and maybe a superclass of uploadvalidator which draws out commonalities
            insertRows = customFieldUploadValidator.getInsertRows();
            updateRows = customFieldUploadValidator.getUpdateRows();
            errorCells = customFieldUploadValidator.getErrorCells();

        } else {
            //TODO : Throw error back to user
        }

        this.containerForm.getModelObject().setValidationMessages(validationMessages);
        validationMessage = containerForm.getModelObject().getValidationMessagesAsString();
        addOrReplace(new MultiLineLabel("multiLineLabel", validationMessage));

        // Show file data (and key reference)
        ArkExcelWorkSheetAsGrid arkExcelWorkSheetAsGrid = new ArkExcelWorkSheetAsGrid("gridView", inputStream,
                fileFormat, delimiterChar, containerForm.getModelObject().getFileUpload(), insertRows,
                updateRows, errorCells, containerForm.getModelObject().getUpload().getUploadType());
        arkExcelWorkSheetAsGrid.setOutputMarkupId(true);
        arkExcelWorkSheetAsGrid.getWizardDataGridKeyContainer().setVisible(true);
        form.setArkExcelWorkSheetAsGrid(arkExcelWorkSheetAsGrid);
        form.getWizardPanelFormContainer().addOrReplace(arkExcelWorkSheetAsGrid);

        // Repaint
        target.add(arkExcelWorkSheetAsGrid.getWizardDataGridKeyContainer());
        target.add(form.getWizardPanelFormContainer());
        //TODO remove hardcoding
        if (updateRows.isEmpty() || containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Study-specific (custom) Data")) {
            updateExistingDataContainer.setVisible(false);
            target.add(updateExistingDataContainer);
        }

        if (!errorCells.isEmpty()) {
            updateExistingDataContainer.setVisible(false);
            target.add(updateExistingDataContainer);
            form.getNextButton().setEnabled(false);
            target.add(form.getWizardButtonContainer());
        }
    } catch (IOException e) {
        validationMessage = "Error attempting to display the file. Please check the file and try again.";
        addOrReplace(new MultiLineLabel("multiLineLabel", validationMessage));
    }

    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 = 343293022422099247L;

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

        };
        addOrReplace(downloadValMsgButton);
        target.add(downloadValMsgButton);
    }
}

From source file:au.org.theark.lims.web.component.bioupload.BioUploadStep4.java

License:Open Source License

@Override
public void onStepOutNext(AbstractWizardForm<?> form, AjaxRequestTarget target) {
    form.getNextButton().setEnabled(false);
    target.add(form.getNextButton());
    // Filename seems to be lost from model when moving between steps in wizard?  is this a symptom of something greater?
    containerForm.getModelObject().getUpload().setFilename(wizardForm.getFileName());

    String fileFormat = containerForm.getModelObject().getUpload().getFileFormat().getName();
    char delimiterChar = containerForm.getModelObject().getUpload().getDelimiterType().getDelimiterCharacter();
    try {/*  w  ww . j  a  v a2 s  .c o m*/
        List<String> uidsToUpload = containerForm.getModelObject().getUidsToUpload();
        //log.info("________________________________________________________" + "about to try passing list of uids is of size " + uidsToUpload.size() );
        InputStream inputStream = containerForm.getModelObject().getFileUpload().getInputStream();
        long size = containerForm.getModelObject().getFileUpload().getSize();
        Long uploadId = containerForm.getModelObject().getUpload().getId();
        String report = generateInitialUploadReport();

        Subject currentUser = SecurityUtils.getSubject();
        Long studyId = (Long) currentUser.getSession()
                .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID);

        if (containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Subject Demographic Data")) {
            StudyDataUploadExecutor task = new StudyDataUploadExecutor(iArkCommonService, iLimsService,
                    inputStream, uploadId, //null user
                    studyId, fileFormat, delimiterChar, size, report, uidsToUpload);
            task.run();
        } else if (containerForm.getModelObject().getUpload().getUploadType().getName()
                .equalsIgnoreCase("Study-specific (custom) Data")) {
            BioSpecimenCustomDataUploadExecutor task = new BioSpecimenCustomDataUploadExecutor(
                    iArkCommonService, iLimsService, inputStream, uploadId, //null user
                    studyId, fileFormat, delimiterChar, size, report, uidsToUpload);
            task.run();
        }

    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
}

From source file:au.org.theark.lims.web.component.bioupload.form.SearchForm.java

License:Open Source License

@Override
protected void onSearch(AjaxRequestTarget target) {
    target.add(feedbackPanel);

    Long studyId = (Long) SecurityUtils.getSubject().getSession()
            .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID);
    // Get a list of all Fields for the Study in context
    Study study = iArkCommonService.getStudy(studyId);
    Upload searchUpload = getModelObject().getUpload();
    searchUpload.setStudy(study);/* ww w  .java2s.  c om*/

    java.util.Collection<Upload> uploadCollection = iArkCommonService.searchUploads(searchUpload);

    if (uploadCollection != null && uploadCollection.size() == 0) {
        this.info("Uploads with the specified criteria does not exist in the system.");
        target.add(feedbackPanel);
    }

    getModelObject().setUploadCollection(uploadCollection);

    listView.removeAll();
    arkCrudContainerVO.getSearchResultPanelContainer().setVisible(true);// Make the WebMarkupContainer that houses the search results visible
    target.add(arkCrudContainerVO.getSearchResultPanelContainer());
}