use of org.springframework.ui.Model in project goci by EBISPOT.
the class AssociationController method addMultiSnps.
@RequestMapping(value = "/studies/{studyId}/associations/add_multi", produces = MediaType.TEXT_HTML_VALUE, method = RequestMethod.POST)
public String addMultiSnps(@ModelAttribute("form") @Valid SnpAssociationStandardMultiForm snpAssociationStandardMultiForm, BindingResult bindingResult, @PathVariable Long studyId, Model model, @RequestParam(required = true) String measurementType, HttpServletRequest request) throws EnsemblMappingException {
Study study = studyRepository.findOne(studyId);
model.addAttribute("study", study);
model.addAttribute("measurementType", measurementType);
// Binding vs Validator issue. File: messages.properties
if (bindingResult.hasErrors()) {
model.addAttribute("form", snpAssociationStandardMultiForm);
return "add_multi_snp_association";
}
// Check for errors in form that would prevent saving an association
List<AssociationValidationView> rowErrors = associationOperationsService.checkSnpAssociationFormErrors(snpAssociationStandardMultiForm, measurementType);
if (!rowErrors.isEmpty()) {
model.addAttribute("errors", rowErrors);
model.addAttribute("form", snpAssociationStandardMultiForm);
model.addAttribute("criticalErrorsFound", true);
return "add_multi_snp_association";
} else {
// Create an association object from details in returned form
Association newAssociation = singleSnpMultiSnpAssociationService.createAssociation(snpAssociationStandardMultiForm);
// Save and validate form
String eRelease = ensemblRestTemplateService.getRelease();
Collection<AssociationValidationView> errors = null;
try {
errors = associationOperationsService.saveAssociationCreatedFromForm(study, newAssociation, currentUserDetailsService.getUserFromRequest(request), eRelease);
} catch (EnsemblMappingException e) {
return "ensembl_mapping_failure";
}
// Determine if we have any errors rather than warnings
long errorCount = errors.stream().filter(validationError -> !validationError.getWarning()).count();
if (errorCount > 0) {
model.addAttribute("errors", errors);
model.addAttribute("form", snpAssociationStandardMultiForm);
model.addAttribute("criticalErrorsFound", true);
return "add_multi_snp_association";
} else {
return "redirect:/associations/" + newAssociation.getId();
}
}
}
use of org.springframework.ui.Model in project goci by EBISPOT.
the class AssociationController method validateUnapproved.
/**
- * Run mapping pipeline on all SNPs in a study
- *
- * @param studyId Study ID in database
- * @param redirectAttributes attributes for a redirect scenario
- */
@RequestMapping(value = "/studies/{studyId}/associations/validate_unapproved", produces = MediaType.TEXT_HTML_VALUE, method = RequestMethod.GET)
public String validateUnapproved(@PathVariable Long studyId, RedirectAttributes redirectAttributes, Model model, HttpServletRequest request) throws // @RequestParam(required = false) Long associationId)
EnsemblMappingException {
Study study = studyRepository.findOne(studyId);
// For the study get all associations
Collection<Association> studyAssociations = associationRepository.findByStudyId(studyId);
for (Association associationToValidate : studyAssociations) {
if (!associationToValidate.getSnpApproved()) {
String measurementType = associationOperationsService.determineIfAssociationIsOrType(associationToValidate);
List<AssociationValidationView> criticalErrors = new ArrayList<>();
if (associationToValidate.getSnpInteraction()) {
criticalErrors = associationOperationsService.checkSnpAssociationInteractionFormErrors((SnpAssociationInteractionForm) associationOperationsService.generateForm(associationToValidate), measurementType);
} else {
criticalErrors = associationOperationsService.checkSnpAssociationFormErrors((SnpAssociationStandardMultiForm) associationOperationsService.generateForm(associationToValidate), measurementType);
}
//if an association has critical errors, go straight to that association
if (!criticalErrors.isEmpty()) {
model.addAttribute("study", study);
model.addAttribute("measurementType", measurementType);
// Get mapping details
model.addAttribute("mappingDetails", associationOperationsService.createMappingDetails(associationToValidate));
// Return any association errors
model.addAttribute("errors", criticalErrors);
model.addAttribute("criticalErrorsFound", true);
if (associationToValidate.getSnpInteraction()) {
model.addAttribute("form", associationOperationsService.generateForm(associationToValidate));
return "redirect:/associations/" + associationToValidate.getId();
// return "edit_snp_interaction_association";
} else {
model.addAttribute("form", associationOperationsService.generateForm(associationToValidate));
// Determine view
if (associationToValidate.getMultiSnpHaplotype()) {
return "redirect:/associations/" + associationToValidate.getId();
// return "edit_multi_snp_association";
} else {
// return "edit_standard_snp_association";
return "redirect:/associations/" + associationToValidate.getId();
}
}
} else // if there are no criticial errors, save the validation and go to the next association
{
// Save and validate form
String eRelease = ensemblRestTemplateService.getRelease();
Collection<AssociationValidationView> errors = associationOperationsService.validateAndSaveAssociation(study, associationToValidate, currentUserDetailsService.getUserFromRequest(request), eRelease);
// Determine if we have any errors rather than warnings
long errorCount = errors.stream().filter(validationError -> !validationError.getWarning()).count();
//if there are errors rather than warnings, go straight to the page to edit
if (errorCount > 0) {
model.addAttribute("study", study);
model.addAttribute("measurementType", measurementType);
// Get mapping details for association we're editing
model.addAttribute("mappingDetails", associationOperationsService.createMappingDetails(associationToValidate));
model.addAttribute("errors", errors);
model.addAttribute("criticalErrorsFound", true);
if (associationToValidate.getSnpInteraction()) {
model.addAttribute("form", associationOperationsService.generateForm(associationToValidate));
// return "edit_snp_interaction_association";
return "redirect:/associations/" + associationToValidate.getId();
} else {
model.addAttribute("form", associationOperationsService.generateForm(associationToValidate));
// Determine view
if (associationToValidate.getMultiSnpHaplotype()) {
// return "edit_multi_snp_association";
return "redirect:/associations/" + associationToValidate.getId();
} else {
// return "edit_standard_snp_association";
return "redirect:/associations/" + associationToValidate.getId();
}
}
}
}
}
}
String message = "Mapping complete, please check for any errors displayed in the 'Errors' column";
redirectAttributes.addFlashAttribute("mappingComplete", message);
return "redirect:/studies/" + studyId + "/associations";
}
use of org.springframework.ui.Model in project Asqatasun by Asqatasun.
the class UserManagementControllerTest method testDisplayAdminPageWithDeletedUserMessage.
/**
* Test of displayAdminPage method, of class UserManagementController.
*/
public void testDisplayAdminPageWithDeletedUserMessage() {
System.out.println("DisplayAdminPageWithDeletedUserMessage");
instance = new UserManagementController();
setUpMockRoleDataService();
setUpMockUserDataService(false, false, false, false, false);
setUpMockAuthenticationContext();
instance.setUserDataService(mockUserDataService);
HttpServletResponse response = new MockHttpServletResponse();
MockHttpServletRequest request = new MockHttpServletRequest();
request.getSession().setAttribute(TgolKeyStore.DELETED_USER_NAME_KEY, "DeletedUserName");
Model model = new ExtendedModelMap();
String result = instance.displayAdminPage(request, response, model);
assertEquals(TgolKeyStore.ADMIN_VIEW_NAME, result);
assertTrue(model.asMap().containsKey(TgolKeyStore.DELETED_USER_NAME_KEY));
assertEquals(model.asMap().get(TgolKeyStore.DELETED_USER_NAME_KEY), "DeletedUserName");
}
use of org.springframework.ui.Model in project Asqatasun by Asqatasun.
the class UserManagementControllerTest method testSubmitEditCurrentUserForm.
/**
* Test of submitEditUserForm method, of class UserManagementController.
*/
public void testSubmitEditCurrentUserForm() throws Exception {
System.out.println("testSubmitEditCurrentUserForm");
instance = new UserManagementController();
setUpMockRoleDataService();
setUpMockUserDataService(false, false, false, false, true);
setUpMockAuthenticationContext();
instance.setUserDataService(mockUserDataService);
CreateUserFormValidator createUserFormValidator = new CreateUserFormValidator();
createUserFormValidator.setUserDataService(mockUserDataService);
instance.setCreateUserFormValidator(createUserFormValidator);
// Finally the form is conform and the admin page is returned
CreateUserCommand createUserCommand = CreateUserCommandFactory.getInstance().getNewCreateUserCommand();
createUserCommand.setEmail("admin@test.com");
createUserCommand.setLastName("newName");
createUserCommand.setFirstName("newFirstName");
createUserCommand.setPhoneNumber("0102030405");
createUserCommand.setActivated(false);
createUserCommand.setAdmin(false);
MockHttpServletRequest request = new MockHttpServletRequest();
request.getSession().setAttribute(TgolKeyStore.USER_ID_KEY, Long.valueOf(4));
BindingResult bindingResult = new BeanPropertyBindingResult(createUserCommand, "createUserCommand");
Model model = new ExtendedModelMap();
String result = instance.submitEditUserForm(createUserCommand, bindingResult, request, model);
assertEquals(TgolKeyStore.ADMIN_VIEW_NAME, result);
assertFalse(bindingResult.hasErrors());
assertTrue(bindingResult.getFieldErrors().isEmpty());
assertEquals(2, model.asMap().size());
assertEquals("admin@test.com", model.asMap().get(TgolKeyStore.UPDATED_USER_NAME_KEY));
assertTrue(((List<User>) model.asMap().get(TgolKeyStore.USER_LIST_KEY)).isEmpty());
}
use of org.springframework.ui.Model in project Asqatasun by Asqatasun.
the class UserManagementControllerTest method testSubmitAddAdminUserForm.
/**
* Test of submitAddUserForm method, of class UserManagementController.
*/
public void testSubmitAddAdminUserForm() throws Exception {
System.out.println("SubmitAddAdminUserForm");
instance = new UserManagementController();
setUpMockRoleDataService();
setUpMockUserDataService(false, true, true, false, false);
setUpMockAuthenticationContext();
instance.setUserDataService(mockUserDataService);
CreateUserFormValidator createUserFormValidator = new CreateUserFormValidator();
createUserFormValidator.setUserDataService(mockUserDataService);
instance.setCreateUserFormValidator(createUserFormValidator);
// Finally the form is conform and the admin page is returned
CreateUserCommand createUserCommand = CreateUserCommandFactory.getInstance().getNewCreateUserCommand();
createUserCommand.setSiteUrl("http://www.newSite.com/");
createUserCommand.setEmail("newUser@test.com");
createUserCommand.setPassword("P4sSw0rD");
createUserCommand.setConfirmPassword("P4sSw0rD");
createUserCommand.setAdmin(true);
createUserCommand.setActivated(true);
BindingResult bindingResult = new BeanPropertyBindingResult(createUserCommand, "createUserCommand");
Model model = new ExtendedModelMap();
String result = instance.submitAddUserForm(createUserCommand, bindingResult, model);
assertEquals(TgolKeyStore.ADMIN_VIEW_NAME, result);
assertFalse(bindingResult.hasErrors());
assertTrue(bindingResult.getFieldErrors().isEmpty());
assertEquals(2, model.asMap().size());
assertEquals("newUser@test.com", model.asMap().get(TgolKeyStore.ADDED_USER_NAME_KEY));
assertTrue(((List<User>) model.asMap().get(TgolKeyStore.USER_LIST_KEY)).isEmpty());
}
Aggregations