use of org.akaza.openclinica.dao.submit.ItemFormMetadataDAO 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;
}
Aggregations