package eu.eudat.controllers; import java.util.Date; import java.util.List; import java.util.UUID; import eu.eudat.entities.DMP; import eu.eudat.entities.Dataset; import eu.eudat.entities.DatasetProfile; import eu.eudat.entities.UserInfo; import eu.eudat.managers.DatasetManager; import eu.eudat.models.dataset.DatasetTableRequest; import eu.eudat.models.helpers.DataTableData; import eu.eudat.models.helpers.responses.*; import eu.eudat.models.listingmodels.DatasetListingModel; import eu.eudat.models.security.Principal; import eu.eudat.services.ApiContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @CrossOrigin public class Datasets extends BaseController { @Autowired public Datasets(ApiContext apiContext) { super(apiContext); } @RequestMapping(method = RequestMethod.POST, value = {"/datasets/getPaged"}, consumes = "application/json", produces = "application/json") public @ResponseBody ResponseEntity>> getPaged(@RequestBody DatasetTableRequest datasetTableRequest, Principal principal) { try { DataTableData dataTable = new DatasetManager().getPaged(this.getApiContext(), datasetTableRequest, principal); return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().status(HttpStatus.OK).payload(dataTable)); } catch (Exception ex) { ex.printStackTrace(); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem>().status(HttpStatus.BAD_REQUEST).message(ex.getMessage())); } } @Transactional @RequestMapping(method = RequestMethod.GET, value = {"/datasets/makepublic/{id}"}, produces = "application/json") public @ResponseBody ResponseEntity> makePublic(@PathVariable UUID id, Principal principal) { try { DatasetManager.makePublic(this.getApiContext().getDatabaseRepository().getDatasetDao(), id); return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem().status(HttpStatus.OK).message("Dataset Has Been Made Public")); } catch (Exception ex) { ex.printStackTrace(); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem().status(HttpStatus.BAD_REQUEST).message(ex.getMessage())); } } }