use of org.akaza.openclinica.bean.submit.DisplayItemBean 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;
}
use of org.akaza.openclinica.bean.submit.DisplayItemBean in project OpenClinica by OpenClinica.
the class FormBeanUtil method addNullValuesToDisplayItemWithGroupBeans.
public void addNullValuesToDisplayItemWithGroupBeans(List<DisplayItemWithGroupBean> groupBeans, List<String> nullValuesList) {
if (nullValuesList == null || nullValuesList.isEmpty() || groupBeans == null || groupBeans.isEmpty()) {
return;
}
DisplayItemGroupBean displayItemGroupBean = null;
List<DisplayItemBean> disBeans = new ArrayList<DisplayItemBean>();
String responseName = "";
List<ResponseOptionBean> respOptions;
for (DisplayItemWithGroupBean withGroupBean : groupBeans) {
displayItemGroupBean = withGroupBean.getItemGroup();
disBeans = displayItemGroupBean.getItems();
for (DisplayItemBean singleBean : disBeans) {
responseName = singleBean.getMetadata().getResponseSet().getResponseType().getName();
respOptions = singleBean.getMetadata().getResponseSet().getOptions();
if (respOptions != null && ("checkbox".equalsIgnoreCase(responseName) || "radio".equalsIgnoreCase(responseName) || "single-select".equalsIgnoreCase(responseName) || "multi-select".equalsIgnoreCase(responseName))) {
this.addBeansToResponseOptions(nullValuesList, respOptions);
}
}
}
}
use of org.akaza.openclinica.bean.submit.DisplayItemBean 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;
}
use of org.akaza.openclinica.bean.submit.DisplayItemBean in project OpenClinica by OpenClinica.
the class CellFactory method addUnits.
public Element addUnits(Element tdCell, DisplayItemBean displayBean) {
if (displayBean == null) {
return tdCell;
}
ItemBean itemBean = displayBean.getItem();
if (itemBean == null) {
return tdCell;
}
StringBuilder units = new StringBuilder(displayBean.getItem().getUnits());
if (units.length() < 1) {
return tdCell;
}
// surround units with parentheses
units = units.insert(0, "(");
units = units.append(")");
tdCell.addContent(" " + units.toString());
return tdCell;
}
use of org.akaza.openclinica.bean.submit.DisplayItemBean in project OpenClinica by OpenClinica.
the class FormBeanUtilDecorator method convertResponseTypes.
/**
* Convert various response types to checkboxes for the purpose of CRF print
* views.
*
* @param items
* A List of DisplayItemBeans.
*/
private void convertResponseTypes(List<DisplayItemBean> items) {
if (items == null || items.isEmpty()) {
return;
}
String tempStr;
ResponseSetBean responseSetBean;
for (DisplayItemBean displayBean : items) {
// Get the response type name, like "checkbox"
tempStr = displayBean.getMetadata().getResponseSet().getResponseType().getName();
if (checkForTypes(tempStr)) {
responseSetBean = displayBean.getMetadata().getResponseSet();
responseSetBean.setResponseType(org.akaza.openclinica.bean.core.ResponseType.CHECKBOX);
}
}
}
Aggregations