Search in sources :

Example 81 with ItemDataDAO

use of org.akaza.openclinica.dao.submit.ItemDataDAO in project OpenClinica by OpenClinica.

the class FormBeanUtil method getDisplayBeanFromSingleItem.

public DisplayItemBean getDisplayBeanFromSingleItem(ItemFormMetadataBean itemFBean, int sectionId, DataSource dataSource, EventCRFBean eventCrfBean, List<String> nullValuesList, ServletContext context) {
    DisplayItemBean disBean = new DisplayItemBean();
    ItemBean itemBean = new ItemBean();
    ItemDAO itemDAO = new ItemDAO(dataSource);
    ItemDataDAO itemDataDao = new ItemDataDAO(dataSource);
    if (itemFBean == null)
        return disBean;
    itemBean = (ItemBean) itemDAO.findByPK(itemFBean.getItemId());
    if (itemBean == null) {
        itemBean = new ItemBean();
    }
    // Add any null values to checks or radios
    String responseName;
    List<ResponseOptionBean> respOptions;
    ResponseOptionBean respBean;
    boolean hasNullValues = nullValuesList != null && !nullValuesList.isEmpty();
    // Only include Items that belong to the associated section
    if (itemFBean.getSectionId() == sectionId) {
        ItemDataBean itemDataBean = itemDataDao.findByItemIdAndEventCRFId(itemBean.getId(), eventCrfBean.getId());
        disBean.setItem(itemBean);
        disBean.setMetadata(runDynamicsCheck(itemFBean, eventCrfBean, itemDataBean, context));
        disBean.setData(itemDataBean);
        logger.debug("3. just set: " + itemDataBean.getValue());
        responseName = disBean.getMetadata().getResponseSet().getResponseType().getName();
        respOptions = disBean.getMetadata().getResponseSet().getOptions();
        if (hasNullValues && respOptions != null && ("checkbox".equalsIgnoreCase(responseName) || "radio".equalsIgnoreCase(responseName) || "single-select".equalsIgnoreCase(responseName) || "multi-select".equalsIgnoreCase(responseName))) {
            this.addBeansToResponseOptions(nullValuesList, respOptions);
        }
    }
    return disBean;
}
Also used : DisplayItemBean(org.akaza.openclinica.bean.submit.DisplayItemBean) ItemBean(org.akaza.openclinica.bean.submit.ItemBean) ItemDAO(org.akaza.openclinica.dao.submit.ItemDAO) ItemDataBean(org.akaza.openclinica.bean.submit.ItemDataBean) DisplayItemBean(org.akaza.openclinica.bean.submit.DisplayItemBean) ResponseOptionBean(org.akaza.openclinica.bean.submit.ResponseOptionBean) ItemDataDAO(org.akaza.openclinica.dao.submit.ItemDataDAO)

Example 82 with ItemDataDAO

use of org.akaza.openclinica.dao.submit.ItemDataDAO in project OpenClinica by OpenClinica.

the class FormBeanUtil method getDisplayBeansFromItems.

/**
 * Create a List of DisplayItemBeans from a List of Items.
 *
 * @param itemBeans
 *            A List of ItemBeans that will provide the source of each
 *            DisplayItemBean
 * @param dataSource
 *            A DataSource for the DAO classes.
 * @param crfVersionId
 *            The CRF version Id for fetching associated
 *            ItemFormMetadataBeans.
 * @param sectionId
 *            The section ID associated with the Items.
 * @param nullValuesList
 *            A List of Strings containing "null values" such as "not
 *            applicable" or NA.
 * @return A List of DisplayItemBeans.
 */
