List of usage examples for org.apache.shiro SecurityUtils getSubject
public static Subject getSubject()
From source file:au.org.theark.study.web.component.studycomponent.StudyComponentContainerPanel.java
License:Open Source License
protected WebMarkupContainer initialiseSearchPanel() { StudyCompVo studyCompVo = new StudyCompVo(); // Get a result-set by default List<StudyComp> resultList = new ArrayList<StudyComp>(); Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); try {/*www . ja va 2s . c o m*/ if (sessionStudyId != null && sessionStudyId > 0) { resultList = studyService.searchStudyComp(studyCompVo.getStudyComponent()); } } catch (ArkSystemException e) { this.error("A system error occurred while initializing Search Panel"); } cpModel.getObject().setStudyCompList(resultList); searchComponentPanel = new SearchPanel("searchComponentPanel", arkCrudContainerVO, feedBackPanel, containerForm, pageableListView); searchComponentPanel.initialisePanel(cpModel); arkCrudContainerVO.getSearchPanelContainer().add(searchComponentPanel); return arkCrudContainerVO.getSearchPanelContainer(); }
From source file:au.org.theark.study.web.component.subject.ChildStudySubjectPanel.java
License:Open Source License
private void setSubjectIntoContext(AjaxRequestTarget target, final SubjectVO subject) { Study study = subject.getLinkSubjectStudy().getStudy(); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID, study.getId());//from w w w .j av a 2s. co m // We specify the type of person here as Subject SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID, subject.getLinkSubjectStudy().getPerson().getId()); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_TYPE, au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_SUBJECT); SubjectVO subjectFromBackend = new SubjectVO(); LinkSubjectStudy subjectRefreshed = iArkCommonService.getSubjectRefreshed(subject.getLinkSubjectStudy()); subjectFromBackend.setLinkSubjectStudy(subjectRefreshed); // Available/assigned child studies List<Study> availableChildStudies = new ArrayList<Study>(0); List<Study> selectedChildStudies = new ArrayList<Study>(0); if (study.getParentStudy() != null) { availableChildStudies = iStudyService.getChildStudyListOfParent(study); Person person = null; try { person = iStudyService.getPerson(subject.getLinkSubjectStudy().getPerson().getId()); } catch (EntityNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ArkSystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } selectedChildStudies = iArkCommonService.getAssignedChildStudyListForPerson(study, person); } ArkCRUDHelper.preProcessDetailPanelOnSearchResults(target, arkCrudContainerVO); subjectContainerForm.setModelObject(subjectFromBackend); subjectContainerForm.getModelObject().setAvailableChildStudies(availableChildStudies); subjectContainerForm.getModelObject().setSelectedChildStudies(selectedChildStudies); // Set SubjectUID into context SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.SUBJECTUID, subjectFromBackend.getLinkSubjectStudy().getSubjectUID()); ContextHelper contextHelper = new ContextHelper(); contextHelper.setStudyContextLabel(target, study.getName(), arkContextMarkup); contextHelper.setSubjectContextLabel(target, subject.getLinkSubjectStudy().getSubjectUID(), arkContextMarkup); contextHelper.setSubjectNameContextLabel(target, subject.getLinkSubjectStudy().getPerson().getFullName(), arkContextMarkup); // Set Study Logo StudyHelper studyHelper = new StudyHelper(); WebMarkupContainer wmc = (WebMarkupContainer) getParent(); au.org.theark.study.web.component.subject.form.DetailForm detailForm = (au.org.theark.study.web.component.subject.form.DetailForm) wmc .getParent(); au.org.theark.study.web.component.subject.DetailPanel detailPanel = (au.org.theark.study.web.component.subject.DetailPanel) detailForm .getParent(); studyHelper.setStudyLogo(study, target, detailPanel.studyNameMarkup, detailPanel.studyLogoMarkup, iArkCommonService); }
From source file:au.org.theark.study.web.component.subject.form.DetailForm.java
License:Open Source License
protected void onCancel(AjaxRequestTarget target) { subjectUIDTxtFld.setEnabled(true);/*w w w . j av a 2 s.c om*/ SubjectVO subjectVO = new SubjectVO(); // Set study in context Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(sessionStudyId); subjectVO.getLinkSubjectStudy().setStudy(study); subjectVO.setStudyList(containerForm.getModelObject().getStudyList()); containerForm.setModelObject(subjectVO); otherIdListView.setModelObject(new ArrayList<OtherID>()); otherIdListView.removeAll(); // Clear subject in context ContextHelper contextHelper = new ContextHelper(); contextHelper.resetContextLabel(target, arkContextMarkupContainer); contextHelper.setStudyContextLabel(target, study.getName(), arkContextMarkupContainer); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID, null); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_TYPE, null); }
From source file:au.org.theark.study.web.component.subject.form.DetailForm.java
License:Open Source License
private void saveUpdateProcess(SubjectVO subjectVO, AjaxRequestTarget target) { //Setting the today's date if consent date of last change not entered or edited. if (subjectVO.getLinkSubjectStudy().getConsentDateOfLastChange() == null) { subjectVO.getLinkSubjectStudy().setConsentDateOfLastChange(new Date()); }//from w ww. j a v a 2 s . co m if (subjectVO.getLinkSubjectStudy().getPerson().getId() == null || containerForm.getModelObject().getLinkSubjectStudy().getPerson().getId() == 0) { subjectVO.getLinkSubjectStudy().setStudy(study); //Setting the today's date if consent date of last change not entered. if (subjectVO.getLinkSubjectStudy().getConsentDateOfLastChange() == null) { subjectVO.getLinkSubjectStudy().setConsentDateOfLastChange(new Date()); } try { studyService.createSubject(subjectVO); StringBuffer sb = new StringBuffer(); sb.append("The Subject with Subject UID: "); sb.append(subjectVO.getLinkSubjectStudy().getSubjectUID()); sb.append(" has been created successfully and linked to the study in context: "); sb.append(study.getName()); sb.append("."); if (study.getAutoConsent()) { sb.append(" The Subject has been automatically consented to the Study."); } onSavePostProcess(target); this.saveInformation(); //this.info(sb.toString()); // Set new Subject into context SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.SUBJECTUID, subjectVO.getLinkSubjectStudy().getSubjectUID()); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID, subjectVO.getLinkSubjectStudy().getPerson().getId()); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_TYPE, au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_SUBJECT); } catch (ArkUniqueException ex) { this.error("Subject UID must be unique."); } catch (ArkSubjectInsertException ex) { this.error(ex.getMessage()); } } else { boolean errorFlag = false; if (subjectStatusDdc.getModelObject().getName().equalsIgnoreCase("Archive")) { Biospecimen biospecimenCriteria = new Biospecimen(); biospecimenCriteria.setLinkSubjectStudy(containerForm.getModelObject().getLinkSubjectStudy()); biospecimenCriteria.setStudy(containerForm.getModelObject().getLinkSubjectStudy().getStudy()); // check no biospecimens exist long count = iLimsService.getBiospecimenCount(biospecimenCriteria); if (count > 0) { error("You cannot archive this subject as there are Biospecimens associated with it."); target.focusComponent(subjectStatusDdc); errorFlag = true; } } if (!errorFlag) { try { if (isLastNameChanged()) { confirmModal.setContent(new YesNoPanel(confirmModal.getContentId(), modalText.replace("#", subjectVO.getLinkSubjectStudy().getSubjectUID()) .replace("@", currentLastName).replace("$", lastNameTxtFld.getInput()), "Warning", confirmModal, confirmationAnswer)); confirmModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { subjectVO.setChangingLastName(confirmationAnswer.isAnswer()); try { studyService.updateSubject(subjectVO); } catch (ArkUniqueException | EntityNotFoundException e) { e.printStackTrace(); } StringBuffer sb = new StringBuffer(); sb.append("The Subject with Subject UID: "); sb.append(subjectVO.getLinkSubjectStudy().getSubjectUID()); sb.append(" has been updated successfully and linked to the study in context "); sb.append(study.getName()); target.add(lastNameTxtFld);//Refresh to updated value. onSavePostProcess(target); updateInformation(); } }); arkCrudContainerVO.getDetailPanelFormContainer().addOrReplace(confirmModal); confirmModal.show(target); } else { studyService.updateSubject(subjectVO); StringBuffer sb = new StringBuffer(); sb.append("The Subject with Subject UID: "); sb.append(subjectVO.getLinkSubjectStudy().getSubjectUID()); sb.append(" has been updated successfully and linked to the study in context "); sb.append(study.getName()); onSavePostProcess(target); this.updateInformation(); } //this.info(sb.toString()); } catch (ArkUniqueException e) { this.error("Subject UID must be unique."); } catch (EntityNotFoundException enf) { this.error("Cannot find the selected Subject."); } } } processErrors(target); }
From source file:au.org.theark.study.web.component.subject.form.DetailForm.java
License:Open Source License
@Override protected void onSave(Form<SubjectVO> containerForm, AjaxRequestTarget target) { target.add(arkCrudContainerVO.getDetailPanelContainer()); Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); if (studyId == null) { // No study in context this.error("There is no study selected. Please select a study to manage a subject."); processErrors(target);/* ww w.ja v a2 s .c o m*/ } else { //create warning messages for date data month >12 day > 31 ...etc createWarningForUnformattedDate(target, containerForm.getModelObject().getLinkSubjectStudy().getPerson().getDateOfBirth(), dateOfBirthTxtFld.getInput()); //create warning messages for last known alive createWarningForUnformattedDate(target, containerForm.getModelObject().getLinkSubjectStudy().getPerson().getDateLastKnownAlive(), dateLastKnownAliveTxtFld.getInput()); //create warning messages for date of death. createWarningForUnformattedDate(target, containerForm.getModelObject().getLinkSubjectStudy().getPerson().getDateOfDeath(), dateOfDeathInput); //create warning messages for date of consent date. createWarningForUnformattedDate(target, containerForm.getModelObject().getLinkSubjectStudy().getConsentDate(), consentDateTxtFld.getInput()); createWarningForLifeSpan(containerForm, target); study = iArkCommonService.getStudy(studyId); saveUpdateProcess(containerForm.getModelObject(), target); // String subjectPreviousLastname = iArkCommonService.getPreviousLastname(containerForm.getModelObject().getSubjectStudy().getPerson()); // containerForm.getModelObject().setSubjectPreviousLastname(subjectPreviousLastname); ContextHelper contextHelper = new ContextHelper(); contextHelper.resetContextLabel(target, arkContextMarkupContainer); contextHelper.setStudyContextLabel(target, study.getName(), arkContextMarkupContainer); contextHelper.setSubjectContextLabel(target, containerForm.getModelObject().getLinkSubjectStudy().getSubjectUID(), arkContextMarkupContainer); contextHelper.setSubjectNameContextLabel(target, containerForm.getModelObject().getLinkSubjectStudy().getPerson().getFullName(), arkContextMarkupContainer); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID, containerForm.getModelObject().getLinkSubjectStudy().getPerson().getId()); // We specify the type of person here as Subject SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_TYPE, au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_SUBJECT); arkCrudContainerVO.getDetailPanelContainer().setVisible(true); } }
From source file:au.org.theark.study.web.component.subject.form.SearchForm.java
License:Open Source License
/** * @param id/*from w w w . j a v a2s . co m*/ * @param cpmModel * @param arkContextMarkup * @param studyNameMarkup s * @param studyLogoMarkup */ public SearchForm(String id, CompoundPropertyModel<SubjectVO> cpmModel, PageableListView<SubjectVO> listView, FeedbackPanel feedBackPanel, ArkCrudContainerVO arkCrudContainerVO, WebMarkupContainer arkContextMarkup, WebMarkupContainer studyNameMarkup, WebMarkupContainer studyLogoMarkup) { // super(id, cpmModel); super(id, cpmModel, feedBackPanel, arkCrudContainerVO); this.cpmModel = cpmModel; //this.listView = listView; this.arkContextMarkup = arkContextMarkup; this.studyNameMarkup = studyNameMarkup; this.studyLogoMarkup = studyLogoMarkup; initialiseSearchForm(); addSearchComponentsToForm(); Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); disableSearchForm(sessionStudyId, "There is no study selected. Please select a study."); }
From source file:au.org.theark.study.web.component.subject.form.SearchForm.java
License:Open Source License
@SuppressWarnings("unchecked") private void initStudyDdc() { CompoundPropertyModel<SubjectVO> subjectCpm = cpmModel; PropertyModel<Study> studyPm = new PropertyModel<Study>(subjectCpm, "linkSubjectStudy.study"); ChoiceRenderer choiceRenderer = new ChoiceRenderer(Constants.NAME, Constants.ID); List<Study> studyListForUser = new ArrayList<Study>(0); try {/* w ww. j a v a 2s. c om*/ Subject currentUser = SecurityUtils.getSubject(); ArkUser arkUser = iArkCommonService.getArkUser(currentUser.getPrincipal().toString()); ArkUserVO arkUserVo = new ArkUserVO(); arkUserVo.setArkUserEntity(arkUser); //Long sessionArkModuleId = (Long) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY); //ArkModule arkModule = null; //arkModule = iArkCommonService.getArkModuleById(sessionArkModuleId); //studyListForUser = iArkCommonService.getStudyListForUserAndModule(arkUserVo, arkModule); Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); if (sessionStudyId != null) { studyListForUser = iArkCommonService.getParentAndChildStudies(sessionStudyId); cpmModel.getObject().setStudyList(studyListForUser); } } catch (EntityNotFoundException e) { log.error(e.getMessage()); } ChoiceRenderer<Study> studyRenderer = new ChoiceRenderer<Study>(Constants.NAME, Constants.ID); studyDdc = new DropDownChoice<Study>("study", studyPm, (List<Study>) studyListForUser, studyRenderer); studyDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { /** * */ private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID, studyDdc.getModelObject().getId()); ContextHelper contextHelper = new ContextHelper(); contextHelper.resetContextLabel(target, arkContextMarkup); contextHelper.setStudyContextLabel(target, studyDdc.getModelObject().getName(), arkContextMarkup); StudyHelper studyHelper = new StudyHelper(); studyHelper.setStudyLogo(studyDdc.getModelObject(), target, studyNameMarkup, studyLogoMarkup, iArkCommonService); target.add(SearchForm.this); } }); }
From source file:au.org.theark.study.web.component.subject.form.SearchForm.java
License:Open Source License
@SuppressWarnings("unchecked") protected void onNew(AjaxRequestTarget target) { // Disable SubjectUID if auto-generation set Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study studyInContext = iArkCommonService.getStudy(sessionStudyId); if ((studyInContext != null) && (studyInContext.getAutoGenerateSubjectUid())) { TextField<String> subjectUIDTxtFld = (TextField<String>) arkCrudContainerVO .getDetailPanelFormContainer().get(Constants.SUBJECT_UID); getModelObject().getLinkSubjectStudy().setSubjectUID(Constants.SUBJECT_AUTO_GENERATED); subjectUIDTxtFld.setEnabled(false); target.add(subjectUIDTxtFld);/*from ww w.j a va 2 s . c o m*/ } else { TextField<String> subjectUIDTxtFld = (TextField<String>) arkCrudContainerVO .getDetailPanelFormContainer().get(Constants.SUBJECT_UID); subjectUIDTxtFld.setEnabled(true); target.add(subjectUIDTxtFld); } // Available child studies List<Study> availableChildStudies = new ArrayList<Study>(0); if (studyInContext.getParentStudy() != null) { availableChildStudies = iStudyService.getChildStudyListOfParent(studyInContext); } getModelObject().setAvailableChildStudies(availableChildStudies); getModelObject().getLinkSubjectStudy().getPerson().getOtherIDs().clear(); if (!otherIDTxtFld.getValue().isEmpty()) { OtherID searchedOtherID = new OtherID(); searchedOtherID.setOtherID(otherIDTxtFld.getValue()); searchedOtherID.setPerson(cpmModel.getObject().getLinkSubjectStudy().getPerson()); getModelObject().getLinkSubjectStudy().getPerson().getOtherIDs().add(searchedOtherID); } preProcessDetailPanel(target); }
From source file:au.org.theark.study.web.component.subject.form.SearchForm.java
License:Open Source License
@Override protected void onBeforeRender() { Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(sessionStudyId); cpmModel.getObject().getLinkSubjectStudy().setStudy(study); boolean parentStudy = (study.getParentStudy() == null || (study.getParentStudy() == study)) && cpmModel.getObject().isEnableNewButton(); newButton.setEnabled(parentStudy);//from w w w.j a v a 2s . co m super.onBeforeRender(); }
From source file:au.org.theark.study.web.component.subject.SearchResultListPanel.java
License:Open Source License
private AjaxLink buildLink(final SubjectVO subject) { ArkBusyAjaxLink link = new ArkBusyAjaxLink(Constants.SUBJECT_UID) { @Override//w w w . ja v a 2s. c o m public void onClick(AjaxRequestTarget target) { Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); // subject.getLinkSubjectStudy().setStudy(iArkCommonService.getStudy(sessionStudyId)); // We specify the type of person here as Subject SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID, subject.getLinkSubjectStudy().getStudy().getId()); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID, subject.getLinkSubjectStudy().getPerson().getId()); SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_TYPE, au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_SUBJECT); SubjectVO subjectFromBackend = new SubjectVO(); Collection<SubjectVO> subjects = iArkCommonService.getSubject(subject); for (SubjectVO subjectVO2 : subjects) { subjectFromBackend = subjectVO2; break; } // Available/assigned child studies List<Study> availableChildStudies = new ArrayList<Study>(0); List<Study> selectedChildStudies = new ArrayList<Study>(0); if (subjectFromBackend.getLinkSubjectStudy().getStudy().getParentStudy() != null) { availableChildStudies = iStudyService .getChildStudyListOfParent(subjectFromBackend.getLinkSubjectStudy().getStudy()); selectedChildStudies = iArkCommonService.getAssignedChildStudyListForPerson( subjectFromBackend.getLinkSubjectStudy().getStudy(), subjectFromBackend.getLinkSubjectStudy().getPerson()); } ArkCRUDHelper.preProcessDetailPanelOnSearchResults(target, arkCrudContainerVO); subjectFromBackend.setStudyList(subjectContainerForm.getModelObject().getStudyList()); subjectContainerForm.setModelObject(subjectFromBackend); subjectContainerForm.getModelObject().setAvailableChildStudies(availableChildStudies); subjectContainerForm.getModelObject().setSelectedChildStudies(selectedChildStudies); // Set SubjectUID into context SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.SUBJECTUID, subjectFromBackend.getLinkSubjectStudy().getSubjectUID()); ContextHelper contextHelper = new ContextHelper(); contextHelper.setStudyContextLabel(target, subjectFromBackend.getLinkSubjectStudy().getStudy().getName(), arkContextMarkup); contextHelper.setSubjectContextLabel(target, subjectFromBackend.getLinkSubjectStudy().getSubjectUID(), arkContextMarkup); contextHelper.setSubjectNameContextLabel(target, subjectFromBackend.getLinkSubjectStudy().getPerson().getFullName(), arkContextMarkup); // Set Study Logo StudyHelper studyHelper = new StudyHelper(); studyHelper.setStudyLogo(subjectFromBackend.getLinkSubjectStudy().getStudy(), target, studyNameMarkup, studyLogoMarkup, iArkCommonService); } }; Label nameLinkLabel = new Label(Constants.SUBJECT_KEY_LBL, subject.getLinkSubjectStudy().getSubjectUID()); link.add(nameLinkLabel); return link; }