List of usage examples for org.apache.shiro SecurityUtils getSubject
public static Subject getSubject()
From source file:au.org.theark.study.web.component.contact.PhoneListPanel.java
License:Open Source License
/** * Initialize the data view relevant to phone list. *///ww w. ja v a2 s .c o m private void initialiseDataview() { dataContainer = new WebMarkupContainer("dataContainer"); dataContainer.setOutputMarkupId(true); sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); /** * phone Provider for the pageable list. */ phoneProvider = new ArkDataProvider<Phone, IStudyService>(studyService) { private static final long serialVersionUID = 1L; private List<Phone> listPhoneForSize; private List<Phone> listPhone; public int size() { try { if (sessionPersonId != null) { person = studyService.getPerson(sessionPersonId); containerForm.getModelObject().getPhoneVo().getPhone().setPerson(person); listPhoneForSize = studyService.getPersonPhoneList(sessionPersonId, containerForm.getModelObject().getPhoneVo().getPhone()); return listPhoneForSize.size(); } else { return 0; } } catch (ArkSystemException e) { e.printStackTrace(); return 0; } catch (EntityNotFoundException e) { e.printStackTrace(); return 0; } } public Iterator<Phone> iterator(int first, int count) { listPhone = studyService.pageablePersonPhoneList(sessionPersonId, containerForm.getModelObject().getPhoneVo().getPhone(), first, count); return listPhone.iterator(); } }; /** * Subject phone provider for to include the subject id. */ subjectPhoneProvider = new ArkDataProvider<PhoneSubjectVO, IStudyService>(studyService) { private static final long serialVersionUID = 1L; private List<Phone> listPhoneForSize; private List<Phone> listPhone; public int size() { try { if (sessionPersonId != null) { person = studyService.getPerson(sessionPersonId); containerForm.getModelObject().getPhoneVo().getPhone().setPerson(person); listPhoneForSize = studyService.getPersonPhoneList(sessionPersonId, containerForm.getModelObject().getPhoneVo().getPhone()); return listPhoneForSize.size(); } else { return 0; } } catch (ArkSystemException e) { e.printStackTrace(); return 0; } catch (EntityNotFoundException e) { e.printStackTrace(); return 0; } } public Iterator<PhoneSubjectVO> iterator(int first, int count) { listPhone = studyService.pageablePersonPhoneList(sessionPersonId, containerForm.getModelObject().getPhoneVo().getPhone(), first, count); List<PhoneSubjectVO> phoneVoList = new ArrayList<PhoneSubjectVO>(); for (Phone phone : listPhone) { String sessionSubjectUId = SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID).toString(); phoneVoList.add(new PhoneSubjectVO(phone, sessionSubjectUId)); } return phoneVoList.iterator(); } }; phoneProvider.setModel(Model.of(containerForm.getModelObject().getPhoneVo().getPhone())); dataViewPhone = buildDataView(phoneProvider); dataViewPhoneSubject = buildDataViewWithStudySubjectID(subjectPhoneProvider); AjaxPagingNavigator pageNavigator = new AjaxPagingNavigator("phoneNavigator", dataViewPhone) { private static final long serialVersionUID = 1L; @Override protected void onAjaxEvent(AjaxRequestTarget target) { target.add(dataContainer); } }; dataContainer.add(pageNavigator); List<IColumn<PhoneSubjectVO>> exportColumns = new ArrayList<IColumn<PhoneSubjectVO>>(); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Subject UID"), "subjectUID")); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("ID"), "id")); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Area Code"), "areaCode")); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Phone Number"), "phoneNumber")); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Phone Type"), "phone.phoneType.name")); exportColumns .add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Phone Status"), "phone.phoneStatus.name")); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Phone Valid From"), "validFrom")); exportColumns.add(new ExportableTextColumn<PhoneSubjectVO>(Model.of("Phone Valid To"), "validTo")); DataTable exportTable = new DataTable("datatable", exportColumns, dataViewPhoneSubject.getDataProvider(), iArkCommonService.getRowsPerPage()); List<String> headers = new ArrayList<String>(0); headers.add("Subject UID:"); headers.add("ID:"); headers.add("Area Code:"); headers.add("Phone Number:"); headers.add("Phone Type:"); headers.add("Phone Status:"); headers.add("Phone Valid From:"); headers.add("Phone Valid To:"); String filename = sessionPersonId != null ? String.valueOf(sessionPersonId) + "_phoneNumberList" : "unknown" + "_phoneNumberList"; 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>(exportTable, headers, filename); toolbars.add(new Component[] { exportToolBar }); dataContainer.add(toolbars); dataContainer.add(dataViewPhone); add(dataContainer); }
From source file:au.org.theark.study.web.component.correspondence.CorrespondenceContainerPanel.java
License:Open Source License
@Override protected WebMarkupContainer initialiseSearchPanel() { // get the person in context Long sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); // todo remove / evaluate unused code // String sessionPersonType = (String) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.PERSON_TYPE); try {// w w w . j a v a 2 s . co m // initialize the correspondence list Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = commonService.getStudy(studyId); Collection<Correspondences> personCorrespondenceList = new ArrayList<Correspondences>(); // can be a subject or contact LinkSubjectStudy lss = null; if (sessionPersonId != null) { lss = studyService.getSubjectLinkedToStudy(sessionPersonId, study); containerForm.getModelObject().getCorrespondence().setLss(lss); //this would only serve as convenience and source of integrity break containerForm.getModelObject().getCorrespondence().setStudy(study); personCorrespondenceList = studyService.getCorrespondenceList(lss, containerForm.getModelObject().getCorrespondence()); } // add the corresponden\ce items related to the person if one found in session, or an empty list cpModel.getObject().setCorrespondenceList(personCorrespondenceList); searchPanel = new SearchPanel("searchPanel", feedBackPanel, pageableListView, arkCrudContainerVO); searchPanel.initialisePanel(cpModel); arkCrudContainerVO.getSearchPanelContainer().add(searchPanel); } catch (EntityNotFoundException ex) { ex.printStackTrace(); } catch (ArkSystemException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } return arkCrudContainerVO.getSearchPanelContainer(); }
From source file:au.org.theark.study.web.component.correspondence.CorrespondenceContainerPanel.java
License:Open Source License
@Override protected WebMarkupContainer initialiseSearchResults() { SearchResultListPanel searchResultPanel = new SearchResultListPanel("searchResults", containerForm, arkCrudContainerVO);/*from ww w . j a va 2s . c o m*/ iModel = new LoadableDetachableModel<Object>() { private static final long serialVersionUID = 1L; @Override protected Object load() { // get the personId in session and get the correspondenceList from the backend Collection<Correspondences> correspondenceList = new ArrayList<Correspondences>(); Long sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = commonService.getStudy(studyId); LinkSubjectStudy lss = null; try { if (isActionPermitted()) { if (sessionPersonId != null) { lss = studyService.getSubjectLinkedToStudy(sessionPersonId, study); //containerForm.getModelObject().getCorrespondence().setStudy(study); correspondenceList = studyService.getCorrespondenceList(lss, containerForm.getModelObject().getCorrespondence()); } } } catch (ArkSystemException ex) { ex.printStackTrace(); } catch (EntityNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } pageableListView.removeAll(); return correspondenceList; } }; pageableListView = searchResultPanel.buildPageableListView(iModel); pageableListView.setReuseItems(true); PagingNavigator pageNavigator = new PagingNavigator("correspondenceNavigator", pageableListView); searchResultPanel.add(pageNavigator); searchResultPanel.add(pageableListView); arkCrudContainerVO.getSearchResultPanelContainer().add(searchResultPanel); return arkCrudContainerVO.getSearchResultPanelContainer(); }
From source file:au.org.theark.study.web.component.correspondence.form.DetailForm.java
License:Open Source License
private void initialiseOperatorDropDown() { Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(sessionStudyId); Collection<ArkUser> coll = studyService.lookupArkUser(study); List<ArkUser> list = new ArrayList<ArkUser>(coll); ChoiceRenderer<ArkUser> defaultRenderer = new ChoiceRenderer<ArkUser>("ldapUserName", "id"); operatorChoice = new DropDownChoice<ArkUser>("correspondence.operator", list, defaultRenderer); }
From source file:au.org.theark.study.web.component.correspondence.form.DetailForm.java
License:Open Source License
private void initBillableItemTypeDropDown() { BillableItemType billableItemType = new BillableItemType(); Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); billableItemType.setStudyId(studyId); List<BillableItemTypeStatus> billableItemTypeStatusses = iWorkTrackingService.getBillableItemTypeStatuses(); for (BillableItemTypeStatus status : billableItemTypeStatusses) { if (au.org.theark.worktracking.util.Constants.BILLABLE_ITEM_TYPE_ACTIVE .equalsIgnoreCase(status.getName())) { billableItemType.setBillableItemTypeStatus(status); break; }//from w w w . j av a 2s . c om } List<BillableItemType> billableItemTypeList = iWorkTrackingService.searchBillableItemType(billableItemType); ChoiceRenderer defaultChoiceRenderer = new ChoiceRenderer( au.org.theark.worktracking.util.Constants.BIT_ITEM_NAME, Constants.ID); billableItemItemTypes = new DropDownChoice("billableItemType", billableItemTypeList, defaultChoiceRenderer); }
From source file:au.org.theark.study.web.component.correspondence.form.DetailForm.java
License:Open Source License
private void initWorkRequestDropDown() { WorkRequest workRequest = new WorkRequest(); Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); workRequest.setStudyId(studyId);//from w w w. j a va 2s. c o m List<WorkRequestStatus> requestStatusList = iWorkTrackingService.getWorkRequestStatuses(); for (WorkRequestStatus status : requestStatusList) { if ("Commenced".equalsIgnoreCase(status.getName())) { workRequest.setRequestStatus(status); break; } } List<WorkRequest> workRequestList = iWorkTrackingService.searchWorkRequest(workRequest); ChoiceRenderer defaultChoiceRenderer = new ChoiceRenderer(au.org.theark.worktracking.util.Constants.NAME, Constants.ID); billableItemWorkRequests = new DropDownChoice("workRequest", workRequestList, defaultChoiceRenderer); }
From source file:au.org.theark.study.web.component.correspondence.form.DetailForm.java
License:Open Source License
@Override protected void onSave(Form<CorrespondenceVO> containerForm, AjaxRequestTarget target) { CorrespondenceVO correspondenceVO = containerForm.getModelObject(); if (correspondenceVO.getCorrespondence().getId() == null) { if ((correspondenceVO.getWorkRequest() == null && correspondenceVO.getBillableItemType() != null)) { this.error("Work request must be set if a billable item type is specified"); processErrors(target);/*from www. ja v a 2 s . c o m*/ return; } if (correspondenceVO.getWorkRequest() != null && correspondenceVO.getBillableItemType() == null) { this.error("Billable item type must be set if a work request is specified"); processErrors(target); return; } } if (containerForm.getModelObject().getWorkRequest() != null && containerForm.getModelObject().getBillableItemType() != null) { BillableItem billableItem = createAutomatedBillableItem(); containerForm.getModelObject().getCorrespondence().setBillableItem(billableItem); } Long personSessionId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); // get the person and set it on the correspondence object try { // set the Person in context //Person person = studyService.getPerson(personSessionId); // set the Study in context Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(studyId); LinkSubjectStudy lss = studyService.getSubjectLinkedToStudy(personSessionId, study); containerForm.getModelObject().getCorrespondence().setLss(lss); //containerForm.getModelObject().getCorrespondence().setStudy(study); if (containerForm.getModelObject().getCorrespondence().getId() == null) { // store correspondence file attachment if (fileUploadField != null && fileUploadField.getFileUpload() != null) { FileUpload fileUpload = fileUploadField.getFileUpload(); byte[] byteArray = fileUpload.getMD5(); String checksum = getHex(byteArray); containerForm.getModelObject().getCorrespondence().setAttachmentPayload(fileUpload.getBytes()); containerForm.getModelObject().getCorrespondence() .setAttachmentFilename(fileUpload.getClientFileName()); containerForm.getModelObject().getCorrespondence().setAttachmentChecksum(checksum); } // save studyService.create(containerForm.getModelObject().getCorrespondence()); this.saveInformation(); //this.info("Correspondence was successfully added and linked to subject: " + lss.getSubjectUID()); processErrors(target); } else { // store correspondence file attachment String checksum = null; if (fileUploadField != null && fileUploadField.getFileUpload() != null) { // retrieve file and store as Blob in database FileUpload fileUpload = fileUploadField.getFileUpload(); byte[] byteArray = fileUpload.getMD5(); checksum = getHex(byteArray); containerForm.getModelObject().getCorrespondence().setAttachmentPayload(fileUpload.getBytes()); containerForm.getModelObject().getCorrespondence() .setAttachmentFilename(fileUpload.getClientFileName()); // containerForm.getModelObject().getCorrespondence().setAttachementChecksum(checksum); } try { studyService.update(containerForm.getModelObject().getCorrespondence(), checksum); } catch (ArkFileNotFoundException e) { this.error("The file could not be found."); ; } this.updateInformation(); //this.info("Correspondence was successfully updated and linked to subject: " + lss.getSubjectUID()); processErrors(target); } // invoke backend to persist the correspondence workTrackingContainer.setVisible(false); onSavePostProcess(target); } catch (EntityNotFoundException ex) { ex.printStackTrace(); } catch (ArkSystemException ex) { ex.printStackTrace(); } }
From source file:au.org.theark.study.web.component.correspondence.form.DetailForm.java
License:Open Source License
/** * Create the automated billable item when user has selected the work request and billable item type. */// w w w. j a v a 2s.c om private BillableItem createAutomatedBillableItem() { // Create new billable Item BillableItem billableItem = new BillableItem(); billableItem.setType(au.org.theark.worktracking.util.Constants.BILLABLE_ITEM_AUTOMATED); billableItem.setWorkRequest(containerForm.getModelObject().getWorkRequest()); billableItem.setBillableItemType(containerForm.getModelObject().getBillableItemType()); Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); billableItem.setStudyId(studyId); billableItem.setQuantity(1d); billableItem.setItemCost(containerForm.getModelObject().getBillableItemType().getUnitPrice()); billableItem.setTotalCost(BillableItemCostCalculator.calculateItemCost(billableItem)); String subjectId = SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.SUBJECTUID).toString(); billableItem.setDescription("Automated - Subject Id " + subjectId); billableItem.setInvoice(au.org.theark.worktracking.util.Constants.N); billableItem.setCommenceDate(containerForm.getModelObject().getCorrespondence().getDate()); // Save newly created object iWorkTrackingService.createBillableItem(billableItem); // reset workrequest and billable item type containerForm.getModelObject().setWorkRequest(null); containerForm.getModelObject().setBillableItemType(null); return billableItem; }
From source file:au.org.theark.study.web.component.correspondence.form.SearchForm.java
License:Open Source License
public SearchForm(String id, CompoundPropertyModel<CorrespondenceVO> model, PageableListView<Correspondences> listView, FeedbackPanel feedBackPanel, ArkCrudContainerVO arkCrudContainerVO) { super(id, model, feedBackPanel, arkCrudContainerVO); this.feedbackPanel = feedBackPanel; this.pageableListView = listView; Label generalTextLbl = new Label("generalLbl", new StringResourceModel("search.panel.text", new Model())); add(generalTextLbl);//from w w w . ja v a2 s . c om // initialiseSearchForm();// See Ark-374, if in future we need it uncomment this and uncomment a section of code in the markup resetButton.setVisible(false); searchButton.setVisible(false); Long sessionPersonId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID); disableSearchForm(sessionPersonId, au.org.theark.core.Constants.MESSAGE_NO_SUBJECT_IN_CONTEXT); }
From source file:au.org.theark.study.web.component.correspondence.form.SearchForm.java
License:Open Source License
private void initialiseOperatorDropDown() { Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(sessionStudyId); Collection<ArkUser> coll = studyService.lookupArkUser(study); List<ArkUser> list = new ArrayList<ArkUser>(coll); ChoiceRenderer<ArkUser> defaultRenderer = new ChoiceRenderer<ArkUser>("ldapUserName", "id"); operatorChoice = new DropDownChoice<ArkUser>("correspondence.operator", list, defaultRenderer); }