public static List<DisplayItemBean> getDisplayBeansFromItems(List<ItemBean> itemBeans, DataSource dataSource, EventCRFBean eventCrfBean, int sectionId, List<String> nullValuesList, ServletContext context) {
    // logger = LoggerFactory.getLogger(getClass().getName());
    List<DisplayItemBean> disBeans = new ArrayList<DisplayItemBean>();
    if (itemBeans == null || itemBeans.isEmpty())
        return disBeans;
    ItemFormMetadataDAO metaDao = new ItemFormMetadataDAO(dataSource);
    ItemDataDAO itemDataDAO = new ItemDataDAO(dataSource);
    DisplayItemBean displayBean;
    ItemFormMetadataBean meta;
    // Add any null values to checks or radios
    String responseName;
    List<ResponseOptionBean> respOptions;
    ResponseOptionBean respBean;
    boolean hasNullValues = nullValuesList != null && !nullValuesList.isEmpty();
    String tmpVal = "";
    // findByItemIdAndCRFVersionId
    for (ItemBean iBean : itemBeans) {
        displayBean = new DisplayItemBean();
        // TODO: eventcrfBean is not valid??
        meta = metaDao.findByItemIdAndCRFVersionId(iBean.getId(), eventCrfBean.getCRFVersionId());
        // Only include Items that belong to the associated section
        if (meta.getSectionId() == sectionId) {
            displayBean.setItem(iBean);
            // findByItemIdAndEventCRFIdAndOrdinal(iBean.getId(), eventCrfBean.getId(), ordinal)
            ItemDataBean itemDataBean = itemDataDAO.findByItemIdAndEventCRFId(iBean.getId(), eventCrfBean.getId());
            // null values is set by adding the event def. crf bean, but
            // here we have taken a different approach, tbh
            // displayBean.setEventDefinitionCRF();
            displayBean.setMetadata(runDynamicsCheck(meta, eventCrfBean, itemDataBean, context));
            displayBean.setData(itemDataBean);
            displayBean.setDbData(itemDataBean);
            // System.out.println("just set: " + itemDataBean.getValue() + " from " + itemDataBean.getItemId());
            responseName = displayBean.getMetadata().getResponseSet().getResponseType().getName();
            respOptions = displayBean.getMetadata().getResponseSet().getOptions();
            if (hasNullValues && respOptions != null && ("checkbox".equalsIgnoreCase(responseName) || "radio".equalsIgnoreCase(responseName) || "single-select".equalsIgnoreCase(responseName) || "multi-select".equalsIgnoreCase(responseName))) {
                for (String val : nullValuesList) {
                    respBean = new ResponseOptionBean();
                    // BWP>> set text to the extended version, "not
                    // applicable"?
                    tmpVal = DataEntryInputGenerator.NULL_VALUES_LONGVERSION.get(val);
                    if (tmpVal != null && tmpVal.length() > 0) {
                        respBean.setText(tmpVal);
                    } else {
                        respBean.setText(val);
                    }
                    respBean.setValue(val);
                    respOptions.add(respBean);
                }
            }
            disBeans.add(displayBean);
        // logger.info("### respOptions size
        // "+respOptions.size()+" of item name "+iBean.getName());
        }
    // logger.info("### found name "+iBean.getName()+" and found
    // response size: "+
    // displayBean.getMetadata().getResponseSet().getOptions().size());
    }
    // sort the List of DisplayItemBeans on their ordinal
    Collections.sort(disBeans);
    return disBeans;
}
Also used : DisplayItemBean(org.akaza.openclinica.bean.submit.DisplayItemBean) ItemBean(org.akaza.openclinica.bean.submit.ItemBean) ItemDataBean(org.akaza.openclinica.bean.submit.ItemDataBean) DisplayItemBean(org.akaza.openclinica.bean.submit.DisplayItemBean) ArrayList(java.util.ArrayList) ResponseOptionBean(org.akaza.openclinica.bean.submit.ResponseOptionBean) ItemFormMetadataDAO(org.akaza.openclinica.dao.submit.ItemFormMetadataDAO) ItemDataDAO(org.akaza.openclinica.dao.submit.ItemDataDAO) ItemFormMetadataBean(org.akaza.openclinica.bean.submit.ItemFormMetadataBean)

Example 83 with ItemDataDAO

use of org.akaza.openclinica.dao.submit.ItemDataDAO in project OpenClinica by OpenClinica.

the class FormBeanUtil method getDisplayBeansFromItemsForPrint.

