Search in sources :

Example 1 with ErrorObj

use of org.akaza.openclinica.service.crfdata.ErrorObj in project OpenClinica by OpenClinica.

the class CreateXformCRFVersionServlet method processRequest.

// public final String FM_BASEURL = "http://oc.local:8090/api/protocol/";
@Override
protected void processRequest() throws Exception {
    CrfDao crfDao = (CrfDao) SpringServletAccess.getApplicationContext(context).getBean("crfDao");
    XformMetaDataService xformService = (XformMetaDataService) SpringServletAccess.getApplicationContext(context).getBean("xformService");
    Locale locale = LocaleResolver.getLocale(request);
    ResourceBundleProvider.updateLocale(locale);
    resword = ResourceBundleProvider.getWordsBundle(locale);
    // Retrieve submission data from multipart request
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List<FileItem> items = upload.parseRequest(request);
    String crfName = retrieveFormFieldValue(items, "crfName");
    DataBinder dataBinder = new DataBinder(new FormVersion());
    Errors errors = dataBinder.getBindingResult();
    int crfId = Integer.valueOf(retrieveFormFieldValue(items, "crfId"));
    if (crfId != 0) {
        CrfBean crfBean = crfDao.findByCrfId(crfId);
        crfName = crfBean.getName();
    }
    FormArtifactTransferObj transferObj = getFormArtifactsFromFM(items, currentStudy.getOid(), crfName);
    if (transferObj.getErr().size() != 0) {
        for (ErrorObj er : transferObj.getErr()) {
            errors.rejectValue("name", er.getCode(), er.getMessage());
        }
    } else {
        List<OCodmComplexTypeDefinitionFormLayoutDef> formLayoutDefs = new ArrayList<>();
        OCodmComplexTypeDefinitionFormLayoutDef formLayoutDef;
        for (FormVersion version : transferObj.getForm().getVersions()) {
            formLayoutDef = new OCodmComplexTypeDefinitionFormLayoutDef();
            formLayoutDef.setOID(version.getName());
            formLayoutDef.setURL(version.getArtifactURL());
            formLayoutDefs.add(formLayoutDef);
        }
        ExecuteIndividualCrfObject eicObj = new ExecuteIndividualCrfObject(transferObj.getForm(), formLayoutDefs, errors, currentStudy, ub, false, null);
        xformService.executeIndividualCrf(eicObj);
    }
    if (errors.hasErrors()) {
        request.setAttribute("errorList", errors.getAllErrors());
    }
    forwardPage(Page.CREATE_XFORM_CRF_VERSION_SERVLET);
}
Also used : Locale(java.util.Locale) CrfBean(org.akaza.openclinica.domain.datamap.CrfBean) ExecuteIndividualCrfObject(org.akaza.openclinica.service.crfdata.ExecuteIndividualCrfObject) OCodmComplexTypeDefinitionFormLayoutDef(org.openclinica.ns.odm_ext_v130.v31.OCodmComplexTypeDefinitionFormLayoutDef) ArrayList(java.util.ArrayList) DiskFileItemFactory(org.apache.commons.fileupload.disk.DiskFileItemFactory) CrfDao(org.akaza.openclinica.dao.hibernate.CrfDao) FileItem(org.apache.commons.fileupload.FileItem) Errors(org.springframework.validation.Errors) XformMetaDataService(org.akaza.openclinica.service.crfdata.XformMetaDataService) ServletFileUpload(org.apache.commons.fileupload.servlet.ServletFileUpload) FormArtifactTransferObj(org.akaza.openclinica.service.crfdata.FormArtifactTransferObj) DataBinder(org.springframework.validation.DataBinder) FormVersion(org.akaza.openclinica.service.dto.FormVersion) ErrorObj(org.akaza.openclinica.service.crfdata.ErrorObj)

Aggregations

ArrayList (java.util.ArrayList)1 Locale (java.util.Locale)1 CrfDao (org.akaza.openclinica.dao.hibernate.CrfDao)1 CrfBean (org.akaza.openclinica.domain.datamap.CrfBean)1 ErrorObj (org.akaza.openclinica.service.crfdata.ErrorObj)1 ExecuteIndividualCrfObject (org.akaza.openclinica.service.crfdata.ExecuteIndividualCrfObject)1 FormArtifactTransferObj (org.akaza.openclinica.service.crfdata.FormArtifactTransferObj)1 XformMetaDataService (org.akaza.openclinica.service.crfdata.XformMetaDataService)1 FormVersion (org.akaza.openclinica.service.dto.FormVersion)1 FileItem (org.apache.commons.fileupload.FileItem)1 DiskFileItemFactory (org.apache.commons.fileupload.disk.DiskFileItemFactory)1 ServletFileUpload (org.apache.commons.fileupload.servlet.ServletFileUpload)1 OCodmComplexTypeDefinitionFormLayoutDef (org.openclinica.ns.odm_ext_v130.v31.OCodmComplexTypeDefinitionFormLayoutDef)1 DataBinder (org.springframework.validation.DataBinder)1 Errors (org.springframework.validation.Errors)1