Search in sources :

Example 56 with SectionBean

use of org.akaza.openclinica.bean.submit.SectionBean in project OpenClinica by OpenClinica.

the class DataEntryServlet method prevSection.

protected SectionBean prevSection(SectionBean sb, EventCRFBean ecb, DisplayTableOfContentsBean toc, int sbPos) {
    SectionBean p = new SectionBean();
    ArrayList<SectionBean> sectionBeans = new ArrayList<SectionBean>();
    if (toc != null) {
        sectionBeans = toc.getSections();
        if (sbPos > 0) {
            p = sectionBeans.get(sbPos - 1);
        }
    }
    return p != null && p.getId() > 0 ? p : new SectionBean();
}
Also used : SectionBean(org.akaza.openclinica.bean.submit.SectionBean) DisplaySectionBean(org.akaza.openclinica.bean.submit.DisplaySectionBean) ArrayList(java.util.ArrayList)

Example 57 with SectionBean

use of org.akaza.openclinica.bean.submit.SectionBean in project OpenClinica by OpenClinica.

the class OpenRosaXmlGenerator method buildInstance.

// method
/**
     * @param model
     * @param crfVersion
     * @param crfSections
     * @return
     * @throws Exception
     */
private String buildInstance(Model model, FormLayoutBean formLayout, CRFVersionBean crfVersion, ArrayList<SectionBean> crfSections) throws Exception {
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder build = docFactory.newDocumentBuilder();
    Document doc = build.newDocument();
    Element crfElement = doc.createElement(formLayout.getOid());
    crfElement.setAttribute("id", formLayout.getOid());
    doc.appendChild(crfElement);
    crfElement.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:jr", "http://openrosa.org/javarosa");
    for (SectionBean section : crfSections) {
        Element sectionSubTitle = doc.createElement("SECTION_" + section.getId() + ".SUBTITLE");
        Element sectionInstructions = doc.createElement("SECTION_" + section.getId() + ".INSTRUCTIONS");
        Element sectionElm = doc.createElement("SECTION_" + section.getLabel().replaceAll("\\W", "_"));
        crfElement.appendChild(sectionSubTitle);
        crfElement.appendChild(sectionInstructions);
        crfElement.appendChild(sectionElm);
    }
    ArrayList<ItemGroupBean> itemGroupBeans = getItemGroupBeansByFormLayout(formLayout);
    for (ItemGroupBean itemGroupBean : itemGroupBeans) {
        ItemGroupMetadataBean itemGroupMetadataBean = getItemGroupMetadataByGroup(itemGroupBean, crfVersion);
        String repeatGroupMin = itemGroupMetadataBean.getRepeatNum().toString();
        Boolean isrepeating = itemGroupMetadataBean.isRepeatingGroup();
        Element groupElement = doc.createElement(itemGroupBean.getOid());
        if (isrepeating) {
            groupElement.setTextContent(repeatGroupMin);
            groupElement.setAttribute("jr:template", "");
            Element hiddenOrdinalItem = doc.createElement("OC.REPEAT_ORDINAL");
            groupElement.appendChild(hiddenOrdinalItem);
        }
        crfElement.appendChild(groupElement);
        idao = new ItemDAO(dataSource);
        ArrayList<ItemBean> items = (ArrayList<ItemBean>) idao.findAllItemsByGroupIdOrdered(itemGroupBean.getId(), crfVersion.getId());
        for (ItemBean item : items) {
            ItemFormMetadataBean itemMetaData = getItemFormMetadata(item, crfVersion);
            if (itemMetaData.getHeader() != null && !itemMetaData.getHeader().equals("")) {
                Element header = doc.createElement(item.getOid() + ".HEADER");
                groupElement.appendChild(header);
            }
            if (itemMetaData.getHeader() != null && !itemMetaData.getSubHeader().equals("")) {
                Element subHeader = doc.createElement(item.getOid() + ".SUBHEADER");
                groupElement.appendChild(subHeader);
            }
            Element question = doc.createElement(item.getOid());
            groupElement.appendChild(question);
        }
    // end of item
    }
    // end of group
    // add meta
    Element meta = doc.createElement("meta");
    // add instanceId
    Element instanceId = doc.createElement("instanceID");
    meta.appendChild(instanceId);
    crfElement.appendChild(meta);
    TransformerFactory transformFactory = TransformerFactory.newInstance();
    Transformer transformer = transformFactory.newTransformer();
    transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    StringWriter writer = new StringWriter();
    StreamResult result = new StreamResult(writer);
    DOMSource source = new DOMSource(doc);
    transformer.transform(source, result);
    return writer.toString();
}
Also used : ItemBean(org.akaza.openclinica.bean.submit.ItemBean) DOMSource(javax.xml.transform.dom.DOMSource) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) TransformerFactory(javax.xml.transform.TransformerFactory) Transformer(javax.xml.transform.Transformer) StreamResult(javax.xml.transform.stream.StreamResult) ItemDAO(org.akaza.openclinica.dao.submit.ItemDAO) Element(org.w3c.dom.Element) ArrayList(java.util.ArrayList) Document(org.w3c.dom.Document) ItemGroupMetadataBean(org.akaza.openclinica.bean.submit.ItemGroupMetadataBean) SectionBean(org.akaza.openclinica.bean.submit.SectionBean) StringWriter(java.io.StringWriter) DocumentBuilder(javax.xml.parsers.DocumentBuilder) ItemGroupBean(org.akaza.openclinica.bean.submit.ItemGroupBean) ItemFormMetadataBean(org.akaza.openclinica.bean.submit.ItemFormMetadataBean)