public static List<DisplayItemBean> getDisplayBeansFromItemsForPrint(List<ItemBean> itemBeans, DataSource dataSource, EventCRFBean eventCrfBean, int sectionId, List<String> nullValuesList, ServletContext context, int crfVersionId) {
    // logger = LoggerFactory.getLogger(getClass().getName());
    List<DisplayItemBean> disBeans = new ArrayList<DisplayItemBean>();
    if (itemBeans == null || itemBeans.isEmpty())
        return disBeans;
    ItemFormMetadataDAO metaDao = new ItemFormMetadataDAO(dataSource);
    ItemDataDAO itemDataDAO = new ItemDataDAO(dataSource);
    DisplayItemBean displayBean;
    ItemFormMetadataBean meta;
    // Add any null values to checks or radios
    String responseName;
    List<ResponseOptionBean> respOptions;
    ResponseOptionBean respBean;
    boolean hasNullValues = nullValuesList != null && !nullValuesList.isEmpty();
    String tmpVal = "";
    // findByItemIdAndCRFVersionId
    for (ItemBean iBean : itemBeans) {
        displayBean = new DisplayItemBean();
        // TODO: eventcrfBean is not valid??
        meta = metaDao.findByItemIdAndCRFVersionId(iBean.getId(), crfVersionId);
        // Only include Items that belong to the associated section
        if (meta.getSectionId() == sectionId) {
            displayBean.setItem(iBean);
            // findByItemIdAndEventCRFIdAndOrdinal(iBean.getId(), eventCrfBean.getId(), ordinal)
            ItemDataBean itemDataBean = itemDataDAO.findByItemIdAndEventCRFId(iBean.getId(), eventCrfBean.getId());
            // null values is set by adding the event def. crf bean, but
            // here we have taken a different approach, tbh
            // displayBean.setEventDefinitionCRF();
            displayBean.setMetadata(runDynamicsCheck(meta, eventCrfBean, itemDataBean, context));
            displayBean.setData(itemDataBean);
            displayBean.setDbData(itemDataBean);
            // System.out.println("just set: " + itemDataBean.getValue() + " from " + itemDataBean.getItemId());
            responseName = displayBean.getMetadata().getResponseSet().getResponseType().getName();
            respOptions = displayBean.getMetadata().getResponseSet().getOptions();
            if (hasNullValues && respOptions != null && ("checkbox".equalsIgnoreCase(responseName) || "radio".equalsIgnoreCase(responseName) || "single-select".equalsIgnoreCase(responseName) || "multi-select".equalsIgnoreCase(responseName))) {
                for (String val : nullValuesList) {
                    respBean = new ResponseOptionBean();
                    // BWP>> set text to the extended version, "not
                    // applicable"?
                    tmpVal = DataEntryInputGenerator.NULL_VALUES_LONGVERSION.get(val);
                    if (tmpVal != null && tmpVal.length() > 0) {
                        respBean.setText(tmpVal);
                    } else {
                        respBean.setText(val);
                    }
                    respBean.setValue(val);
                    respOptions.add(respBean);
                }
            }
            disBeans.add(displayBean);
        // logger.info("### respOptions size
        // "+respOptions.size()+" of item name "+iBean.getName());
        }
    // logger.info("### found name "+iBean.getName()+" and found
    // response size: "+
    // displayBean.getMetadata().getResponseSet().getOptions().size());
    }
    // sort the List of DisplayItemBeans on their ordinal
    Collections.sort(disBeans);
    return disBeans;
}
Also used : DisplayItemBean(org.akaza.openclinica.bean.submit.DisplayItemBean) ItemBean(org.akaza.openclinica.bean.submit.ItemBean) ItemDataBean(org.akaza.openclinica.bean.submit.ItemDataBean) DisplayItemBean(org.akaza.openclinica.bean.submit.DisplayItemBean) ArrayList(java.util.ArrayList) ResponseOptionBean(org.akaza.openclinica.bean.submit.ResponseOptionBean) ItemFormMetadataDAO(org.akaza.openclinica.dao.submit.ItemFormMetadataDAO) ItemDataDAO(org.akaza.openclinica.dao.submit.ItemDataDAO) ItemFormMetadataBean(org.akaza.openclinica.bean.submit.ItemFormMetadataBean)

Aggregations

ItemDataDAO (org.akaza.openclinica.dao.submit.ItemDataDAO)83 EventCRFBean (org.akaza.openclinica.bean.submit.EventCRFBean)64 ArrayList (java.util.ArrayList)61 ItemDataBean (org.akaza.openclinica.bean.submit.ItemDataBean)61 EventCRFDAO (org.akaza.openclinica.dao.submit.EventCRFDAO)52 StudyEventDAO (org.akaza.openclinica.dao.managestudy.StudyEventDAO)40 Date (java.util.Date)38 StudyEventBean (org.akaza.openclinica.bean.managestudy.StudyEventBean)37 CRFVersionDAO (org.akaza.openclinica.dao.submit.CRFVersionDAO)31 EventDefinitionCRFDAO (org.akaza.openclinica.dao.managestudy.EventDefinitionCRFDAO)30 EventDefinitionCRFBean (org.akaza.openclinica.bean.managestudy.EventDefinitionCRFBean)29 StudySubjectDAO (org.akaza.openclinica.dao.managestudy.StudySubjectDAO)29 FormProcessor (org.akaza.openclinica.control.form.FormProcessor)28 CRFDAO (org.akaza.openclinica.dao.admin.CRFDAO)27 StudySubjectBean (org.akaza.openclinica.bean.managestudy.StudySubjectBean)26 StudyEventDefinitionDAO (org.akaza.openclinica.dao.managestudy.StudyEventDefinitionDAO)24 StudyBean (org.akaza.openclinica.bean.managestudy.StudyBean)23 StudyDAO (org.akaza.openclinica.dao.managestudy.StudyDAO)22 CRFVersionBean (org.akaza.openclinica.bean.submit.CRFVersionBean)21 ItemBean (org.akaza.openclinica.bean.submit.ItemBean)21