List of usage examples for org.apache.shiro SecurityUtils getSubject
public static Subject getSubject()
From source file:au.org.theark.study.web.component.contact.AddressListPanel.java
License:Open Source License
/** * Initialize the data view relevant to phone list. *//*from ww w . j av a2s. c o m*/ private void initialiseDataview() { sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); /** * This is the address provider to the page able view. */ addressProvider = new ArkDataProvider<Address, IStudyService>(studyService) { private static final long serialVersionUID = 1L; private List<Address> listAddress; private List<Address> listAddressForSize; public int size() { try { if (sessionPersonId != null) { person = studyService.getPerson(sessionPersonId); containerForm.getModelObject().getAddressVo().getAddress().setPerson(person); listAddressForSize = studyService.getPersonAddressList(sessionPersonId, containerForm.getModelObject().getAddressVo().getAddress()); return listAddressForSize.size(); } else { return 0; } } catch (ArkSystemException e) { e.printStackTrace(); return 0; } catch (EntityNotFoundException e) { e.printStackTrace(); return 0; } } public Iterator<? extends Address> iterator(int first, int count) { listAddress = studyService.pageablePersonAddressList(sessionPersonId, containerForm.getModelObject().getAddressVo().getAddress(), first, count); return listAddress.iterator(); } }; /** * This is the address provider with subject uid. for export report. */ addressSubjectProvider = new ArkDataProvider<AddressSubjectVO, IStudyService>(studyService) { private static final long serialVersionUID = 1L; private List<Address> listAddress; private List<Address> listAddressForSize; public int size() { try { if (sessionPersonId != null) { person = studyService.getPerson(sessionPersonId); containerForm.getModelObject().getAddressVo().getAddress().setPerson(person); listAddressForSize = studyService.getPersonAddressList(sessionPersonId, containerForm.getModelObject().getAddressVo().getAddress()); return listAddressForSize.size(); } else { return 0; } } catch (ArkSystemException e) { e.printStackTrace(); return 0; } catch (EntityNotFoundException e) { e.printStackTrace(); return 0; } } public Iterator<? extends AddressSubjectVO> iterator(int first, int count) { listAddress = studyService.pageablePersonAddressList(sessionPersonId, containerForm.getModelObject().getAddressVo().getAddress(), first, count); List<AddressSubjectVO> addressVoList = new ArrayList<AddressSubjectVO>(); for (Address address : listAddress) { String sessionSubjectUId = SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID).toString(); addressVoList.add(new AddressSubjectVO(address, sessionSubjectUId)); } return addressVoList.iterator(); } }; addressProvider.setModel(Model.of(containerForm.getModelObject().getAddressVo().getAddress())); dataViewAddress = buildDataView(addressProvider); dataViewAddress.setItemsPerPage(iArkCommonService.getRowsPerPage()); dataViewAddressSubjectVO = buildDataViewWithSubjectStudyID(addressSubjectProvider); AjaxPagingNavigator pageNavigator = new AjaxPagingNavigator("addressNavigator", dataViewAddress); add(pageNavigator); List<IColumn<AddressSubjectVO>> columns = new ArrayList<IColumn<AddressSubjectVO>>(); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("Subjetc UID"), "subjectUID")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("Street Address"), "streetAddress")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("City"), "city")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("State"), "state.name")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("Post Code"), "postCode")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("Country"), "country.name")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("Address Type"), "addressType.name")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("DateReceived"), "dateReceived")); columns.add(new ExportableTextColumn<AddressSubjectVO>(Model.of("Preferred Mailing Address"), "preferredMailingAddress")); DataTable table = new DataTable("datatable", columns, dataViewAddressSubjectVO.getDataProvider(), iArkCommonService.getRowsPerPage()); List<String> headers = new ArrayList<String>(0); headers.add("Subject UID:"); headers.add("Street Address:"); headers.add("City:"); headers.add("State:"); headers.add("Post Code:"); headers.add("Country:"); headers.add("Address Type:"); headers.add("DateReceived:"); headers.add("Preferred Mailing Address:"); String filename = sessionPersonId != null ? String.valueOf(sessionPersonId) + "_addressList" : "unknown" + "_addressList"; RepeatingView toolbars = new RepeatingView("toolbars"); //Disable the tool bar if session person not exsists. if (sessionPersonId == null) { toolbars.setEnabled(false); } else { toolbars.setEnabled(true); } ExportToolbar<String> exportToolBar = new ExportToolbar<String>(table, headers, filename); toolbars.add(new Component[] { exportToolBar }); add(toolbars); add(dataViewAddress); }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
/** * Initialize phone button./*from www .j a va 2 s . c o m*/ */ private void initialiseNewPhoneButton() { newPhoneButton = new ArkBusyAjaxButton("newPhoneButton") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { boolean isVisible = true; String sessionSubjectUID = (String) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID); isVisible = (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.NEW) && sessionSubjectUID != null); return isVisible; } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Session.get().cleanupFeedbackMessages(); target.add(feedBackPanel); onPhoneNew(target); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { this.error("An unexpected error occurred. Unable to proceed with new."); } }; newPhoneButton.setDefaultFormProcessing(false); arkCrudContainerVO.getSearchResultPanelContainer().add(newPhoneButton); }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
/** * Initialize address button.//from w ww. j a va 2s . co m */ private void initialiseNewAddressButton() { newAddressButton = new ArkBusyAjaxButton("newAddressButton") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { boolean isVisible = true; String sessionSubjectUID = (String) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID); isVisible = (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.NEW) && sessionSubjectUID != null); return isVisible; } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Session.get().cleanupFeedbackMessages(); target.add(feedBackPanel); onAddressNew(target); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { this.error("An unexpected error occurred. Unable to proceed with new."); } }; newAddressButton.setDefaultFormProcessing(false); arkCrudContainerVO.getSearchResultPanelContainer().add(newAddressButton); }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
/** * Initialize email button./* w w w. j av a2 s. c o m*/ */ private void initialiseNewEmailButton() { newEmailButton = new ArkBusyAjaxButton("newEmailButton") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { boolean isVisible = true; String sessionSubjectUID = (String) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID); isVisible = (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.NEW) && sessionSubjectUID != null); return isVisible; } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Session.get().cleanupFeedbackMessages(); target.add(feedBackPanel); onEmailNew(target); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { this.error("An unexpected error occurred. Unable to proceed with new."); } }; newEmailButton.setDefaultFormProcessing(false); arkCrudContainerVO.getSearchResultPanelContainer().add(newEmailButton); }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
/** * <pre> set the form details before showing to the user. *//*from w w w . j a v a 2s . com*/ private void preSetAdddressFormBeforeVisible() { AddressVO addressVo = cpModel.getObject().getAddressVo(); if (addressVo.getAddress() == null || addressVo.getAddress().getCountry() == null) { // final List<Country> countryList = iArkCommonService.getCountries(); setDefaultCountry(); } // Force new address to be preferred if totally new address Long sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); try { addressVo.setAddresses(studyService.getPersonAddressList(sessionPersonId, null)); } catch (ArkSystemException e) { e.printStackTrace(); } if (addressVo.getAddresses().size() == 0) { addressVo.getAddress().setPreferredMailingAddress(true); } updateDetailFormPrerender(addressVo.getAddress()); }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
/** * // w w w . j av a 2 s. c o m * @return */ protected boolean prerenderContextCheck() { // Get the Study, SubjectUID and ArkModule from Context Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); String sessionSubjectUID = (String) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID); Long sessionArkModuleId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY); boolean contextLoaded = false; if ((sessionStudyId != null) && (sessionSubjectUID != null)) { LinkSubjectStudy linkSubjectStudy = null; ArkModule arkModule = null; Study study = null; try { study = iArkCommonService.getStudy(sessionStudyId); linkSubjectStudy = iArkCommonService.getSubjectByUID(sessionSubjectUID, study); arkModule = iArkCommonService.getArkModuleById(sessionArkModuleId); // cpModel.getObject().setArkModule(arkModule); if (study != null && linkSubjectStudy != null && arkModule != null) { contextLoaded = true; } } catch (EntityNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return contextLoaded; }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
/** * <pre> set the form details before showing to the user. *///from ww w . j ava 2 s . c o m private void preSetPhoneFormBeforeVisible() { PhoneVO phoneVo = cpModel.getObject().getPhoneVo(); // Force new address to be preferred if totally new address Long sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); try { phoneVo.setPhoneList(studyService.getPersonPhoneList(sessionPersonId, null)); } catch (ArkSystemException e) { e.printStackTrace(); } if (phoneVo.getPhoneList().size() == 0) { phoneVo.getPhone().setPreferredPhoneNumber(true); } }
From source file:au.org.theark.study.web.component.contact.ContactContainerPanel.java
License:Open Source License
private void preSetEmailFormBeforeVisible() { EmailAccountVo emailVo = cpModel.getObject().getEmailAccountVo(); // Force new address to be preferred if totally new address Long sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); try {/*from ww w.ja v a 2s . c o m*/ emailVo.setEmailAccountList(studyService.getPersonEmailAccountList(sessionPersonId)); } catch (ArkSystemException e) { e.printStackTrace(); } if (emailVo.getEmailAccountList().size() == 0) { emailVo.getEmailAccount().setPrimaryAccount(true); } }
From source file:au.org.theark.study.web.component.contact.form.AddressDetailForm.java
License:Open Source License
@Override protected void onSave(Form<ContactVO> containerForm, AjaxRequestTarget target) { Long personSessionId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); StringBuffer feedBackMessageStr = new StringBuffer(); // Get the person and set it on the AddressVO. try {/* w w w . j ava 2s . c om*/ Person person = iStudyService.getPerson(personSessionId); List<State> statesForThisCountry = iArkCommonService .getStates(containerForm.getModelObject().getAddressVo().getAddress().getCountry()); if (statesForThisCountry.isEmpty()) { containerForm.getModelObject().getAddressVo().getAddress().setState(null); } else { containerForm.getModelObject().getAddressVo().getAddress().setOtherState(null); } WebMarkupContainer wmcStateSelector = (WebMarkupContainer) arkCrudContainerVO.getDetailPanelContainer() .get("addressDetailPanel").get("addressDetailsForm").get("addressDetailFormContainer") .get(Constants.STATE_SELECTOR_WMC); Label otherStateInvalidError = (Label) wmcStateSelector.get("addressVo.address.otherStateInvalidError"); otherStateInvalidError.setVisible(false); containerForm.getModelObject().getAddressVo().getAddress().setPerson(person); if (containerForm.getModelObject().getAddressVo().getAddress().getId() == null) { if (containerForm.getModelObject().getAddressVo().getAddress().getPreferredMailingAddress()) { // Update any other preferredMailingAddresses to false iStudyService.setPreferredMailingAdressToFalse(person); } iStudyService.create(containerForm.getModelObject().getAddressVo().getAddress()); this.saveInformation(); //feedBackMessageStr.append("Address was successfully added and linked to Subject: "); } else { if (containerForm.getModelObject().getAddressVo().getAddress().getPreferredMailingAddress()) { // Update any other preferredMailingAddresses to false iStudyService.setPreferredMailingAdressToFalse(person); } iStudyService.update(containerForm.getModelObject().getAddressVo().getAddress()); this.updateInformation(); //feedBackMessageStr.append("Address was successfully updated and linked to Subject: "); } /*if (person.getFirstName() != null && person.getLastName() != null) { feedBackMessageStr.append(person.getFirstName() + " " + person.getLastName()); } else { Long studyId = (Long) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(studyId); String uid = iArkCommonService.getSubject(person.getId(), study).getSubjectUID(); feedBackMessageStr.append(uid); } this.info(feedBackMessageStr.toString());*/ processErrors(target); onSavePostProcess(target); // Invoke backend to persist the AddressVO } catch (EntityNotFoundException e) { this.error( "The specified subject is not available any more in the system. Please re-do the operation."); } catch (ArkSystemException e) { this.error("A system error has occurred. Please contact the system administrator."); } }
From source file:au.org.theark.study.web.component.contact.form.PhoneDetailForm.java
License:Open Source License
@Override protected void onSave(Form<ContactVO> containerForm, AjaxRequestTarget target) { // Persist the phone number to the backend, associate the person in context with the phone object Long personSessionId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); // Get the person and set it on the Phone object. try {/*from www. jav a2s . com*/ //boolean saveOk = true; Person person = studyService.getPerson(personSessionId); containerForm.getModelObject().getPhoneVo().getPhone().setPerson(person); //if (saveOk) { // Ok to save... String personType = (String) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_TYPE); if (personType != null && personType.equalsIgnoreCase(au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_SUBJECT)) { Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(studyId); LinkSubjectStudy subjectInContext = iArkCommonService.getSubject(personSessionId, study);// This is fetched basically to display the // message along with the Subject UID or Contact ID if (containerForm.getModelObject().getPhoneVo().getPhone().getId() == null) { if (containerForm.getModelObject().getPhoneVo().getPhone().getPreferredPhoneNumber()) { // Update any other preferredPhoneNumber to false studyService.setPreferredPhoneNumberToFalse(person); } studyService.create(containerForm.getModelObject().getPhoneVo().getPhone()); this.saveInformation(); //this.info("Phone number was added and linked to Subject UID: " + subjectInContext.getSubjectUID()); } else { if (containerForm.getModelObject().getPhoneVo().getPhone().getPreferredPhoneNumber()) { // Update any other preferredMailingAddresses to false studyService.setPreferredPhoneNumberToFalse(person); } studyService.update(containerForm.getModelObject().getPhoneVo().getPhone()); this.updateInformation(); //this.info("Phone number was updated and linked to Subject UID: " + subjectInContext.getSubjectUID()); } } else if (personType != null && personType.equalsIgnoreCase(au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_CONTACT)) { // TODO: Contact Interface implementation } processErrors(target); onSavePostProcess(target); //} /*else { processErrors(target); }*/ } catch (ArkUniqueException aue) { this.error(aue.getMessage()); } catch (EntityNotFoundException e) { this.error("The Subject/Participant is no longer available in the system."); } catch (ArkSystemException e) { this.error("A system exception has occurred. Please contact the system administrator."); } }