/*
* OpenClinica is distributed under the
* GNU Lesser General Public License (GNU LGPL).
* For details see: http://www.openclinica.org/license
* copyright 2003-2005 Akaza Research
*/
package org.akaza.openclinica.bean.submit;
import org.akaza.openclinica.bean.admin.CRFBean;
import org.akaza.openclinica.bean.core.DataEntryStage;
import org.akaza.openclinica.bean.managestudy.EventDefinitionCRFBean;
import org.akaza.openclinica.bean.managestudy.StudyEventBean;
import org.akaza.openclinica.bean.managestudy.StudyEventDefinitionBean;
import org.akaza.openclinica.bean.managestudy.StudySubjectBean;
import java.util.ArrayList;
/**
* @author ssachs
*/
public class DisplayTableOfContentsBean {
private boolean active; // AND's together all the active bits of all the
// beans that were explicitly set, except for
// sections
private String actionServlet; // the servlet to execute the action which
// the user can perform on the items in the
// event crf
// set in setEventCRF
/**
* The String we should use to call TableOfContentsServlet in order to
* display an overview of this.eventCRF. ie "TableOfContents?ecid=" +
* this.eventCRF.id + "&action=" + this.action is a GET query which will
* display the overview for this event CRF.
*/
private String action;
// metadata
private StudyEventDefinitionBean studyEventDefinition;
private EventDefinitionCRFBean eventDefinitionCRF;
private CRFBean crf;
private CRFVersionBean crfVersion;
// data
private StudySubjectBean studySubject;
private StudyEventBean studyEvent;
private EventCRFBean eventCRF;
private ArrayList sections; // this really should be metadata, but the
// sections are populated with the number of
// items completed, so there's some data in them
// each element is a SectionBean
public DisplayTableOfContentsBean() {
active = false;
actionServlet = "";
studyEventDefinition = new StudyEventDefinitionBean();
eventDefinitionCRF = new EventDefinitionCRFBean();
crf = new CRFBean();
crfVersion = new CRFVersionBean();
// data
studySubject = new StudySubjectBean();
studyEvent = new StudyEventBean();
eventCRF = new EventCRFBean();
}
/**
* @return Returns the crf.
*/
public CRFBean getCrf() {
return crf;
}
/**
* @param crf
* The crf to set.
*/
public void setCrf(CRFBean crf) {
this.crf = crf;
active = active && crf.isActive();
}
/**
* @return Returns the crfVersion.
*/
public CRFVersionBean getCrfVersion() {
return crfVersion;
}
/**
* @param crfVersion
* The crfVersion to set.
*/
public void setCrfVersion(CRFVersionBean crfVersion) {
this.crfVersion = crfVersion;
active = active && crfVersion.isActive();
}
/**
* @return Returns the eventCRF.
*/
public EventCRFBean getEventCRF() {
return eventCRF;
}
/**
* @param eventCRF
* The eventCRF to set.
*/
public void setEventCRF(EventCRFBean eventCRF) {
this.eventCRF = eventCRF;
active = active && eventCRF.isActive();
if (eventCRF.getStage().equals(DataEntryStage.UNCOMPLETED)) {
actionServlet = "InitialDataEntry";
} else if (eventCRF.getStage().equals(DataEntryStage.INITIAL_DATA_ENTRY)) {
actionServlet = "InitialDataEntry";
} else if (eventCRF.getStage().equals(DataEntryStage.INITIAL_DATA_ENTRY_COMPLETE)) {
actionServlet = "DoubleDataEntry";
} else if (eventCRF.getStage().equals(DataEntryStage.DOUBLE_DATA_ENTRY)) {
actionServlet = "DoubleDataEntry";
} else if (eventCRF.getStage().equals(DataEntryStage.DOUBLE_DATA_ENTRY_COMPLETE)) {
actionServlet = "AdministrativeEditing";
}
}
/**
* @return Returns the eventDefinitionCRF.
*/
public EventDefinitionCRFBean getEventDefinitionCRF() {
return eventDefinitionCRF;
}
/**
* @param eventDefinitionCRF
* The eventDefinitionCRF to set.
*/
public void setEventDefinitionCRF(EventDefinitionCRFBean eventDefinitionCRF) {
this.eventDefinitionCRF = eventDefinitionCRF;
active = active && eventDefinitionCRF.isActive();
}
/**
* @return Returns the sections.
*/
public ArrayList getSections() {
return sections;
}
/**
* @param sections
* The sections to set.
*/
public void setSections(ArrayList sections) {
this.sections = sections;
}
/**
* @return Returns the studyEvent.
*/
public StudyEventBean getStudyEvent() {
return studyEvent;
}
/**
* @param studyEvent
* The studyEvent to set.
*/
public void setStudyEvent(StudyEventBean studyEvent) {
this.studyEvent = studyEvent;
active = active && studyEvent.isActive();
}
/**
* @return Returns the studyEventDefinition.
*/
public StudyEventDefinitionBean getStudyEventDefinition() {
return studyEventDefinition;
}
/**
* @param studyEventDefinition
* The studyEventDefinition to set.
*/
public void setStudyEventDefinition(StudyEventDefinitionBean studyEventDefinition) {
this.studyEventDefinition = studyEventDefinition;
active = active && studyEventDefinition.isActive();
}
/**
* @return Returns the studySubject.
*/
public StudySubjectBean getStudySubject() {
return studySubject;
}
/**
* @param studySubject
* The studySubject to set.
*/
public void setStudySubject(StudySubjectBean studySubject) {
this.studySubject = studySubject;
active = active && studySubject.isActive();
}
/**
* @return Returns the active.
*/
public boolean isActive() {
return active;
}
/**
* @return Returns the actionServlet.
*/
public String getActionServlet() {
return actionServlet;
}
/**
* @return Returns the action.
*/
public String getAction() {
return action;
}
/**
* @param action
* The action to set.
*/
public void setAction(String action) {
this.action = action;
}
}