Minor edits

This commit is contained in:
Nikolaos Laskaris 2017-11-27 16:08:13 +02:00
parent 06272c79da
commit 9941c96dc2
12 changed files with 105 additions and 40 deletions

View File

@ -20,7 +20,7 @@ import entities.Service;
public class Transformers { public class Transformers {
/*
public static DMP createDMPfromMap(MultiValueMap<String,String> formData) { public static DMP createDMPfromMap(MultiValueMap<String,String> formData) {
DatasetProfileRuleset dpr = new DatasetProfileRuleset(); DatasetProfileRuleset dpr = new DatasetProfileRuleset();
@ -89,7 +89,7 @@ public class Transformers {
dmp.setLabel(formData.getFirst("DMP.label")); dmp.setLabel(formData.getFirst("DMP.label"));
try { try {
dmp.setPrevious(UUID.fromString(formData.getFirst("DMP.previous"))); dmp.setPrevious(UUID.fromString(formData.getFirst("DMP.previous")));
}catch(Exception ex) {/*do nothing*/} }catch(Exception ex) {}
dmp.setProfile(profile); dmp.setProfile(profile);
dmp.setProfileData(formData.getFirst("DMP.profileData")); dmp.setProfileData(formData.getFirst("DMP.profileData"));
dmp.setProject(project); dmp.setProject(project);
@ -102,6 +102,7 @@ public class Transformers {
return dmp; return dmp;
} }
*/
} }

View File

