List of usage examples for org.apache.shiro SecurityUtils getSubject
public static Subject getSubject()
From source file:au.org.theark.phenotypic.web.component.phenodataupload.form.SearchForm.java
License:Open Source License
public SearchForm(String id, CompoundPropertyModel<UploadVO> model, PageableListView<Upload> listView, FeedbackPanel feedBackPanel, ArkCrudContainerVO arkCrudContainerVO) { super(id, model, feedBackPanel, arkCrudContainerVO); this.cpmModel = model; this.listView = listView; initialiseFieldForm();/* ww w. j ava 2 s. c o m*/ Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); disableSearchForm(sessionStudyId, "There is no study in context. Please select a study"); }
From source file:au.org.theark.phenotypic.web.component.phenodataupload.PhenoDataUploadContainerPanel.java
License:Open Source License
protected WebMarkupContainer initialiseSearchResults() { searchResultPanel = new SearchResultListPanel("searchResults", feedBackPanel, containerForm, arkCrudContainerVO);//w w w. j a v a 2s .c om iModel = new LoadableDetachableModel<Object>() { private static final long serialVersionUID = 1L; @Override protected Object load() { // Return all Uploads for the Study in context java.util.Collection<Upload> studyUploads = new ArrayList<Upload>(); Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); //if (isActionPermitted() && sessionStudyId != null) { TODO we need so make sure permission logic only occurs at the highest possible level if (sessionStudyId != null) { Upload studyUpload = new Upload(); studyUpload.setStudy(iArkCommonService.getStudy(sessionStudyId)); studyUpload.setArkFunction(arkFunction); studyUploads = iArkCommonService.searchUploads(studyUpload); } listView.removeAll(); return studyUploads; } }; listView = searchResultPanel.buildPageableListView(iModel); listView.setReuseItems(true); PagingNavigator pageNavigator = new PagingNavigator("navigator", listView); searchResultPanel.add(pageNavigator); searchResultPanel.add(listView); arkCrudContainerVO.getSearchResultPanelContainer().add(searchResultPanel); searchResultPanel.setVisible(true); return arkCrudContainerVO.getSearchResultPanelContainer(); }
From source file:au.org.theark.phenotypic.web.component.phenodataupload.PhenoDataUploadStep1.java
License:Open Source License
private void initQuestionnaireDdc() { Study study = null;//from w w w .j a v a2s . co m Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); if (sessionStudyId != null && sessionStudyId > 0) { study = iArkCommonService.getStudy(sessionStudyId); } else { log.error("\n\n\n can't have a null study and see pheno!"); } // Get a list of questionnaires for the subject in context by default PhenoDataSetGroup pfgForStudyCriteria = new PhenoDataSetGroup(); pfgForStudyCriteria.setStudy(study); ArkFunction arkFunction = iArkCommonService .getArkFunctionByName(au.org.theark.core.Constants.FUNCTION_KEY_VALUE_PHENO_COLLECTION); pfgForStudyCriteria.setArkFunction(arkFunction); pfgForStudyCriteria.setPublished(true); //make sure that we don't return non-published Questionnaires List<PhenoDataSetGroup> questionnaireList = iPhenotypicService.getPhenoDataSetGroups(pfgForStudyCriteria, 0, Integer.MAX_VALUE); ChoiceRenderer<PhenoDataSetGroup> choiceRenderer = new ChoiceRenderer<PhenoDataSetGroup>("name", "id"); questionnaireDdc = new DropDownChoice<PhenoDataSetGroup>("phenoDataSetGroup", (List<PhenoDataSetGroup>) questionnaireList, choiceRenderer); questionnaireDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") { protected void onUpdate(AjaxRequestTarget target) { List<PhenoDataSetField> phenoDataSetFields = iPhenotypicService .getAllPhenoDataSetFieldsLinkedToPhenoDataSetFieldGroup(questionnaireDdc.getModelObject()); if (phenoDataSetFields.size() > 0) { downloadTemplateButton.setEnabled(true); for (PhenoDataSetField phenoDataSetField : phenoDataSetFields) { PHENO_COLUMN_NAMES = (String[]) ArrayUtils.add(PHENO_COLUMN_NAMES, phenoDataSetField.getName()); PHENO_COLUMN_DESC = (String[]) ArrayUtils.add(PHENO_COLUMN_DESC, getUserFamiliardesc(phenoDataSetField)); } PHENO_TEMPLATE_CELLS2 = createPhenoTemplateCellArray(PHENO_COLUMN_NAMES, PHENO_COLUMN_DESC); PHENO_COLUMN_NAMES = null; PHENO_COLUMN_DESC = null; templatePanel.remove(downloadTemplateButton); initDownloadButton(PHENO_TEMPLATE_CELLS2, questionnaireDdc.getModelObject().getName()); templatePanel.add(downloadTemplateButton); target.add(downloadTemplateButton); target.add(templatePanel); } else { error("The DataSet not having any fields specified."); getWizardForm().onError(target, null); downloadTemplateButton.setEnabled(false); target.add(downloadTemplateButton); } } }); }
From source file:au.org.theark.phenotypic.web.component.phenodataupload.PhenoDataUploadStep1.java
License:Open Source License
private void saveFileInMemory(AjaxRequestTarget target) { Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(studyId); FileUpload fileUpload = fileUploadField.getFileUpload(); containerForm.getModelObject().setFileUpload(fileUpload); Payload payload = iArkCommonService.createPayload(fileUpload.getBytes()); containerForm.getModelObject().getUpload().setPayload(payload); String filename = containerForm.getModelObject().getFileUpload().getClientFileName(); String fileFormatName = filename.substring(filename.lastIndexOf('.') + 1).toUpperCase(); au.org.theark.core.model.study.entity.FileFormat fileFormat = new au.org.theark.core.model.study.entity.FileFormat(); fileFormat = iArkCommonService.getFileFormatByName(fileFormatName); byte[] byteArray = fileUpload.getMD5(); String checksum = getHex(byteArray); containerForm.getModelObject().getUpload().setStudy(study); containerForm.getModelObject().getUpload().setFileFormat(fileFormat); containerForm.getModelObject().getUpload().setChecksum(checksum); containerForm.getModelObject().getUpload().setFilename(filename); containerForm.getModelObject().getUpload().setStartTime(new Date(System.currentTimeMillis())); containerForm.getModelObject().getUpload().setArkFunction( iArkCommonService.getArkFunctionByName(Constants.FUNCTION_KEY_VALUE_FIELD_DATA_UPLOAD)); wizardForm.setFileName(filename);// w ww. jav a 2s .c o m containerForm.getModelObject().getUpload() .setUploadStatus(iArkCommonService.getUploadStatusFor(Constants.UPLOAD_STATUS_COMPLETED)); //TODO analyse how many times this is saved and where it should be saved try { iArkCommonService.createUpload(containerForm.getModelObject().getUpload()); containerForm.getModelObject().setPreviousStepOutCompleted(true); } catch (Exception e) { // TODO Auto-generated catch block error("There is a problem during the upload process."); getWizardForm().onError(target, null); } }
From source file:au.org.theark.phenotypic.web.component.phenodataupload.PhenoDataUploadStep4.java
License:Open Source License
@Override public void onStepOutNext(AbstractWizardForm<?> form, AjaxRequestTarget target) { form.getNextButton().setEnabled(false); target.add(form.getNextButton());//from w ww. j av a2s . c o m // Filename seems to be lost from model when moving between steps in wizard? is this a symptom of something greater? containerForm.getModelObject().getUpload().setFilename(wizardForm.getFileName()); String fileFormat = containerForm.getModelObject().getUpload().getFileFormat().getName(); char delimiterChar = containerForm.getModelObject().getUpload().getDelimiterType().getDelimiterCharacter(); try { List<String> uidsToUpload = containerForm.getModelObject().getUidsToUpload(); log.info("________________________________________________________" + "about to try passing list of uids is of size " + uidsToUpload.size()); InputStream inputStream = containerForm.getModelObject().getFileUpload().getInputStream(); long size = containerForm.getModelObject().getFileUpload().getSize(); Long uploadId = containerForm.getModelObject().getUpload().getId(); String report = generateInitialUploadReport(); Subject currentUser = SecurityUtils.getSubject(); Long studyId = (Long) currentUser.getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); PhenoDataSetCollection phenoCollectionCriteria = containerForm.getModelObject().getPhenoCollection(); PhenoDataSetGroup phenoDataSetGroup = containerForm.getModelObject().getPhenoDataSetGroup(); PhenoDataUploadExecutor task = new PhenoDataUploadExecutor(iArkCommonService, iPhenoService, inputStream, uploadId, //null user studyId, fileFormat, delimiterChar, size, report, uidsToUpload, phenoCollectionCriteria, phenoDataSetGroup, containerForm.getModelObject().getUpdateChkBox()); task.run(); } catch (Exception e1) { addOrReplace(new MultiLineLabel("multiLineLabel", "There is an issue during the data upload process.")); form.getNextButton().setEnabled(false); target.add(form.getWizardButtonContainer()); containerForm.getModelObject().setPreviousStepOutCompleted(false); } }
From source file:au.org.theark.phenotypic.web.component.phenofielduploader.form.SearchForm.java
License:Open Source License
/** * /* www. j a v a 2s .c o m*/ * @param id * @param model * @param arkCrudContainerVO * @param feedBackPanel * @param listView */ public SearchForm(String id, CompoundPropertyModel<PhenoDataSetFieldUploadVO> model, ArkCrudContainerVO arkCrudContainerVO, FeedbackPanel feedBackPanel, PageableListView<Upload> listView) { super(id, model, feedBackPanel, arkCrudContainerVO); this.cpmModel = model; this.listView = listView; initialiseFieldForm(); Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); disableSearchForm(sessionStudyId, "There is no study in context. Please select a study"); }
From source file:au.org.theark.phenotypic.web.component.phenofielduploader.form.SearchForm.java
License:Open Source License
@Override protected void onSearch(AjaxRequestTarget target) { target.add(feedbackPanel);//from w w w.ja va 2 s .c o m // Set study in context Long studyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); // Get a list of all Fields for the Study in context Study study = iArkCommonService.getStudy(studyId); Upload searchUpload = getModelObject().getUpload(); searchUpload.setStudy(study); searchUpload.setArkFunction( iArkCommonService.getArkFunctionByName(Constants.FUNCTION_KEY_VALUE_DATA_DICTIONARY)); Collection<Upload> uploadCollection = iArkCommonService.searchUploads(searchUpload); if (uploadCollection != null && uploadCollection.size() == 0) { this.info("Uploads with the specified criteria does not exist in the system."); target.add(feedbackPanel); } getModelObject().setUploadCollection(uploadCollection); listView.removeAll(); arkCrudContainerVO.getSearchResultPanelContainer().setVisible(true); target.add(arkCrudContainerVO.getSearchResultPanelContainer()); }
From source file:au.org.theark.phenotypic.web.component.phenofielduploader.PhenoDataSetCategoryFieldUploadStep4.java
License:Open Source License
@Override public void onStepOutNext(AbstractWizardForm<?> form, AjaxRequestTarget target) { // Filename seems to be lost from model when moving between steps in wizard containerForm.getModelObject().getUpload().setFilename(wizardForm.getFileName()); // Perform actual upload of data containerForm.getModelObject().getUpload().setStartTime(new Date(System.currentTimeMillis())); StringBuffer uploadReport = null; String filename = containerForm.getModelObject().getFileUpload().getClientFileName(); String fileFormat = filename.substring(filename.lastIndexOf('.') + 1).toUpperCase(); FileFormat fileFormatObj;//from w w w .jav a 2s . co m fileFormatObj = iArkCommonService.getFileFormatByName(fileFormat); containerForm.getModelObject().getUpload().setFileFormat(fileFormatObj); char delimiterChar = containerForm.getModelObject().getUpload().getDelimiterType().getDelimiterCharacter(); Subject currentUser = SecurityUtils.getSubject(); Long studyId = (Long) currentUser.getSession().getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); Study study = iArkCommonService.getStudy(studyId); UploadLevel uploadLevel = containerForm.getModelObject().getUpload().getUploadLevel(); Long sessionModuleId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY); containerForm.getModelObject().getUpload().setUploadType(iArkCommonService.getUploadTypeByModuleAndName( iArkCommonService.getArkModuleById(sessionModuleId), au.org.theark.phenotypic.web.component.phenofielduploader.Constants.UPLOAD_TYPE_CUSTOM_DATA_SETS)); ArkFunction adjustedArkFunctionForCustomField = null; // Field upload if (uploadLevel.getName().equalsIgnoreCase( au.org.theark.core.web.component.customfieldupload.Constants.UPLOAD_LEVEL_FIELD)) { adjustedArkFunctionForCustomField = iArkCommonService .getArkFunctionByName(au.org.theark.core.Constants.FUNCTION_KEY_VALUE_DATA_DICTIONARY); iPhenoImporter = new PhenoDataSetFieldImporter(study, adjustedArkFunctionForCustomField, iArkCommonService, iPhenotypicService, fileFormat, delimiterChar); } else if (uploadLevel.getName().equalsIgnoreCase( au.org.theark.core.web.component.customfieldupload.Constants.UPLOAD_LEVEL_CATEGORY)) { adjustedArkFunctionForCustomField = iArkCommonService .getArkFunctionByName(au.org.theark.core.Constants.FUNCTION_KEY_VALUE_DATA_CATEGORY); iPhenoImporter = new PhenoDataSetFieldCategoryImporter(study, adjustedArkFunctionForCustomField, iArkCommonService, iPhenotypicService, fileFormat, delimiterChar); } try { log.info("Uploading data dictionary file"); InputStream inputStream = containerForm.getModelObject().getFileUpload().getInputStream(); if (fileFormat.equalsIgnoreCase("XLS")) { Workbook w; try { w = Workbook.getWorkbook(inputStream); inputStream = iPhenoImporter.convertXlsToCsv(w); inputStream.reset(); } catch (BiffException e) { log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } } uploadReport = iPhenoImporter.uploadAndReportMatrixDataDictionaryFile(inputStream, containerForm.getModelObject().getFileUpload().getSize()); if (iPhenoImporter instanceof PhenoDataSetFieldCategoryImporter) containerForm.getModelObject().setPhenoFieldUploadCategoryCollection( ((PhenoDataSetFieldCategoryImporter) iPhenoImporter).getFieldUploadList()); else if (iPhenoImporter instanceof PhenoDataSetFieldImporter) { containerForm.getModelObject().setPhenoFieldUploadCollection( ((PhenoDataSetFieldImporter) iPhenoImporter).getFieldUploadList()); } } catch (FileFormatException ffe) { log.error(Constants.FILE_FORMAT_EXCEPTION + ffe); } catch (IOException ioe) { log.error(ioe.getMessage()); } catch (ArkSystemException ase) { log.error(ase.getMessage()); } // Update the report if (uploadReport != null) { updateUploadReport(uploadReport.toString()); } // Save all objects to the database save(iPhenoImporter); }
From source file:au.org.theark.phenotypic.web.menu.PhenotypicTabProviderImpl.java
License:Open Source License
public ITab createTab(final String tabName) { return new ArkMainTab(new Model<String>(tabName)) { private static final long serialVersionUID = -9077903025658028710L; @Override//from ww w . ja va2 s . c o m public Panel getPanel(String pid) { // The sub menu(s) return new PhenotypicSubMenuTab(pid, arkContextPanelMarkup); } public boolean isAccessible() { Long sessionStudyId = (Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID); if (sessionStudyId == null) { this.getPanel(au.org.theark.core.Constants.ARK_MODULE_PHENOTYPIC) .error(au.org.theark.core.Constants.NO_STUDY_IN_CONTEXT_MESSAGE); return false; } else return true; } public boolean isVisible() { return ArkPermissionHelper .isModuleAccessPermitted(au.org.theark.core.Constants.ARK_MODULE_PHENOTYPIC); } }; }
From source file:au.org.theark.registry.web.component.invoice.form.DetailForm.java
License:Open Source License
public void initialiseDetailForm() { name = new TextField<String>("name"); name.add(new ArkDefaultFormFocusBehavior()); description = new TextField<String>("description"); processResults = new ProcessResultListPanel("processResults", feedBackPanel, (ContainerForm) containerForm, arkCrudContainerVO);/* w w w . j a v a 2 s.c o m*/ // Data providor to paginate resultList processProvider = new ArkDataProvider<au.org.theark.core.model.geno.entity.Process, IArkCommonService>( iArkCommonService) { private static final long serialVersionUID = 1L; public int size() { Study study = iArkCommonService.getStudy((Long) SecurityUtils.getSubject().getSession() .getAttribute(au.org.theark.core.Constants.STUDY_CONTEXT_ID)); Pipeline p = containerForm.getModelObject(); au.org.theark.core.model.geno.entity.Process proc = model.getObject(); proc.setPipeline(p); return (int) service.getProcessCount(model.getObject()); } public Iterator<au.org.theark.core.model.geno.entity.Process> iterator(int first, int count) { List<au.org.theark.core.model.geno.entity.Process> list = new ArrayList<au.org.theark.core.model.geno.entity.Process>(); list = iArkCommonService.searchPageableProcesses(model.getObject(), first, count); return list.iterator(); } }; processProvider.setModel(new Model<au.org.theark.core.model.geno.entity.Process>( new au.org.theark.core.model.geno.entity.Process())); dataView = processResults.buildDataView(processProvider); dataView.setItemsPerPage(iArkCommonService.getRowsPerPage()); PagingNavigator pageNavigator = new PagingNavigator("navigator", dataView); processResults.add(pageNavigator); processResults.buildDataView(processProvider); resultsWmc.add(pageNavigator); resultsWmc.add(dataView); processResults.add(resultsWmc); attachValidators(); addDetailFormComponents(); }