Example 58 with SectionBean

use of org.akaza.openclinica.bean.submit.SectionBean in project OpenClinica by OpenClinica.

the class OpenRosaXmlGenerator method getSectionBean.

private SectionBean getSectionBean(Integer ID) {
    sdao = new SectionDAO(dataSource);
    SectionBean sBean = (SectionBean) sdao.findByPK(ID);
    return sBean;
}
Also used : SectionBean(org.akaza.openclinica.bean.submit.SectionBean) SectionDAO(org.akaza.openclinica.dao.submit.SectionDAO)

Example 59 with SectionBean

use of org.akaza.openclinica.bean.submit.SectionBean in project OpenClinica by OpenClinica.

the class OpenRosaXmlGenerator method mapBeansToDTO.

/**
     * @param html
     * @param crf
     * @param crfVersion
     * @param crfSections
     * @return
     * @throws Exception
     */
private Integer mapBeansToDTO(Html html, CRFBean crf, CRFVersionBean crfVersion, ArrayList<SectionBean> crfSections) throws Exception {
    boolean expressionEvaluate = true;
    int sectionCount = 0;
    ItemFormMetadataBean itemFormMetadataBean = null;
    Body body = html.getBody();
    ArrayList<Group> allSections = new ArrayList<Group>();
    ArrayList<Bind> bindList = new ArrayList<Bind>();
    WidgetFactory factory = new WidgetFactory(crfVersion);
    html.getHead().setTitle(crf.getName());
    for (SectionBean section : crfSections) {
        ArrayList<Group> groups = new ArrayList<Group>();
        Group singleSection = new Group();
        singleSection.setUsercontrol(new ArrayList<UserControl>());
        String ref = "/" + crfVersion.getOid() + "/" + "SECTION_" + section.getLabel().replaceAll("\\W", "_");
        singleSection.setRef(ref);
        String sectionExpression = null;
        igdao = new ItemGroupDAO(dataSource);
        ArrayList<ItemGroupBean> groupBeans = (ArrayList<ItemGroupBean>) igdao.findGroupBySectionId(section.getId());
        int count = 0;
        if (groupBeans.size() > 0) {
            for (ItemGroupBean groupBean : groupBeans) {
                ExpressionExpressionEvaluate eev = getSkipPattern(null, groupBean);
                String expr = eev.getExpression();
                expressionEvaluate = eev.isExpressionEvaluate();
                if (expr != null) {
                    if (sectionExpression != null) {
                        sectionExpression = sectionExpression + " and " + expr;
                        count++;
                    } else {
                        sectionExpression = expr;
                        count++;
                    }
                }
            }
            if (sectionExpression != null && groupBeans.size() == count) {
                sectionExpression = getFullExpressionToParse(sectionExpression, crfVersion, expressionEvaluate);
            } else {
                sectionExpression = null;
            }
            setSectionWidget(section, crfVersion, sectionExpression, bindList, factory, singleSection);
            HashMap<String, Object> groupMap = null;
            boolean isGroupRepeating = false;
            Group group = null;
            Repeat repeat = null;
            idao = new ItemDAO(dataSource);
            ArrayList<ItemBean> items = (ArrayList<ItemBean>) idao.findAllBySectionIdOrderedByItemFormMetadataOrdinal(section.getId());
            Integer itemGroupId = 0;
            for (ItemBean item : items) {
                ItemGroupBean itemGroupBean = getItemGroupBeanByItemId(item.getId());
                if (itemGroupId != itemGroupBean.getId()) {
                    groupMap = getGroupInfo(itemGroupBean, crfVersion, section, factory, bindList);
                    isGroupRepeating = (Boolean) groupMap.get("isGroupRepeating");
                    group = (Group) groupMap.get("group");
                    repeat = (Repeat) groupMap.get("repeat");
                }
                itemFormMetadataBean = getItemFormMetadata(item, crfVersion);
                int responseTypeId = itemFormMetadataBean.getResponseSet().getResponseTypeId();
                boolean isItemRequired = itemFormMetadataBean.isRequired();
                String responseLayout = itemFormMetadataBean.getResponseLayout();
                String itemExpression = null;
                ExpressionExpressionEvaluate eev = getSkipPattern(item, itemGroupBean);
                itemExpression = eev.getExpression();
                expressionEvaluate = eev.isExpressionEvaluate();
                if (itemExpression != null)
                    itemExpression = getFullExpressionToParse(itemExpression, crfVersion, expressionEvaluate);
                // Add the Item Header
                setHeaderWidget(item, itemFormMetadataBean, itemGroupBean, bindList, factory, isGroupRepeating, repeat, group, itemExpression);
                // Add the Item SubHeader
                setSubHeaderWidget(item, itemFormMetadataBean, itemGroupBean, bindList, factory, isGroupRepeating, repeat, group, itemExpression);
                // Add the Item itself
                setItemWidget(item, responseTypeId, itemFormMetadataBean, itemGroupBean, bindList, factory, isGroupRepeating, repeat, group, isItemRequired, responseLayout, itemExpression);
                if (itemGroupId != itemGroupBean.getId()) {
                    groups.add(group);
                    itemGroupId = itemGroupBean.getId();
                }
            }
            // end of item loop
            singleSection.setGroup(groups);
            allSections.add(singleSection);
        }
        // end of groups per section if exist
        sectionCount = allSections.size();
    }
    // end of section loop
    body.setGroup(allSections);
    html.getHead().getModel().setBind(bindList);
    return sectionCount;
}
Also used : Group(org.akaza.openclinica.web.pform.dto.Group) Bind(org.akaza.openclinica.web.pform.dto.Bind) ItemBean(org.akaza.openclinica.bean.submit.ItemBean) ItemDAO(org.akaza.openclinica.dao.submit.ItemDAO) ArrayList(java.util.ArrayList) ItemGroupDAO(org.akaza.openclinica.dao.submit.ItemGroupDAO) Repeat(org.akaza.openclinica.web.pform.dto.Repeat) UserControl(org.akaza.openclinica.web.pform.dto.UserControl) Body(org.akaza.openclinica.web.pform.dto.Body) SectionBean(org.akaza.openclinica.bean.submit.SectionBean) WidgetFactory(org.akaza.openclinica.web.pform.widget.WidgetFactory) ItemGroupBean(org.akaza.openclinica.bean.submit.ItemGroupBean) ItemFormMetadataBean(org.akaza.openclinica.bean.submit.ItemFormMetadataBean)