@ -92,7 +92,7 @@ public class DMPs {
} }
} }
@RequestMapping(method = RequestMethod.GET, value = { "/dmps/{id}" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/dmps/{id}" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getDMP(@PathVariable("id") String id, @RequestParam(value="eager", defaultValue="false") boolean eager){ public @ResponseBody ResponseEntity<Object> getDMP(@PathVariable("id") String id, @RequestParam(value="eager", defaultValue="false") boolean eager){
try { try {
DMP dmp = dMPDao.read(UUID.fromString(id)); DMP dmp = dMPDao.read(UUID.fromString(id));
@ -100,6 +100,7 @@ public class DMPs {
dmp.getOrganisations().size(); //used only for lazy load trigger... dmp.getOrganisations().size(); //used only for lazy load trigger...
dmp.getResearchers().size(); //used only for lazy load trigger... dmp.getResearchers().size(); //used only for lazy load trigger...
dmp.getUsers().size(); //used only for lazy load trigger... dmp.getUsers().size(); //used only for lazy load trigger...
dmp.getDataset().size(); //used only for lazy load trigger...
} }
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(dmp)); return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(dmp));
} }
@ -109,6 +110,26 @@ public class DMPs {
} }
} }
@RequestMapping(method = RequestMethod.GET, value = { "/dmp/history/{id}" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getDMPHistory(@PathVariable("id") String id){
try {
List<DMP> history = new ArrayList<DMP>();
DMP dmp;
dmp = dMPDao.read(UUID.fromString(id));
while(dmp.getPrevious()!=null) {
dmp = dMPDao.read(dmp.getPrevious()); //replace with previous
history.add(dmp);
}
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(history));
}
catch(Exception ex) {
ex.printStackTrace();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/dmp/listDMPLabelID" }, produces="text/plain") @RequestMapping(method = RequestMethod.GET, value = { "/dmp/listDMPLabelID" }, produces="text/plain")
public @ResponseBody ResponseEntity<Object> listDmpLabelID(){ public @ResponseBody ResponseEntity<Object> listDmpLabelID(){
@ -126,7 +147,7 @@ public class DMPs {
/** /**
* This should be called on extreme cases. It's computationally intensive * This should be called on extreme cases. It's computationally intensive
*/ */
@RequestMapping(method = RequestMethod.GET, value = { "/dmp/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/dmp/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllDMPs(){ public @ResponseBody ResponseEntity<Object> getAllDMPs(){
try { try {
@ -141,7 +162,7 @@ public class DMPs {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dmp/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> createDMP(@RequestBody DMP dmp) { public @ResponseBody ResponseEntity<Object> createDMP(@RequestBody DMP dmp) {
try { try {
DMP createdDmp = dMPDao.update(dmp); DMP createdDmp = dMPDao.update(dmp);
@ -154,7 +175,7 @@ public class DMPs {
} }
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/update" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dmp/update" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> updateDMP(@RequestBody DMP dmp) { public @ResponseBody ResponseEntity<Object> updateDMP(@RequestBody DMP dmp) {
DMP previousDmp = dMPDao.read(dmp.getId()); DMP previousDmp = dMPDao.read(dmp.getId());
@ -175,7 +196,7 @@ public class DMPs {
@RequestMapping(method = RequestMethod.POST, value = { "/dmp/getdatasets" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dmp/getdatasets" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getDatasetsOfDMP(@RequestBody DMP dmp) { public @ResponseBody ResponseEntity<Object> getDatasetsOfDMP(@RequestBody DMP dmp) {
try { try {
List<Dataset> datasets = datasetDao.getDatasetsOfDmp(dmp.getId()); List<Dataset> datasets = datasetDao.getDatasetsOfDmp(dmp.getId());

View File

@ -79,7 +79,7 @@ public class DataRepositories {
@RequestMapping(method = RequestMethod.GET, value = { "/external/datarepos" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/external/datarepos" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listExternalDataRepositories(@RequestParam(value="query", required=false) String query ){ public @ResponseBody ResponseEntity<Object> listExternalDataRepositories(@RequestParam(value="query", required=false) String query ){
try { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getRepositories(query); List<Map<String,String>> remoteRepos = remoteFetcher.getRepositories(query);
@ -123,7 +123,7 @@ public class DataRepositories {
@RequestMapping(method = RequestMethod.GET, value = { "/datarepo/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/datarepo/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllDataRepositories(){ public @ResponseBody ResponseEntity<Object> getAllDataRepositories(){
try { try {
@ -141,7 +141,7 @@ public class DataRepositories {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datarepo/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/datarepo/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody DataRepository dataRepository) { public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody DataRepository dataRepository) {
DataRepository createdDataRepository = dataRepositoryDao.update(dataRepository); DataRepository createdDataRepository = dataRepositoryDao.update(dataRepository);
try { try {

View File

@ -111,7 +111,7 @@ public class DatasetProfiles {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> createDatasetProfile(@RequestBody DatasetProfile datasetProfile) { public @ResponseBody ResponseEntity<Object> createDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset(); DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();
@ -143,7 +143,7 @@ public class DatasetProfiles {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/update" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/update" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> updateDatasetProfile(@RequestBody DatasetProfile datasetProfile) { public @ResponseBody ResponseEntity<Object> updateDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset(); DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();
@ -172,7 +172,7 @@ public class DatasetProfiles {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/delete" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/datasetprofile/delete" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> deleteDatasetProfile(@RequestBody DatasetProfile datasetProfile) { public @ResponseBody ResponseEntity<Object> deleteDatasetProfile(@RequestBody DatasetProfile datasetProfile) {
DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset(); DatasetProfileRuleset datasetprofileruleset = datasetProfile.getRuleset();

View File

@ -125,7 +125,7 @@ public class Datasets {
} }
@RequestMapping(method = RequestMethod.POST, value = { "/dataset/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dataset/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> createDataset(@RequestBody Dataset dataset) { public @ResponseBody ResponseEntity<Object> createDataset(@RequestBody Dataset dataset) {
@ -164,7 +164,7 @@ public class Datasets {
} }
@RequestMapping(method = RequestMethod.POST, value = { "/dataset/update" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dataset/update" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> updateDataset(@RequestBody String datasetJson) { public @ResponseBody ResponseEntity<Object> updateDataset(@RequestBody String datasetJson) {
Dataset dataset; Dataset dataset;

View File

@ -112,7 +112,7 @@ public class DmpProfiles {
} }
@RequestMapping(method = RequestMethod.GET, value = { "/dmpprofile/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofile/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllDmpProfiles(){ public @ResponseBody ResponseEntity<Object> getAllDmpProfiles(){
try { try {
List<DMPProfile> allDmpProfiles = dMPProfileDao.getAll(); List<DMPProfile> allDmpProfiles = dMPProfileDao.getAll();
@ -125,7 +125,7 @@ public class DmpProfiles {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/dmpprofile/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/dmpprofile/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> setDmpProfile(@RequestBody DMPProfile dmpprofile) { public @ResponseBody ResponseEntity<Object> setDmpProfile(@RequestBody DMPProfile dmpprofile) {
try { try {
DMPProfile createdDMPProfile = dMPProfileDao.update(dmpprofile); DMPProfile createdDMPProfile = dMPProfileDao.update(dmpprofile);

View File

@ -77,7 +77,7 @@ public class Organisations {
@Autowired private RemoteFetcher remoteFetcher; @Autowired private RemoteFetcher remoteFetcher;
@RequestMapping(method = RequestMethod.GET, value = { "/external/organisations" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/external/organisations" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listExternalOrganisations(@RequestParam(value="query", required=false) String query ){ public @ResponseBody ResponseEntity<Object> listExternalOrganisations(@RequestParam(value="query", required=false) String query ){
try { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getOrganisations(query); List<Map<String,String>> remoteRepos = remoteFetcher.getOrganisations(query);
@ -118,7 +118,7 @@ public class Organisations {
} }
@RequestMapping(method = RequestMethod.GET, value = { "/organisation/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/organisation/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllOrganisations(){ public @ResponseBody ResponseEntity<Object> getAllOrganisations(){
try { try {
List<Organisation> allOrganisations = organisationDao.getAll(); List<Organisation> allOrganisations = organisationDao.getAll();
@ -131,7 +131,7 @@ public class Organisations {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/organisation/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/organisation/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody Organisation organisation) { public @ResponseBody ResponseEntity<Object> setOrganisation(@RequestBody Organisation organisation) {
try { try {
Organisation createdOrganisation = organisationDao.update(organisation); Organisation createdOrganisation = organisationDao.update(organisation);

View File

@ -88,7 +88,7 @@ public class Projects {
@Autowired private RemoteFetcher remoteFetcher; @Autowired private RemoteFetcher remoteFetcher;
@RequestMapping(method = RequestMethod.GET, value = { "/external/projects" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/external/projects" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listExternalProjects(@RequestParam(value="query", required=false) String query ){ public @ResponseBody ResponseEntity<Object> listExternalProjects(@RequestParam(value="query", required=false) String query ){
try { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getProjects(query); List<Map<String,String>> remoteRepos = remoteFetcher.getProjects(query);
@ -105,7 +105,7 @@ public class Projects {
// MANAGE PROJECT(S) // MANAGE PROJECT(S)
@RequestMapping(method = RequestMethod.GET, value = { "/projects" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/projects" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listProjects(){ public @ResponseBody ResponseEntity<Object> listProjects(){
try { try {
List<UUID> allIDs = projectDao.listAllIDs(); List<UUID> allIDs = projectDao.listAllIDs();
@ -116,7 +116,7 @@ public class Projects {
} }
} }
@RequestMapping(method = RequestMethod.GET, value = { "/projects/{id}" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/projects/{id}" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getProject(@PathVariable("id") String id, @RequestParam(value="eager", defaultValue="false") boolean eager) { public @ResponseBody ResponseEntity<Object> getProject(@PathVariable("id") String id, @RequestParam(value="eager", defaultValue="false") boolean eager) {
try { try {
Project project = projectDao.read(UUID.fromString(id)); Project project = projectDao.read(UUID.fromString(id));
@ -132,8 +132,22 @@ public class Projects {
} }
} }
@RequestMapping(method = RequestMethod.GET, value = { "/project/dmps" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getDMPsOfProject(@RequestParam("id") String id) {
try {
Project project = projectDao.read(UUID.fromString(id));
if(project==null)
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Could not find project with id: "+id);
return ResponseEntity.status(HttpStatus.OK).body(SerializerProvider.toJson(project.getDmps()));
}
catch(Exception ex) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage());
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/project/listAllLabelIDs" }, produces="application/json")
@RequestMapping(method = RequestMethod.GET, value = { "/project/listAllLabelIDs" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listLabelIds(){ public @ResponseBody ResponseEntity<Object> listLabelIds(){
try { try {
List<IDLabelPair> allIDs = projectDao.listAllIDsLabels(); List<IDLabelPair> allIDs = projectDao.listAllIDsLabels();
@ -145,7 +159,7 @@ public class Projects {
} }
@RequestMapping(method = RequestMethod.GET, value = { "/project/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/project/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllProjects(){ public @ResponseBody ResponseEntity<Object> getAllProjects(){
try { try {
List<Project> allProjects = projectDao.getAll(); List<Project> allProjects = projectDao.getAll();
@ -159,7 +173,7 @@ public class Projects {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/project/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/project/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> createProject(@RequestBody Project project) { public @ResponseBody ResponseEntity<Object> createProject(@RequestBody Project project) {
Project createdProject = projectDao.update(project); Project createdProject = projectDao.update(project);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdProject)); return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(createdProject));
@ -167,14 +181,14 @@ public class Projects {
@RequestMapping(method = RequestMethod.POST, value = { "/project/update" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/project/update" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> updateProject(@RequestBody Project project) { public @ResponseBody ResponseEntity<Object> updateProject(@RequestBody Project project) {
Project updatedProject = projectDao.update(project); Project updatedProject = projectDao.update(project);
return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(updatedProject)); return ResponseEntity.status(HttpStatus.CREATED).body(SerializerProvider.toJson(updatedProject));
} }
@RequestMapping(method = RequestMethod.POST, value = { "/project/delete" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/project/delete" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> delete(@RequestBody Project project) { public @ResponseBody ResponseEntity<Object> delete(@RequestBody Project project) {
Project p = new Project(); Project p = new Project();
@ -191,7 +205,7 @@ public class Projects {
@RequestMapping(method = RequestMethod.POST, value = { "/project/softdelete" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/project/softdelete" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> softDelete(@RequestBody Project project) { public @ResponseBody ResponseEntity<Object> softDelete(@RequestBody Project project) {
project.setStatus(new Short("-1")); project.setStatus(new Short("-1"));
@ -208,7 +222,7 @@ public class Projects {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/project/getdmps" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/project/getdmps" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getProjectDmps(@RequestBody Project project) { public @ResponseBody ResponseEntity<Object> getProjectDmps(@RequestBody Project project) {
try { try {
Set<DMP> dmps = projectDao.read(project.getId()).getDmps(); Set<DMP> dmps = projectDao.read(project.getId()).getDmps();

View File

@ -76,7 +76,7 @@ public class Registries {
@Autowired private RemoteFetcher remoteFetcher; @Autowired private RemoteFetcher remoteFetcher;
@RequestMapping(method = RequestMethod.GET, value = { "/external/registries" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/external/registries" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listExternalRegistries(@RequestParam(value="query", required=false) String query ){ public @ResponseBody ResponseEntity<Object> listExternalRegistries(@RequestParam(value="query", required=false) String query ){
try { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getRegistries(query); List<Map<String,String>> remoteRepos = remoteFetcher.getRegistries(query);
@ -130,7 +130,7 @@ public class Registries {
} }
@RequestMapping(method = RequestMethod.GET, value = { "/registry/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/registry/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllRegistries(){ public @ResponseBody ResponseEntity<Object> getAllRegistries(){
try { try {
List<Registry> allRegistries = registryDao.getAll(); List<Registry> allRegistries = registryDao.getAll();
@ -145,7 +145,7 @@ public class Registries {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/registry/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/registry/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> setRegistry(@RequestBody Registry registry) { public @ResponseBody ResponseEntity<Object> setRegistry(@RequestBody Registry registry) {
Registry createdRegistry = registryDao.update(registry); Registry createdRegistry = registryDao.update(registry);
try { try {

View File

@ -76,7 +76,7 @@ public class Researchers {
@Autowired private RemoteFetcher remoteFetcher; @Autowired private RemoteFetcher remoteFetcher;
@RequestMapping(method = RequestMethod.GET, value = { "/external/researchers" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/external/researchers" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listExternalResearchers(@RequestParam(value="query", required=false) String query ){ public @ResponseBody ResponseEntity<Object> listExternalResearchers(@RequestParam(value="query", required=false) String query ){
try { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getResearchers(query); List<Map<String,String>> remoteRepos = remoteFetcher.getResearchers(query);
@ -116,7 +116,7 @@ public class Researchers {
} }
} }
@RequestMapping(method = RequestMethod.GET, value = { "/researcher/getByEmail" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getByEmail" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getResearcherByEmail(@RequestParam("email") String email){ public @ResponseBody ResponseEntity<Object> getResearcherByEmail(@RequestParam("email") String email){
try { try {
Researcher researcher = researcherDao.getResearcherByEmail(email); Researcher researcher = researcherDao.getResearcherByEmail(email);
@ -129,7 +129,7 @@ public class Researchers {
} }
@RequestMapping(method = RequestMethod.GET, value = { "/researcher/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllResearchers(){ public @ResponseBody ResponseEntity<Object> getAllResearchers(){
try { try {
List<Researcher> allResearchers = researcherDao.getAll(); List<Researcher> allResearchers = researcherDao.getAll();
@ -144,7 +144,7 @@ public class Researchers {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/researcher/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/researcher/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> setResearcher(@RequestBody Researcher researcher) { public @ResponseBody ResponseEntity<Object> setResearcher(@RequestBody Researcher researcher) {
Researcher createdResearcher = researcherDao.update(researcher); Researcher createdResearcher = researcherDao.update(researcher);
try { try {

View File

@ -77,7 +77,7 @@ public class Services {
@Autowired private RemoteFetcher remoteFetcher; @Autowired private RemoteFetcher remoteFetcher;
@RequestMapping(method = RequestMethod.GET, value = { "/external/services" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/external/services" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> listExternalServices(@RequestParam(value="query", required=false) String query ){ public @ResponseBody ResponseEntity<Object> listExternalServices(@RequestParam(value="query", required=false) String query ){
try { try {
List<Map<String,String>> remoteRepos = remoteFetcher.getServices(query); List<Map<String,String>> remoteRepos = remoteFetcher.getServices(query);
@ -119,7 +119,7 @@ public class Services {
@RequestMapping(method = RequestMethod.GET, value = { "/service/getAll" }, produces="application/json") @RequestMapping(method = RequestMethod.GET, value = { "/service/getAll" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getAllServices(){ public @ResponseBody ResponseEntity<Object> getAllServices(){
try { try {
List<Service> allServices = serviceDao.getAll(); List<Service> allServices = serviceDao.getAll();
@ -134,7 +134,7 @@ public class Services {
@Transactional @Transactional
@RequestMapping(method = RequestMethod.POST, value = { "/service/create" }, consumes = "application/json", produces="application/json") @RequestMapping(method = RequestMethod.POST, value = { "/service/create" }, consumes = "application/json", produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> setService(@RequestBody Service service) { public @ResponseBody ResponseEntity<Object> setService(@RequestBody Service service) {
Service createdService = serviceDao.update(service); Service createdService = serviceDao.update(service);

View File

@ -74,6 +74,35 @@ public class Users {
@Autowired private UserInfoDao userInfoDao; @Autowired private UserInfoDao userInfoDao;
@RequestMapping(method = RequestMethod.GET, value = { "/users/{id}" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> getUserByID(@PathVariable("id") String id){
String userID = null;
try {
userID = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
} catch(NullPointerException ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("You have not logged in. You shouldn't be here");
}
UserInfo userInfo = userInfoDao.getUserInfo(userID);
if(userInfo==null) //this should normally never happer
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("There's no such a user on the system. You shouldn't be here");
//now get the user the caller asked for...
UserInfo userAsked4 = userInfoDao.getUserInfo(id);
try {
return new ResponseEntity<Object>(SerializerProvider.toJson(userAsked4), HttpStatus.OK);
}
catch(Exception ex) {
ex.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@RequestMapping(method = RequestMethod.GET, value = { "/user/whoami" }, produces="application/json;charset=UTF-8") @RequestMapping(method = RequestMethod.GET, value = { "/user/whoami" }, produces="application/json;charset=UTF-8")
public @ResponseBody ResponseEntity<Object> whoami(){ public @ResponseBody ResponseEntity<Object> whoami(){