Skip to content
Snippets Groups Projects

Rodn 363 complete research groups

Merged Nicolas.Rod requested to merge rodn-363-complete-research-groups into master
7 files
+ 8370
4
Compare changes
  • Side-by-side
  • Inline
Files
7
package ch.unige.aou.controller.admin;
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;
import java.io.IOException;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import ch.unige.solidify.SolidifyConstants;
import ch.unige.solidify.controller.ResourceController;
import ch.unige.solidify.rest.ActionName;
import ch.unige.solidify.rest.Collection;
import ch.unige.solidify.rest.Result;
import ch.unige.solidify.security.AdminPermissions;
import ch.unige.solidify.security.RootPermissions;
import ch.unige.solidify.security.UserPermissions;
import ch.unige.aou.business.ResearchGroupService;
import ch.unige.aou.controller.AdminController;
import ch.unige.aou.model.settings.ResearchGroup;
import ch.unige.aou.rest.AouActionName;
import ch.unige.aou.rest.UrlPath;
@AdminPermissions
@@ -55,4 +67,21 @@ public class ResearchGroupController extends ResourceController<ResearchGroup> {
public HttpStatus deleteList(@RequestBody String[] ids) {
return super.deleteList(ids);
}
@RootPermissions
@PostMapping(SolidifyConstants.URL_SEP + AouActionName.INITIALIZE)
public HttpEntity<Result> initDefaultValues() {
final Result res = new Result();
try {
((ResearchGroupService) this.itemService).createResearchGroupsFromJsonFile("research_groups.json");
res.setStatus(Result.ActionStatus.EXECUTED);
res.setMesssage(this.messageService.get("research_groups.initialization.success"));
} catch (IOException e) {
res.setStatus(Result.ActionStatus.NOT_EXECUTED);
res.setMesssage(this.messageService.get("research_groups.initialization.error", new Object[] { e.getMessage() }));
}
res.add(linkTo(this.getClass()).slash(AouActionName.INITIALIZE).withSelfRel());
res.add(linkTo(this.getClass()).withRel(ActionName.PARENT));
return new ResponseEntity<>(res, HttpStatus.OK);
}
}
Loading