in study-builder/fdahpStudyDesigner/src/main/java/com/fdahpstudydesigner/controller/StudyController.java [4495:4741]
public ModelAndView viewBasicInfo(HttpServletRequest request) {
logger.entry("begin viewBasicInfo");
ModelAndView mav = new ModelAndView("redirect:/adminStudies/studyList.do");
ModelMap map = new ModelMap();
HashMap<String, List<ReferenceTablesBo>> referenceMap = null;
List<ReferenceTablesBo> categoryList = null;
StudyBo studyBo = null;
String sucMsg = "";
String errMsg = "";
ConsentBo consentBo = null;
StudyIdBean studyIdBean = null;
Map<String, String> configMap = FdahpStudyDesignerUtil.getAppProperties();
try {
SessionObject sesObj =
(SessionObject)
request.getSession().getAttribute(FdahpStudyDesignerConstants.SESSION_OBJECT);
Integer sessionStudyCount =
StringUtils.isNumeric(request.getParameter("_S"))
? Integer.parseInt(request.getParameter("_S"))
: 0;
if ((sesObj != null)
&& (sesObj.getStudySession() != null)
&& sesObj.getStudySession().contains(sessionStudyCount)) {
if (null != request.getSession().getAttribute("sucMsgViewAssocStudies")) {
request.getSession().removeAttribute("sucMsgViewAssocStudies");
}
AuditLogEventRequest auditRequest = AuditEventMapper.fromHttpServletRequest(request);
if (null
!= request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.SUC_MSG)) {
sucMsg =
(String)
request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.SUC_MSG);
map.addAttribute(FdahpStudyDesignerConstants.SUC_MSG, sucMsg);
request
.getSession()
.removeAttribute(sessionStudyCount + FdahpStudyDesignerConstants.SUC_MSG);
}
if (null
!= request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.ERR_MSG)) {
errMsg =
(String)
request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.ERR_MSG);
map.addAttribute(FdahpStudyDesignerConstants.ERR_MSG, errMsg);
request
.getSession()
.removeAttribute(sessionStudyCount + FdahpStudyDesignerConstants.ERR_MSG);
}
String studyId =
(String)
(FdahpStudyDesignerUtil.isEmpty(
(String)
request
.getSession()
.getAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.STUDY_ID))
? ""
: request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.STUDY_ID));
String permission =
(String)
(FdahpStudyDesignerUtil.isEmpty(
(String)
request
.getSession()
.getAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.PERMISSION))
? ""
: request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.PERMISSION));
String isLive =
(String)
(FdahpStudyDesignerUtil.isEmpty(
(String)
request
.getSession()
.getAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.IS_LIVE))
? ""
: request
.getSession()
.getAttribute(sessionStudyCount + FdahpStudyDesignerConstants.IS_LIVE));
if (FdahpStudyDesignerUtil.isEmpty(isLive)) {
request
.getSession()
.removeAttribute(sessionStudyCount + FdahpStudyDesignerConstants.IS_LIVE);
}
if (FdahpStudyDesignerUtil.isNotEmpty(studyId)) {
studyBo = studyService.getStudyById(studyId, sesObj.getUserId());
if (StringUtils.isNotEmpty(isLive)
&& isLive.equalsIgnoreCase(FdahpStudyDesignerConstants.YES)
&& (studyBo != null)) {
studyIdBean = studyService.getLiveVersion(studyBo.getCustomStudyId());
if (studyIdBean != null) {
consentBo =
studyService.getConsentDetailsByStudyId(
studyIdBean.getConsentStudyId().toString());
request
.getSession()
.setAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.CONSENT_STUDY_ID,
studyIdBean.getConsentStudyId().toString());
if (studyIdBean.getActivetaskStudyId() != null) {
request
.getSession()
.setAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.ACTIVE_TASK_STUDY_ID,
studyIdBean.getActivetaskStudyId().toString());
}
if (studyIdBean.getQuestionnarieStudyId() != null) {
request
.getSession()
.setAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.QUESTIONNARIE_STUDY_ID,
studyIdBean.getQuestionnarieStudyId().toString());
}
}
} else {
consentBo = studyService.getConsentDetailsByStudyId(studyId);
}
// get consentId if exists for studyId
request
.getSession()
.removeAttribute(sessionStudyCount + FdahpStudyDesignerConstants.CONSENT_ID);
if (consentBo != null) {
request
.getSession()
.setAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.CONSENT_ID, consentBo.getId());
} else {
request
.getSession()
.removeAttribute(sessionStudyCount + FdahpStudyDesignerConstants.CONSENT_ID);
}
}
if (studyBo == null) {
auditLogEventHelper.logEvent(NEW_STUDY_CREATION_INITIATED, auditRequest);
studyBo = new StudyBo();
studyBo.setType(FdahpStudyDesignerConstants.STUDY_TYPE_GT);
} else if ((studyBo != null) && StringUtils.isNotEmpty(studyBo.getCustomStudyId())) {
request
.getSession()
.setAttribute(
sessionStudyCount + FdahpStudyDesignerConstants.CUSTOM_STUDY_ID,
studyBo.getCustomStudyId());
/*FdahpStudyDesignerUtil.copyImage(
studyBo.getThumbnailImage(),
FdahpStudyDesignerConstants.STUDTYLOGO,
studyBo.getCustomStudyId());*/
map.addAttribute(
"signedUrl",
FdahpStudyDesignerUtil.getImageResources(
FdahpStudyDesignerConstants.STUDIES
+ FdahpStudyDesignerConstants.PATH_SEPARATOR
+ studyBo.getCustomStudyId()
+ FdahpStudyDesignerConstants.PATH_SEPARATOR
+ FdahpStudyDesignerConstants.STUDTYLOGO
+ FdahpStudyDesignerConstants.PATH_SEPARATOR
+ studyBo.getThumbnailImage()));
} else if (StringUtils.isEmpty(studyBo.getCustomStudyId())
&& StringUtils.isNotEmpty(studyBo.getDestinationCustomStudyId())) {
if (studyBo.getDestinationCustomStudyId().contains("@")) {
String[] copyCustomIdArray = studyBo.getDestinationCustomStudyId().split("@");
String customId = "";
if (copyCustomIdArray[1].contains("COPY")) {
customId = copyCustomIdArray[0];
studyBo.setDestinationCustomStudyId(customId);
} else if (copyCustomIdArray[1].equalsIgnoreCase("EXPORT")) {
customId = copyCustomIdArray[0];
studyBo.setDestinationCustomStudyId(customId + "@Export");
}
}
map.addAttribute(
"signedUrl",
FdahpStudyDesignerUtil.getImageResources(
FdahpStudyDesignerConstants.STUDIES
+ FdahpStudyDesignerConstants.PATH_SEPARATOR
+ studyBo.getDestinationCustomStudyId()
+ FdahpStudyDesignerConstants.PATH_SEPARATOR
+ FdahpStudyDesignerConstants.STUDTYLOGO
+ FdahpStudyDesignerConstants.PATH_SEPARATOR
+ studyBo.getThumbnailImage()));
}
map.addAttribute(
"defaultImageSignedUrl",
FdahpStudyDesignerUtil.getImageResources(
FdahpStudyDesignerConstants.DEFAULT_IMAGES
+ "/"
+ configMap.get("study.basicInformation.defaultImage")));
// grouped for Study category , Research Sponsors , Data partner
referenceMap =
(HashMap<String, List<ReferenceTablesBo>>) studyService.getreferenceListByCategory();
if ((referenceMap != null) && (referenceMap.size() > 0)) {
for (String key : referenceMap.keySet()) {
if (StringUtils.isNotEmpty(key)) {
switch (key) {
case FdahpStudyDesignerConstants.REFERENCE_TYPE_CATEGORIES:
categoryList = referenceMap.get(key);
break;
default:
break;
}
}
}
}
List<AppsBo> apps = appService.getAppsForStudy(sesObj.getUserId());
AppsBo app = appService.getAppbyCustomAppId(studyBo.getAppId());
if (app != null) {
map.addAttribute("appName", app.getName());
map.addAttribute("appType", app.getType());
if (app.getType().equals("SD")) {
apps.add(app);
}
boolean appPermission = appService.getAppPermission(app.getId(), sesObj.getUserId());
map.addAttribute("appPermission", appPermission);
}
map.addAttribute("categoryList", categoryList);
map.addAttribute(FdahpStudyDesignerConstants.STUDY_BO, studyBo);
map.addAttribute("createStudyId", "true");
map.addAttribute(FdahpStudyDesignerConstants.PERMISSION, permission);
map.addAttribute("_S", sessionStudyCount);
map.addAttribute("appsList", apps);
mav = new ModelAndView("viewBasicInfo", map);
}
} catch (Exception e) {
logger.error("StudyController - viewBasicInfo - ERROR", e);
}
logger.exit("viewBasicInfo - Ends");
return mav;
}