Example 60 with SectionBean

use of org.akaza.openclinica.bean.submit.SectionBean in project OpenClinica by OpenClinica.

the class CreateFiltersTwoServlet method processRequest.

// < ResourceBundle restext,resword,respage,resexception;
@Override
public void processRequest() throws Exception {
    // we can't get to here without an action:
    // begin--takes us to specify parameters,
    // where the user will select CRF, then section,
    // then parameters of the section: a little tricky
    // to do entirely with javascript, but can be done.
    // possible to set up the CRF-section relationship,
    // and then have a screen 3.5 with the parameters?
    // criteria--takes us to specify criteria, that is,
    // to specify and, or, not and, etc. here we'll take the
    // list we just generated online and generate a chain
    // of filterobjectbeans, which will in turn,
    // generate the SQL add on for the dataset.
    String action = request.getParameter("action");
    StudyBean studyWithEventDefs = currentStudy;
    if (currentStudy.getParentStudyId() > 0) {
        studyWithEventDefs = new StudyBean();
        studyWithEventDefs.setId(currentStudy.getParentStudyId());
    }
    if (StringUtil.isBlank(action)) {
    // throw an error
    } else if ("begin".equalsIgnoreCase(action)) {
        StudyEventDAO sedao = new StudyEventDAO(sm.getDataSource());
        HashMap events = sedao.findCRFsByStudy(studyWithEventDefs);
        // if events are empty -- resend to first filter page with message
        if (events.isEmpty()) {
            addPageMessage(respage.getString("no_CRF_assigned_pick_another"));
            FormProcessor fp = new FormProcessor(request);
            FilterDAO fdao = new FilterDAO(sm.getDataSource());
            EntityBeanTable table = fp.getEntityBeanTable();
            ArrayList filters = (ArrayList) fdao.findAll();
            ArrayList filterRows = FilterRow.generateRowsFromBeans(filters);
            String[] columns = { resword.getString("filter_name"), resword.getString("description"), resword.getString("created_by"), resword.getString("created_date"), resword.getString("status"), resword.getString("actions") };
            table.setColumns(new ArrayList(Arrays.asList(columns)));
            table.hideColumnLink(5);
            table.addLink(resword.getString("create_new_filter"), "CreateFiltersOne?action=begin");
            table.setQuery("CreateFiltersOne", new HashMap());
            table.setRows(filterRows);
            table.computeDisplay();
            request.setAttribute("table", table);
            forwardPage(Page.CREATE_FILTER_SCREEN_1);
        } else {
            // else, send to the following page:
            request.setAttribute("events", events);
            forwardPage(Page.CREATE_FILTER_SCREEN_3);
        }
    } else if ("crfselected".equalsIgnoreCase(action)) {
        // get the crf id, return to a new page with sections
        // and parameters attached, tbh
        FormProcessor fp = new FormProcessor(request);
        HashMap errors = new HashMap();
        int crfId = fp.getInt("crfId");
        if (crfId > 0) {
            CRFVersionDAO cvDAO = new CRFVersionDAO(sm.getDataSource());
            CRFDAO cDAO = new CRFDAO(sm.getDataSource());
            SectionDAO secDAO = new SectionDAO(sm.getDataSource());
            Collection sections = secDAO.findByVersionId(crfId);
            CRFVersionBean cvBean = (CRFVersionBean) cvDAO.findByPK(crfId);
            CRFBean cBean = (CRFBean) cDAO.findByPK(cvBean.getCrfId());
            request.setAttribute("sections", sections);
            session.setAttribute("cBean", cBean);
            // for further pages,
            session.setAttribute("cvBean", cvBean);
            // tbh
            forwardPage(Page.CREATE_FILTER_SCREEN_3_1);
        } else {
            addPageMessage(respage.getString("select_a_CRF_before_picking"));
            StudyEventDAO sedao = new StudyEventDAO(sm.getDataSource());
            HashMap events = sedao.findCRFsByStudy(studyWithEventDefs);
            request.setAttribute("events", events);
            forwardPage(Page.CREATE_FILTER_SCREEN_3);
        }
    } else if ("sectionselected".equalsIgnoreCase(action)) {
        // TODO set the crf and the section into session,
        // allow for the user to go back and forth,
        // set up the questions to be picked,
        // allow the user to move on to create_filter_screen_4
        FormProcessor fp = new FormProcessor(request);
        int sectionId = fp.getInt("sectionId");
        if (sectionId > 0) {
            SectionDAO secDAO = new SectionDAO(sm.getDataSource());
            SectionBean secBean = (SectionBean) secDAO.findByPK(sectionId);
            session.setAttribute("secBean", secBean);
            ItemFormMetadataDAO ifmDAO = new ItemFormMetadataDAO(sm.getDataSource());
            Collection metadatas = ifmDAO.findAllBySectionId(sectionId);
            if (metadatas.size() > 0) {
                request.setAttribute("metadatas", metadatas);
                forwardPage(Page.CREATE_FILTER_SCREEN_3_2);
            } else {
                CRFVersionBean cvBean = (CRFVersionBean) session.getAttribute("cvBean");
                addPageMessage(respage.getString("section_not_have_questions_select_another"));
                // SectionDAO secDAO = new SectionDAO(sm.getDataSource());
                Collection sections = secDAO.findByVersionId(cvBean.getId());
                request.setAttribute("sections", sections);
                forwardPage(Page.CREATE_FILTER_SCREEN_3_1);
            }
        } else {
            CRFVersionBean cvBean = (CRFVersionBean) session.getAttribute("cvBean");
            addPageMessage(respage.getString("select_section_before_select_question"));
            SectionDAO secDAO = new SectionDAO(sm.getDataSource());
            Collection sections = secDAO.findByVersionId(cvBean.getId());
            request.setAttribute("sections", sections);
            forwardPage(Page.CREATE_FILTER_SCREEN_3_1);
        }
    } else if ("questionsselected".equalsIgnoreCase(action)) {
        ArrayList alist = this.extractIdsFromForm();
        // and send the user to create_filter_screen_4
        if (alist.size() > 0) {
            ItemFormMetadataDAO ifmDAO = new ItemFormMetadataDAO(sm.getDataSource());
            Collection questions = ifmDAO.findByMultiplePKs(alist);
            session.setAttribute("questions", questions);
            forwardPage(Page.CREATE_FILTER_SCREEN_4);
        } else {
            SectionBean secBean = (SectionBean) session.getAttribute("secBean");
            addPageMessage(respage.getString("select_questions_before_set_parameters"));
            ItemFormMetadataDAO ifmDAO = new ItemFormMetadataDAO(sm.getDataSource());
            Collection metadatas = ifmDAO.findAllBySectionId(secBean.getId());
            request.setAttribute("metadatas", metadatas);
            forwardPage(Page.CREATE_FILTER_SCREEN_3_2);
        }
    } else if ("validatecriteria".equalsIgnoreCase(action)) {
        // TODO look at the criteria and create a list of filterobjectdata
        // beans, so that we can create the SQL later on in
        // the process.
        // also, throw the user back to the process or throw
        // them forward into the createServletThree process
        FormProcessor fp = new FormProcessor(request);
        String logical = fp.getString("logical");
        ArrayList questions = (ArrayList) session.getAttribute("questions");
        ArrayList filterobjects = new ArrayList();
        // (ArrayList)session.getAttribute("filterobjects");
        Iterator q_it = questions.iterator();
        int arrCnt = 0;
        while (q_it.hasNext()) {
            ItemFormMetadataBean ifmBean = (ItemFormMetadataBean) q_it.next();
            String opString = "operator:" + ifmBean.getId();
            String valString = "value:" + ifmBean.getId();
            String remString = "remove:" + ifmBean.getId();
            if ("remove".equals(fp.getString(remString))) {
                logger.info("found the string: " + remString);
                // TODO remove the question from from the list,
                // redirect to that page again????? <--maybe not?
                // questions.remove(arrCnt);
                // shouldn't have to remove the above, just do nothing
                arrCnt++;
            } else {
                String operator = fp.getString(opString);
                String value = fp.getString(valString);
                FilterObjectBean fob = new FilterObjectBean();
                fob.setItemId(ifmBean.getId());
                fob.setItemName(ifmBean.getHeader() + " " + ifmBean.getLeftItemText() + " " + ifmBean.getRightItemText());
                // case operator:
                if ("equal to".equalsIgnoreCase(operator)) {
                    fob.setOperand("=");
                } else if ("greater than".equalsIgnoreCase(operator)) {
                    fob.setOperand(">");
                } else if ("less than".equalsIgnoreCase(operator)) {
                    fob.setOperand("<");
                } else if ("greater than or equal".equalsIgnoreCase(operator)) {
                    fob.setOperand(">=");
                } else if ("less than or equal".equalsIgnoreCase(operator)) {
                    fob.setOperand("<=");
                } else if ("like".equalsIgnoreCase(operator)) {
                    fob.setOperand(" like ");
                } else if ("not like".equalsIgnoreCase(operator)) {
                    fob.setOperand(" not like ");
                } else {
                    fob.setOperand("!=");
                }
                fob.setValue(value);
                filterobjects.add(fob);
            }
        // end else
        //
        }
        // end while
        session.setAttribute("questions", questions);
        // TODO where does the connector come into play?
        // session.setAttribute("filterobjects",filterobjects);
        FilterDAO fDAO = new FilterDAO(sm.getDataSource());
        String newSQL = (String) session.getAttribute("newSQL");
        ArrayList newExp = (ArrayList) session.getAttribute("newExp");
        // human readable explanation
        String newNewSQL = fDAO.genSQLStatement(newSQL, logical, filterobjects);
        ArrayList newNewExp = fDAO.genExplanation(newExp, logical, filterobjects);
        if (arrCnt == questions.size()) {
            newNewSQL = newSQL;
            newNewExp = newExp;
        // don't change anything, if we've removed everything from this
        // list
        }
        logger.info("new SQL Generated: " + newNewSQL);
        String sub = fp.getString("submit");
        if ("Specify Filter Metadata".equals(sub)) {
            // add new params, create the filter object,
            // and go to create metadata
            FilterBean fb = new FilterBean();
            fb.setSQLStatement(newNewSQL + ")");
            // adding parens here to finish off other
            // statement--might add first part of statement here
            // for legibility's sake
            // tbh 06-02-2005
            session.removeAttribute("newSQL");
            // end of the road
            session.setAttribute("newFilter", fb);
            request.setAttribute("statuses", getStatuses());
            forwardPage(Page.CREATE_FILTER_SCREEN_5);
        } else {
            // replace the 'old' sql with the new sql gathered from the
            // session
            session.setAttribute("newSQL", newNewSQL);
            session.setAttribute("newExp", newNewExp);
            // add new params, and go back
            StudyEventDAO sedao = new StudyEventDAO(sm.getDataSource());
            HashMap events = sedao.findCRFsByStudy(currentStudy);
            //
            request.setAttribute("events", events);
            forwardPage(Page.CREATE_FILTER_SCREEN_3);
        }
    }
}
Also used : CRFDAO(org.akaza.openclinica.dao.admin.CRFDAO) CRFVersionDAO(org.akaza.openclinica.dao.submit.CRFVersionDAO) HashMap(java.util.HashMap) FormProcessor(org.akaza.openclinica.control.form.FormProcessor) EntityBeanTable(org.akaza.openclinica.web.bean.EntityBeanTable) StudyBean(org.akaza.openclinica.bean.managestudy.StudyBean) ArrayList(java.util.ArrayList) CRFBean(org.akaza.openclinica.bean.admin.CRFBean) SectionBean(org.akaza.openclinica.bean.submit.SectionBean) FilterDAO(org.akaza.openclinica.dao.extract.FilterDAO) StudyEventDAO(org.akaza.openclinica.dao.managestudy.StudyEventDAO) Iterator(java.util.Iterator) FilterObjectBean(org.akaza.openclinica.bean.extract.FilterObjectBean) Collection(java.util.Collection) CRFVersionBean(org.akaza.openclinica.bean.submit.CRFVersionBean) ItemFormMetadataDAO(org.akaza.openclinica.dao.submit.ItemFormMetadataDAO) ItemFormMetadataBean(org.akaza.openclinica.bean.submit.ItemFormMetadataBean) SectionDAO(org.akaza.openclinica.dao.submit.SectionDAO) FilterBean(org.akaza.openclinica.bean.extract.FilterBean)

Aggregations

SectionBean (org.akaza.openclinica.bean.submit.SectionBean)63 ArrayList (java.util.ArrayList)49 SectionDAO (org.akaza.openclinica.dao.submit.SectionDAO)35 EventCRFBean (org.akaza.openclinica.bean.submit.EventCRFBean)33 HashMap (java.util.HashMap)28 DisplaySectionBean (org.akaza.openclinica.bean.submit.DisplaySectionBean)28 FormProcessor (org.akaza.openclinica.control.form.FormProcessor)22 CRFVersionBean (org.akaza.openclinica.bean.submit.CRFVersionBean)20 ItemGroupBean (org.akaza.openclinica.bean.submit.ItemGroupBean)20 DisplayItemGroupBean (org.akaza.openclinica.bean.submit.DisplayItemGroupBean)19 EventDefinitionCRFBean (org.akaza.openclinica.bean.managestudy.EventDefinitionCRFBean)17 CRFVersionDAO (org.akaza.openclinica.dao.submit.CRFVersionDAO)17 CRFBean (org.akaza.openclinica.bean.admin.CRFBean)16 StudyBean (org.akaza.openclinica.bean.managestudy.StudyBean)15 DisplayItemBean (org.akaza.openclinica.bean.submit.DisplayItemBean)15 ItemBean (org.akaza.openclinica.bean.submit.ItemBean)15 ItemDataBean (org.akaza.openclinica.bean.submit.ItemDataBean)15 ItemFormMetadataBean (org.akaza.openclinica.bean.submit.ItemFormMetadataBean)14 CRFDAO (org.akaza.openclinica.dao.admin.CRFDAO)14 ItemDAO (org.akaza.openclinica.dao.submit.ItemDAO)14