From a47b5702dd092d0ba472ebcbeba8b52d72608f11 Mon Sep 17 00:00:00 2001 From: Ioannis Kalyvas Date: Thu, 25 Jan 2018 17:24:21 +0200 Subject: [PATCH] no message --- .../main/java/eu/eudat/controllers/DMPs.java | 21 +-- .../eudat/controllers/DataRepositories.java | 19 --- .../controllers/DatasetProfileController.java | 9 +- .../eu/eudat/controllers/DatasetProfiles.java | 23 +--- .../controllers/DatasetWizardController.java | 8 -- .../java/eu/eudat/controllers/Datasets.java | 8 +- .../eu/eudat/controllers/DmpProfiles.java | 126 ------------------ .../eudat/controllers/ExternalDatasets.java | 9 +- .../eu/eudat/controllers/Organisations.java | 20 --- .../java/eu/eudat/controllers/Projects.java | 26 +--- .../java/eu/eudat/controllers/Registries.java | 21 --- .../eu/eudat/controllers/Researchers.java | 20 --- .../java/eu/eudat/controllers/Services.java | 19 --- .../main/java/eu/eudat/controllers/Users.java | 47 ------- .../src/main/java/eu/eudat/dao/Dao.java | 17 --- .../main/java/eu/eudat/dao/DaoFactory.java | 10 -- .../src/main/java/eu/eudat/dao/DaoI.java | 20 --- .../java/eu/eudat/dao/DatabaseAccess.java | 19 +++ .../eu/eudat/dao/DatabaseAccessLayer.java | 10 ++ .../src/main/java/eu/eudat/dao/JpaDao.java | 80 ----------- .../main/java/eu/eudat/dao/JpaDaoFactory.java | 84 ------------ .../eu/eudat/dao/SpringJpaDaoFactory.java | 120 ----------------- .../context/DatabaseContext.java | 4 + .../service/DatabaseService.java | 21 ++- .../java/eu/eudat/dao/entities/DMPDao.java | 17 +-- .../eu/eudat/dao/entities/DMPDaoImpl.java | 41 +++--- .../eu/eudat/dao/entities/DMPProfileDao.java | 17 --- .../eudat/dao/entities/DMPProfileDaoImpl.java | 43 ------ .../eudat/dao/entities/DMPResearcherDao.java | 15 --- .../dao/entities/DMPResearcherDaoImpl.java | 35 ----- .../eudat/dao/entities/DataRepositoryDao.java | 13 +- .../dao/entities/DataRepositoryDaoImpl.java | 48 ++++--- .../eu/eudat/dao/entities/DatasetDao.java | 22 +-- .../eu/eudat/dao/entities/DatasetDaoImpl.java | 53 +++----- .../eudat/dao/entities/DatasetProfileDao.java | 19 +-- .../dao/entities/DatasetProfileDaoImpl.java | 29 ++-- .../entities/DatasetProfileRulesetDao.java | 11 -- .../DatasetProfileRulesetDaoImpl.java | 19 --- .../entities/DatasetProfileViewstyleDao.java | 11 -- .../DatasetProfileViewstyleDaoImpl.java | 19 --- .../dao/entities/DatasetRegistryDao.java | 11 -- .../dao/entities/DatasetRegistryDaoImpl.java | 19 --- .../eudat/dao/entities/DatasetServiceDao.java | 11 -- .../dao/entities/DatasetServiceDaoImpl.java | 19 --- .../dao/entities/ExternalDatasetDao.java | 9 +- .../dao/entities/ExternalDatasetDaoImpl.java | 20 ++- .../eu/eudat/dao/entities/InvitationDao.java | 9 +- .../eudat/dao/entities/InvitationDaoImpl.java | 17 ++- .../eudat/dao/entities/OrganisationDao.java | 18 +-- .../dao/entities/OrganisationDaoImpl.java | 70 ++++------ .../eu/eudat/dao/entities/ProjectDao.java | 13 +- .../eu/eudat/dao/entities/ProjectDaoImpl.java | 31 ++--- .../eu/eudat/dao/entities/RegistryDao.java | 17 +-- .../eudat/dao/entities/RegistryDaoImpl.java | 64 +++------ .../eu/eudat/dao/entities/ResearcherDao.java | 20 +-- .../eudat/dao/entities/ResearcherDaoImpl.java | 78 ++++------- .../eu/eudat/dao/entities/ServiceDao.java | 16 +-- .../eu/eudat/dao/entities/ServiceDaoImpl.java | 65 ++++----- .../eu/eudat/dao/entities/UserInfoDao.java | 16 +-- .../eudat/dao/entities/UserInfoDaoImpl.java | 26 ++-- .../dao/entities/security/CredentialDao.java | 5 - .../entities/security/CredentialDaoImpl.java | 15 +-- .../dao/entities/security/UserTokenDao.java | 8 +- .../entities/security/UserTokenDaoImpl.java | 26 +++- .../java/eu/eudat/entities/Credential.java | 4 +- .../src/main/java/eu/eudat/entities/DMP.java | 2 - .../eu/eudat/entities/DMPOrganisation.java | 7 - .../java/eu/eudat/entities/DMPProfile.java | 8 +- .../java/eu/eudat/entities/DMPResearcher.java | 8 +- .../java/eu/eudat/entities/DataEntity.java | 1 - .../eu/eudat/entities/DataRepository.java | 7 - .../main/java/eu/eudat/entities/Dataset.java | 5 - .../eu/eudat/entities/DatasetProfile.java | 7 - .../eudat/entities/DatasetProfileRuleset.java | 6 - .../entities/DatasetProfileViewstyle.java | 6 +- .../eu/eudat/entities/DatasetRegistry.java | 6 - .../eu/eudat/entities/DatasetService.java | 6 - .../java/eu/eudat/entities/Organisation.java | 7 - .../main/java/eu/eudat/entities/Project.java | 7 +- .../main/java/eu/eudat/entities/Registry.java | 7 +- .../java/eu/eudat/entities/Researcher.java | 9 +- .../main/java/eu/eudat/entities/Service.java | 6 +- .../main/java/eu/eudat/entities/UserDMP.java | 5 +- .../main/java/eu/eudat/entities/UserInfo.java | 5 +- .../java/eu/eudat/entities/UserToken.java | 2 - .../managers/DataManagementPlanManager.java | 14 +- .../eu/eudat/managers/DatasetManager.java | 18 +-- .../eudat/managers/DatasetProfileManager.java | 10 +- .../managers/ExternalDatasetManager.java | 9 +- .../eu/eudat/managers/PaginationManager.java | 14 +- .../eu/eudat/managers/ProjectManager.java | 6 +- .../helpers/AutoCompleteLookupItem.java | 29 ---- .../common/AutoCompleteLookupItem.java | 33 +++++ .../helpers/common/ColumnOrderings.java | 34 +++++ .../helpers/{ => common}/DataTableData.java | 2 +- .../eudat/models/helpers/common/Ordering.java | 34 +++++ .../models/helpers/requests/TableRequest.java | 11 ++ .../eu/eudat/queryable/QueryableList.java | 4 + .../QueryableHibernateList.java | 22 ++- .../eudat/services/AuthenticationService.java | 6 +- .../eu/eudat/services/DatabaseRepository.java | 6 - .../services/DatabaseRepositoryImpl.java | 54 -------- .../dataset-wizard.component.ts | 8 +- logs/spring-boot-logging.log | 10 +- 104 files changed, 525 insertions(+), 1696 deletions(-) delete mode 100644 dmp-backend/src/main/java/eu/eudat/controllers/DmpProfiles.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/Dao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/DaoFactory.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/DaoI.java create mode 100644 dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccess.java create mode 100644 dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccessLayer.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/JpaDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/JpaDaoFactory.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/SpringJpaDaoFactory.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDaoImpl.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDaoImpl.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDaoImpl.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDaoImpl.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDaoImpl.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDao.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDaoImpl.java delete mode 100644 dmp-backend/src/main/java/eu/eudat/models/helpers/AutoCompleteLookupItem.java create mode 100644 dmp-backend/src/main/java/eu/eudat/models/helpers/common/AutoCompleteLookupItem.java create mode 100644 dmp-backend/src/main/java/eu/eudat/models/helpers/common/ColumnOrderings.java rename dmp-backend/src/main/java/eu/eudat/models/helpers/{ => common}/DataTableData.java (89%) create mode 100644 dmp-backend/src/main/java/eu/eudat/models/helpers/common/Ordering.java diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java b/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java index 86233320e..2eaaecac3 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DMPs.java @@ -10,34 +10,17 @@ import eu.eudat.entities.DMP; import eu.eudat.models.dmp.DataManagementPlan; import eu.eudat.models.dmp.DataManagementPlanCriteriaRequest; import eu.eudat.models.dmp.DataManagementPlanTableRequest; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.helpers.responses.*; import eu.eudat.models.listingmodels.DataManagementPlanListingModel; import eu.eudat.models.security.Principal; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; -import eu.eudat.validators.DataManagementPlanTableRequestValidator; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.*; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; -import eu.eudat.dao.entities.UserInfoDao; import eu.eudat.managers.DataManagementPlanManager; @@ -102,8 +85,6 @@ public class DMPs extends BaseController { ex.printStackTrace(); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem().status(ApiMessageCode.DEFAULT_ERROR_MESSAGE).message(ex.getMessage())); } - - } diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DataRepositories.java b/dmp-backend/src/main/java/eu/eudat/controllers/DataRepositories.java index ce2ffec61..6c52724a2 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DataRepositories.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DataRepositories.java @@ -2,11 +2,7 @@ package eu.eudat.controllers; import java.util.List; import java.util.Map; -import java.util.UUID; -import javax.transaction.Transactional; - -import eu.eudat.entities.DataRepository; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; @@ -14,29 +10,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; -import eu.eudat.proxy.fetching.RemoteFetcher; @RestController diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfileController.java b/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfileController.java index 4a598fbae..2af5bb37f 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfileController.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfileController.java @@ -23,17 +23,10 @@ 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.RestController; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; import eu.eudat.managers.UserManager; -import eu.eudat.models.helpers.AutoCompleteLookupItem; +import eu.eudat.models.helpers.common.AutoCompleteLookupItem; import eu.eudat.models.properties.PropertiesModel; -import eu.eudat.utilities.builders.XmlBuilder; @RestController @CrossOrigin diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfiles.java b/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfiles.java index a6ac1565b..4da29606b 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfiles.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DatasetProfiles.java @@ -1,20 +1,13 @@ package eu.eudat.controllers; -import java.util.Date; import java.util.List; -import java.util.UUID; -import javax.transaction.Transactional; - -import eu.eudat.entities.DatasetProfile; -import eu.eudat.entities.DatasetProfileRuleset; -import eu.eudat.entities.DatasetProfileViewstyle; import eu.eudat.managers.DatasetProfileManager; import eu.eudat.models.datasetprofile.DatasetProfileAutocompleteItem; import eu.eudat.models.datasetprofile.DatasetProfileAutocompleteRequest; import eu.eudat.models.datasetprofile.DatasetProfileListingModel; import eu.eudat.models.datasetprofile.DatasetProfileTableRequestItem; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; @@ -22,26 +15,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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.ResponseBody; import org.springframework.web.bind.annotation.RestController; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; - @RestController @CrossOrigin diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DatasetWizardController.java b/dmp-backend/src/main/java/eu/eudat/controllers/DatasetWizardController.java index 9efdac60c..738f82f9e 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DatasetWizardController.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/DatasetWizardController.java @@ -1,24 +1,17 @@ package eu.eudat.controllers; -import eu.eudat.dao.entities.*; import eu.eudat.entities.Dataset; import eu.eudat.managers.DatasetManager; import eu.eudat.managers.DatasetWizardManager; -import eu.eudat.managers.UserManager; -import eu.eudat.models.dataset.DatasetTableRequest; import eu.eudat.models.datasetwizard.DataManagentPlanListingModel; import eu.eudat.models.datasetwizard.DatasetProfileWizardAutocompleteRequest; import eu.eudat.models.datasetwizard.DatasetWizardAutocompleteRequest; import eu.eudat.models.datasetwizard.DatasetWizardModel; import eu.eudat.models.dmp.AssociatedProfile; -import eu.eudat.models.dmp.DataManagementPlan; -import eu.eudat.models.helpers.DataTableData; import eu.eudat.models.helpers.responses.ResponseItem; -import eu.eudat.models.listingmodels.DatasetListingModel; import eu.eudat.models.security.Principal; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; -import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -26,7 +19,6 @@ import org.springframework.web.bind.annotation.*; import javax.transaction.Transactional; import java.util.List; -import java.util.Map; /** * Created by ikalyvas on 12/20/2017. diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Datasets.java b/dmp-backend/src/main/java/eu/eudat/controllers/Datasets.java index fbff55541..5ea052fbb 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Datasets.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Datasets.java @@ -1,17 +1,12 @@ package eu.eudat.controllers; -import java.util.Date; -import java.util.List; import java.util.Locale; 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.common.DataTableData; import eu.eudat.models.helpers.responses.*; import eu.eudat.models.listingmodels.DatasetListingModel; import eu.eudat.models.security.Principal; @@ -26,7 +21,6 @@ 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; diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/DmpProfiles.java b/dmp-backend/src/main/java/eu/eudat/controllers/DmpProfiles.java deleted file mode 100644 index ad4a7f918..000000000 --- a/dmp-backend/src/main/java/eu/eudat/controllers/DmpProfiles.java +++ /dev/null @@ -1,126 +0,0 @@ -package eu.eudat.controllers; - -import java.util.List; -import java.util.UUID; - -import javax.transaction.Transactional; - -import eu.eudat.entities.DMPProfile; -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.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.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; -import eu.eudat.entities.responses.IDLabelPair; - - -@RestController -@CrossOrigin -public class DmpProfiles extends BaseController{ - - @Autowired - public DmpProfiles(ApiContext apiContext) { - super(apiContext); - } - - @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofiles" }) - public @ResponseBody ResponseEntity> listDmpProfiles(){ - try { - List allIDs = this.getApiContext().getDatabaseRepository().getDMPProfileDao().listAllIDs(); - return ResponseEntity.status(HttpStatus.OK).body(allIDs); - } - catch(Exception ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); - } - } - - - - - @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofiles/{id}" }) - public @ResponseBody ResponseEntity getDmpProfile(@PathVariable("id") String id) { - try { - DMPProfile dmpProfile = this.getApiContext().getDatabaseRepository().getDMPProfileDao().read(UUID.fromString(id)); - return ResponseEntity.status(HttpStatus.OK).body(dmpProfile); - } - catch(Exception ex) { - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null); - } - } - - - - @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofile/listAllLabelIDs" }) - public @ResponseBody ResponseEntity> listLabelIds(){ - try { - List allIDs = this.getApiContext().getDatabaseRepository().getDMPProfileDao().listAllIDsLabels(); - return ResponseEntity.status(HttpStatus.OK).body(allIDs); - } - catch(Exception ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); - } - } - - - @RequestMapping(method = RequestMethod.GET, value = { "/dmpprofile/getAll" }, produces="application/json") - public @ResponseBody ResponseEntity getAllDmpProfiles(){ - try { - List allDmpProfiles = this.getApiContext().getDatabaseRepository().getDMPProfileDao().getAll(); - return ResponseEntity.status(HttpStatus.OK).body(allDmpProfiles); - } - catch(Exception ex) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); - } - } - - - @Transactional - @RequestMapping(method = RequestMethod.POST, value = { "/dmpprofile/create" }, consumes = "application/json", produces="application/json") - public @ResponseBody ResponseEntity setDmpProfile(@RequestBody DMPProfile dmpprofile) { - try { - DMPProfile createdDMPProfile = this.getApiContext().getDatabaseRepository().getDMPProfileDao().update(dmpprofile); - return ResponseEntity.status(HttpStatus.CREATED).body(createdDMPProfile); - } catch (Exception e) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); - } - } - - - @RequestMapping(method = RequestMethod.POST, value = { "/dmpprofile/delete" }, consumes = "application/json", produces="text/plain") - public @ResponseBody ResponseEntity delete(@RequestBody DMPProfile dmpprofile) { - - DMPProfile dmpp = new DMPProfile(); - dmpp.setId(dmpprofile.getId()); - try { - this.getApiContext().getDatabaseRepository().getDMPProfileDao().delete(dmpp); - return ResponseEntity.status(HttpStatus.CREATED).body("{\"msg\":\"Deleted DMP Profile!\"}"); - } catch (Exception e) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("{\"msg\":\"Could not Delete DMP Profile!\"}"); - } - - } - - - - -} - diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/ExternalDatasets.java b/dmp-backend/src/main/java/eu/eudat/controllers/ExternalDatasets.java index 26594a33f..26e1c907f 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/ExternalDatasets.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/ExternalDatasets.java @@ -1,17 +1,10 @@ package eu.eudat.controllers; -import eu.eudat.managers.DatasetManager; import eu.eudat.managers.ExternalDatasetManager; -import eu.eudat.managers.ProjectManager; -import eu.eudat.models.criteria.ExternalDatasetCriteria; -import eu.eudat.models.dataset.DatasetTableRequest; import eu.eudat.models.externaldataset.ExternalDatasetListingModel; import eu.eudat.models.externaldataset.ExternalDatasetTableRequest; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.helpers.responses.ResponseItem; -import eu.eudat.models.listingmodels.DatasetListingModel; -import eu.eudat.models.project.Project; -import eu.eudat.models.project.ProjectCriteriaRequest; import eu.eudat.models.security.Principal; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java b/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java index b31936edd..614c32608 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Organisations.java @@ -2,13 +2,8 @@ package eu.eudat.controllers; import java.util.List; import java.util.Map; -import java.util.UUID; -import javax.transaction.Transactional; - -import eu.eudat.entities.Organisation; import eu.eudat.models.external.OrganisationsExternalSourcesModel; -import eu.eudat.models.external.ProjectsExternalSourcesModel; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; @@ -16,29 +11,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; -import eu.eudat.proxy.fetching.RemoteFetcher; @RestController diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java b/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java index 8e2ecb5b6..916724d74 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Projects.java @@ -1,18 +1,12 @@ package eu.eudat.controllers; -import java.util.Date; import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.UUID; import javax.transaction.Transactional; import javax.validation.Valid; -import eu.eudat.models.criteria.ProjectCriteria; -import eu.eudat.models.external.OrganisationsExternalSourcesModel; import eu.eudat.models.external.ProjectsExternalSourcesModel; -import eu.eudat.models.external.RegistriesExternalSourcesModel; import eu.eudat.models.helpers.responses.*; import eu.eudat.models.project.ProjectCriteriaRequest; import eu.eudat.models.project.ProjectListingModel; @@ -20,7 +14,6 @@ import eu.eudat.models.security.Principal; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; @@ -32,30 +25,13 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; -import eu.eudat.dao.entities.UserInfoDao; -import eu.eudat.entities.DMP; import eu.eudat.entities.Project; -import eu.eudat.entities.UserInfo; -import eu.eudat.entities.responses.IDLabelPair; import eu.eudat.managers.ProjectManager; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.project.ProjectTableRequest; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; -import eu.eudat.proxy.fetching.RemoteFetcher; @RestController diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java b/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java index 58fd6e4d1..df85b1a2a 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Registries.java @@ -2,11 +2,8 @@ package eu.eudat.controllers; import java.util.List; import java.util.Map; -import java.util.UUID; -import eu.eudat.entities.Registry; import eu.eudat.models.external.RegistriesExternalSourcesModel; -import eu.eudat.models.external.ResearchersExternalSourcesModel; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; @@ -14,32 +11,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; -import eu.eudat.entities.responses.IDLabelPair; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; -import eu.eudat.proxy.fetching.RemoteFetcher; - -import javax.transaction.Transactional; @RestController diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java b/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java index 24054d205..dcd963642 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Researchers.java @@ -2,13 +2,8 @@ package eu.eudat.controllers; import java.util.List; import java.util.Map; -import java.util.UUID; -import javax.transaction.Transactional; - -import eu.eudat.entities.Researcher; import eu.eudat.models.external.ResearchersExternalSourcesModel; -import eu.eudat.models.external.ServiceExternalSourcesModel; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.services.ApiContext; import eu.eudat.types.ApiMessageCode; @@ -16,29 +11,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; -import eu.eudat.proxy.fetching.RemoteFetcher; @RestController diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Services.java b/dmp-backend/src/main/java/eu/eudat/controllers/Services.java index 29549fd2b..98e315b46 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Services.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Services.java @@ -2,11 +2,7 @@ package eu.eudat.controllers; import java.util.List; import java.util.Map; -import java.util.UUID; -import javax.transaction.Transactional; - -import eu.eudat.entities.Service; import eu.eudat.models.external.ServiceExternalSourcesModel; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.services.ApiContext; @@ -15,29 +11,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; 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; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; -import eu.eudat.proxy.fetching.RemoteFetcher; @RestController diff --git a/dmp-backend/src/main/java/eu/eudat/controllers/Users.java b/dmp-backend/src/main/java/eu/eudat/controllers/Users.java index 64b09ed33..01fd9c921 100644 --- a/dmp-backend/src/main/java/eu/eudat/controllers/Users.java +++ b/dmp-backend/src/main/java/eu/eudat/controllers/Users.java @@ -1,57 +1,10 @@ package eu.eudat.controllers; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import javax.transaction.Transactional; - import eu.eudat.services.ApiContext; -import org.apache.commons.lang3.SerializationUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.util.MultiValueMap; 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; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DMPProfileDao; -import eu.eudat.dao.entities.DataRepositoryDao; -import eu.eudat.dao.entities.DatasetDao; -import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.dao.entities.DatasetProfileRulesetDao; -import eu.eudat.dao.entities.DatasetProfileViewstyleDao; -import eu.eudat.dao.entities.OrganisationDao; -import eu.eudat.dao.entities.ProjectDao; -import eu.eudat.dao.entities.RegistryDao; -import eu.eudat.dao.entities.ResearcherDao; -import eu.eudat.dao.entities.ServiceDao; -import eu.eudat.dao.entities.UserInfoDao; -import eu.eudat.entities.DMP; -import eu.eudat.entities.DMPProfile; -import eu.eudat.entities.DataRepository; -import eu.eudat.entities.Dataset; -import eu.eudat.entities.DatasetProfile; -import eu.eudat.entities.DatasetProfileRuleset; -import eu.eudat.entities.Organisation; -import eu.eudat.entities.Project; -import eu.eudat.entities.Registry; -import eu.eudat.entities.Researcher; -import eu.eudat.entities.Service; -import eu.eudat.entities.UserInfo; -import eu.eudat.helpers.Transformers; - @RestController @CrossOrigin diff --git a/dmp-backend/src/main/java/eu/eudat/dao/Dao.java b/dmp-backend/src/main/java/eu/eudat/dao/Dao.java deleted file mode 100644 index 45ab9e751..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/Dao.java +++ /dev/null @@ -1,17 +0,0 @@ -package eu.eudat.dao; - -import java.io.Serializable; -import java.util.List; - -public interface Dao { - public T create(T t); - public T read(PK id); - public T update(T t); - public void delete(T t); - - public List getAll(); - public long count(); - - public T loadDetails(T t); - public boolean isLoaded(T t); -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/DaoFactory.java b/dmp-backend/src/main/java/eu/eudat/dao/DaoFactory.java deleted file mode 100644 index 056dde755..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/DaoFactory.java +++ /dev/null @@ -1,10 +0,0 @@ -package eu.eudat.dao; - -import java.util.Map; - - -public interface DaoFactory -{ - public Dao getDao(Class type) throws Exception; - public void overrideMappings(Map mappings) throws Exception; -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/DaoI.java b/dmp-backend/src/main/java/eu/eudat/dao/DaoI.java deleted file mode 100644 index a73023e79..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/DaoI.java +++ /dev/null @@ -1,20 +0,0 @@ -package eu.eudat.dao; - -import java.io.Serializable; -import java.util.List; - - -public interface DaoI { - public void persist(T entity); - - public void update(T entity); - - public T findById(Id id); - - public void delete(T entity); - - public List findAll(); - - public void deleteAll(); -} - diff --git a/dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccess.java b/dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccess.java new file mode 100644 index 000000000..1ee381eb7 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccess.java @@ -0,0 +1,19 @@ +package eu.eudat.dao; + +import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.DataEntity; + +/** + * Created by ikalyvas on 1/25/2018. + */ +public class DatabaseAccess> { + private DatabaseService databaseService; + + public DatabaseService getDatabaseService() { + return databaseService; + } + + public void setDatabaseService(DatabaseService databaseService) { + this.databaseService = databaseService; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccessLayer.java b/dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccessLayer.java new file mode 100644 index 000000000..f5bbb7981 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/dao/DatabaseAccessLayer.java @@ -0,0 +1,10 @@ +package eu.eudat.dao; + +/** + * Created by ikalyvas on 1/25/2018. + */ +public interface DatabaseAccessLayer { + T createOrUpdate(T item); + + T find(I id); +} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/JpaDao.java b/dmp-backend/src/main/java/eu/eudat/dao/JpaDao.java deleted file mode 100644 index 5e8f81dab..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/JpaDao.java +++ /dev/null @@ -1,80 +0,0 @@ -package eu.eudat.dao; - - -import java.io.Serializable; -import java.lang.reflect.ParameterizedType; -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.PostConstruct; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.PersistenceUnitUtil; -import javax.transaction.Transactional; - - -public abstract class JpaDao implements Dao { - protected Class entityClass; - - // protected static EntityManagerFactory entityManagerFactory = null; - - @PersistenceContext - protected EntityManager entityManager; - - protected PersistenceUnitUtil persistenceUnitUtil; - - // public static void setEntityManagerFactory(EntityManagerFactory factory) - // { - // entityManagerFactory = factory; - // } - - public JpaDao() { - ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass(); - this.entityClass = (Class) genericSuperclass.getActualTypeArguments()[0]; - // entityManager = entityManagerFactory.createEntityManager(); - } - - @PostConstruct - private void initPersistenceUnitUtil() { - this.persistenceUnitUtil = entityManager.getEntityManagerFactory().getPersistenceUnitUtil(); - } - - @Transactional - public T create(T t) { - entityManager.persist(t); - return t; - } - - @Transactional() - public T read(PK id) { - return entityManager.find(entityClass, id); - } - - @Transactional - public T update(T t) { - return entityManager.merge(t); - } - - @Transactional - public void delete(T t) { - t = entityManager.merge(t); - entityManager.remove(t); - } - - public List getAll() { - List result = entityManager.createQuery("from " + entityClass.getSimpleName(), entityClass).getResultList(); - return result == null ? new ArrayList() : result; - } - - public long count() { - return ((Number) entityManager.createQuery("select count(e) from " + entityClass.getSimpleName() + " e").getSingleResult()).longValue(); - } - - public boolean isLoaded(T t) { - return persistenceUnitUtil.isLoaded(t); - } - - protected boolean isFieldLoaded(T t, String fieldName) { - return persistenceUnitUtil.isLoaded(t, fieldName); - } -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/JpaDaoFactory.java b/dmp-backend/src/main/java/eu/eudat/dao/JpaDaoFactory.java deleted file mode 100644 index ec7cc24b2..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/JpaDaoFactory.java +++ /dev/null @@ -1,84 +0,0 @@ -package eu.eudat.dao; - -import java.util.HashMap; -import java.util.Map; - -import eu.eudat.dao.entities.DMPDaoImpl; -import eu.eudat.dao.entities.DMPProfileDaoImpl; -import eu.eudat.dao.entities.DMPResearcherDaoImpl; -import eu.eudat.dao.entities.DataRepositoryDaoImpl; -import eu.eudat.dao.entities.DatasetDaoImpl; -import eu.eudat.dao.entities.DatasetProfileDaoImpl; -import eu.eudat.dao.entities.DatasetProfileRulesetDaoImpl; -import eu.eudat.dao.entities.DatasetProfileViewstyleDaoImpl; -import eu.eudat.dao.entities.DatasetRegistryDaoImpl; -import eu.eudat.dao.entities.DatasetServiceDaoImpl; -import eu.eudat.dao.entities.OrganisationDaoImpl; -import eu.eudat.dao.entities.ProjectDaoImpl; -import eu.eudat.dao.entities.RegistryDaoImpl; -import eu.eudat.dao.entities.ResearcherDaoImpl; -import eu.eudat.dao.entities.ServiceDaoImpl; -import eu.eudat.entities.DMP; -import eu.eudat.entities.DMPProfile; -import eu.eudat.entities.DMPResearcher; -import eu.eudat.entities.DataRepository; -import eu.eudat.entities.Dataset; -import eu.eudat.entities.DatasetProfile; -import eu.eudat.entities.DatasetProfileRuleset; -import eu.eudat.entities.DatasetProfileViewstyle; -import eu.eudat.entities.DatasetRegistry; -import eu.eudat.entities.DatasetService; -import eu.eudat.entities.Organisation; -import eu.eudat.entities.Project; -import eu.eudat.entities.Registry; -import eu.eudat.entities.Researcher; -import eu.eudat.entities.Service; - - -/** - * A DAO factory for non-managed environments - */ -public class JpaDaoFactory implements DaoFactory -{ - private static String persistenceUnit = null; - private static Map daoImpls = null; - - public static void setPersistenceContext(String persistenceUnit) - { - JpaDaoFactory.persistenceUnit = persistenceUnit; - } - - private static void populateMappings() - { - daoImpls = new HashMap(); - daoImpls.put(Organisation.class.getName(), OrganisationDaoImpl.class.getName()); - daoImpls.put(DataRepository.class.getName(), (DataRepositoryDaoImpl.class.getName())); - daoImpls.put(Dataset.class.getName(), (DatasetDaoImpl.class.getName())); - daoImpls.put(DatasetProfile.class.getName(), (DatasetProfileDaoImpl.class.getName())); - daoImpls.put(DatasetProfileRuleset.class.getName(), (DatasetProfileRulesetDaoImpl.class.getName())); - daoImpls.put(DatasetProfileViewstyle.class.getName(), (DatasetProfileViewstyleDaoImpl.class.getName())); - daoImpls.put(DatasetRegistry.class.getName(), (DatasetRegistryDaoImpl.class.getName())); - daoImpls.put(DatasetService.class.getName(), (DatasetServiceDaoImpl.class.getName())); - daoImpls.put(DMP.class.getName(), (DMPDaoImpl.class.getName())); - daoImpls.put(DMPProfile.class.getName(), (DMPProfileDaoImpl.class.getName())); - daoImpls.put(DMPResearcher.class.getName(), (DMPResearcherDaoImpl.class.getName())); - daoImpls.put(Organisation.class.getName(), (OrganisationDaoImpl.class.getName())); - daoImpls.put(Project.class.getName(), (ProjectDaoImpl.class.getName())); - daoImpls.put(Registry.class.getName(), (RegistryDaoImpl.class.getName())); - daoImpls.put(Researcher.class.getName(), (ResearcherDaoImpl.class.getName())); - daoImpls.put(Service.class.getName(), (ServiceDaoImpl.class.getName())); - } - - @SuppressWarnings("rawtypes") - public Dao getDao(Class type) throws Exception - { - if(daoImpls == null) populateMappings(); - return (Dao)Class.forName(daoImpls.get(type.getName())).newInstance(); - } - - public void overrideMappings(Map mappings) - { - populateMappings(); - daoImpls.putAll(mappings); - } -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/SpringJpaDaoFactory.java b/dmp-backend/src/main/java/eu/eudat/dao/SpringJpaDaoFactory.java deleted file mode 100644 index 9e7aad7ba..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/SpringJpaDaoFactory.java +++ /dev/null @@ -1,120 +0,0 @@ -package eu.eudat.dao; - -import java.util.HashMap; -import java.util.Map; - -import org.springframework.beans.BeansException; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; - -import eu.eudat.dao.entities.DMPDaoImpl; -import eu.eudat.dao.entities.DMPProfileDaoImpl; -import eu.eudat.dao.entities.DMPResearcherDaoImpl; -import eu.eudat.dao.entities.DataRepositoryDaoImpl; -import eu.eudat.dao.entities.DatasetDaoImpl; -import eu.eudat.dao.entities.DatasetProfileDaoImpl; -import eu.eudat.dao.entities.DatasetProfileRulesetDaoImpl; -import eu.eudat.dao.entities.DatasetProfileViewstyleDaoImpl; -import eu.eudat.dao.entities.DatasetRegistryDaoImpl; -import eu.eudat.dao.entities.DatasetServiceDaoImpl; -import eu.eudat.dao.entities.OrganisationDaoImpl; -import eu.eudat.dao.entities.ProjectDaoImpl; -import eu.eudat.dao.entities.RegistryDaoImpl; -import eu.eudat.dao.entities.ResearcherDaoImpl; -import eu.eudat.dao.entities.ServiceDaoImpl; -import eu.eudat.entities.DMP; -import eu.eudat.entities.DMPProfile; -import eu.eudat.entities.DMPResearcher; -import eu.eudat.entities.DataRepository; -import eu.eudat.entities.Dataset; -import eu.eudat.entities.DatasetProfile; -import eu.eudat.entities.DatasetProfileRuleset; -import eu.eudat.entities.DatasetProfileViewstyle; -import eu.eudat.entities.DatasetRegistry; -import eu.eudat.entities.DatasetService; -import eu.eudat.entities.Organisation; -import eu.eudat.entities.Project; -import eu.eudat.entities.Registry; -import eu.eudat.entities.Researcher; -import eu.eudat.entities.Service; - - -/** - * A DAO factory for Spring managed environment - */ -public class SpringJpaDaoFactory implements DaoFactory -{ - public static class SpringApplicationContext implements ApplicationContextAware { - - private static ApplicationContext CONTEXT; - - /** - * This method is called from within the ApplicationContext once it is - * done starting up, it will stick a reference to itself into this bean. - * @param context a reference to the ApplicationContext. - */ - public void setApplicationContext(ApplicationContext context) throws BeansException { - CONTEXT = context; - } - - /** - * This is about the same as context.getBean("beanName"), except it has its - * own static handle to the Spring context, so calling this method statically - * will give access to the beans by name in the Spring application context. - * As in the context.getBean("beanName") call, the caller must cast to the - * appropriate target class. If the bean does not exist, then a Runtime error - * will be thrown. - * @param beanName the name of the bean to get. - * @return an Object reference to the named bean. - */ - public static Object getBean(String beanName) { - return CONTEXT.getBean(beanName); - } - } - - private static String persistenceUnit = null; - private static Map daoImpls = null; - - public static void setPersistenceContext(String persistenceUnit) - { - SpringJpaDaoFactory.persistenceUnit = persistenceUnit; - } - - private static String getBeanName(String className) - { - return Character.toLowerCase(className.charAt(0)) + - (className.length() > 1 ? className.substring(1) : ""); - } - private static void populateMappings() - { - daoImpls = new HashMap(); - daoImpls.put(DataRepository.class.getName(), getBeanName(DataRepositoryDaoImpl.class.getSimpleName())); - daoImpls.put(Dataset.class.getName(), getBeanName(DatasetDaoImpl.class.getSimpleName())); - daoImpls.put(DatasetProfile.class.getName(), getBeanName(DatasetProfileDaoImpl.class.getSimpleName())); - daoImpls.put(DatasetProfileRuleset.class.getName(), getBeanName(DatasetProfileRulesetDaoImpl.class.getSimpleName())); - daoImpls.put(DatasetProfileViewstyle.class.getName(), getBeanName(DatasetProfileViewstyleDaoImpl.class.getSimpleName())); - daoImpls.put(DatasetRegistry.class.getName(), getBeanName(DatasetRegistryDaoImpl.class.getSimpleName())); - daoImpls.put(DatasetService.class.getName(), getBeanName(DatasetServiceDaoImpl.class.getSimpleName())); - daoImpls.put(DMP.class.getName(), getBeanName(DMPDaoImpl.class.getSimpleName())); - daoImpls.put(DMPProfile.class.getName(), getBeanName(DMPProfileDaoImpl.class.getSimpleName())); - daoImpls.put(DMPResearcher.class.getName(), getBeanName(DMPResearcherDaoImpl.class.getSimpleName())); - daoImpls.put(Organisation.class.getName(), getBeanName(OrganisationDaoImpl.class.getSimpleName())); - daoImpls.put(Project.class.getName(), getBeanName(ProjectDaoImpl.class.getSimpleName())); - daoImpls.put(Registry.class.getName(), getBeanName(RegistryDaoImpl.class.getSimpleName())); - daoImpls.put(Researcher.class.getName(), getBeanName(ResearcherDaoImpl.class.getSimpleName())); - daoImpls.put(Service.class.getName(), getBeanName(ServiceDaoImpl.class.getSimpleName())); - } - - @SuppressWarnings("rawtypes") - public Dao getDao(Class type) throws Exception - { - if(daoImpls == null) populateMappings(); - return (Dao)SpringApplicationContext.getBean(daoImpls.get(type.getName())); - } - - public void overrideMappings(Map mappings) - { - populateMappings(); - daoImpls.putAll(mappings); - } -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/context/DatabaseContext.java b/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/context/DatabaseContext.java index 4a6b26ec4..f80223f1d 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/context/DatabaseContext.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/context/DatabaseContext.java @@ -12,6 +12,7 @@ import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import java.util.List; +import java.util.UUID; /** * Created by giannis on 7/16/2017. @@ -43,4 +44,7 @@ public class DatabaseContext> { return ((Number) entityManager.createQuery("select count(e) from " + entityClass.getSimpleName() + " e").getSingleResult()).longValue(); } + public void delete(T item){ + this.entityManager.remove(item); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/service/DatabaseService.java b/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/service/DatabaseService.java index 4575d9d80..337a1d9a1 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/service/DatabaseService.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/databaselayer/service/DatabaseService.java @@ -8,26 +8,39 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Set; +import java.util.UUID; /** * Created by giannis on 7/17/2017. */ @Service("databaseService") public class DatabaseService> { - @Autowired + private DatabaseContext databaseCtx; + @Autowired + public DatabaseService(DatabaseContext databaseCtx) { + this.databaseCtx = databaseCtx; + } + public QueryableList getQueryable(Class tClass) { return this.databaseCtx.getQueryable(tClass); } - public QueryableList getQueryable(Class tClass,Set hints) { + public QueryableList getQueryable(Set hints,Class tClass) { return this.databaseCtx.getQueryable(tClass).setHints(hints); } - public T createOrUpdate(T item, Class tClass) { + public T createOrUpdate(T item,Class tClass) { return this.databaseCtx.createOrUpdate(item, tClass); } - public Long count(Class tClass){return this.databaseCtx.count(tClass);} + public Long count(Class tClass){ + return this.databaseCtx.count(tClass); + } + + public void delete(T item){ + this.databaseCtx.delete(item); + } + } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDao.java index aec2b76db..fd611cc34 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDao.java @@ -1,32 +1,21 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; import eu.eudat.entities.DMP; -import eu.eudat.entities.Dataset; import eu.eudat.entities.UserInfo; -import eu.eudat.entities.responses.IDLabelPair; import eu.eudat.models.criteria.DataManagementPlanCriteria; import eu.eudat.models.datasetwizard.DatasetWizardAutocompleteRequest; -import eu.eudat.models.dmp.DataManagementPlanTableRequest; import eu.eudat.queryable.QueryableList; -import org.springframework.stereotype.Service; -public interface DMPDao { +public interface DMPDao extends DatabaseAccessLayer { QueryableList getWithCriteria(DataManagementPlanCriteria criteria); QueryableList getUserDmps(DatasetWizardAutocompleteRequest datasetWizardAutocompleteRequest, UserInfo userInfo); - DMP createOrUpdate(DMP item); - - DMP find(UUID id); - - Long count(); - QueryableList getAuthenticated(QueryableList query,UserInfo principal); - + Long count(); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDaoImpl.java index f2c5824e0..330f25901 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPDaoImpl.java @@ -1,42 +1,30 @@ package eu.eudat.dao.entities; -import java.util.List; -import java.util.Map; import java.util.UUID; -import java.util.stream.Collectors; - -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; - +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; -import eu.eudat.entities.Dataset; -import eu.eudat.entities.Project; +import eu.eudat.entities.DatasetProfile; import eu.eudat.entities.UserInfo; import eu.eudat.models.criteria.DataManagementPlanCriteria; import eu.eudat.models.datasetwizard.DatasetWizardAutocompleteRequest; -import eu.eudat.models.security.Principal; import eu.eudat.queryable.QueryableList; -import org.hibernate.query.Query; -import eu.eudat.dao.JpaDao; import eu.eudat.entities.DMP; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.dmp.DataManagementPlanTableRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("dMPDao") -public class DMPDaoImpl implements DMPDao { +public class DMPDaoImpl extends DatabaseAccess implements DMPDao { @Autowired - DatabaseService databaseService; + public DMPDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(DataManagementPlanCriteria criteria) { - QueryableList query = databaseService.getQueryable(DMP.class,DMP.getHints()); + QueryableList query = getDatabaseService().getQueryable(DMP.getHints(),DMP.class); if(criteria.getLike()!=null&&!criteria.getLike().isEmpty())query.where((builder, root) -> builder.like(root.get("label"),"%"+criteria.getLike()+"%")); if(criteria.getPeriodEnd()!=null)query.where((builder, root) -> builder.lessThan(root.get("created"),criteria.getPeriodEnd())); if(criteria.getPeriodStart()!=null)query.where((builder, root) -> builder.greaterThan(root.get("created"),criteria.getPeriodStart())); @@ -51,24 +39,25 @@ public class DMPDaoImpl implements DMPDao { @Override public DMP createOrUpdate(DMP item) { - return this.databaseService.createOrUpdate(item,DMP.class); + return this.getDatabaseService().createOrUpdate(item,DMP.class); } @Override public DMP find(UUID id) { - return databaseService.getQueryable(DMP.class).where((builder, root) -> builder.equal((root.get("id")),id)).getSingle(); - } - - public Long count(){ - return this.databaseService.count(DMP.class); + return getDatabaseService().getQueryable(DMP.class).where((builder, root) -> builder.equal((root.get("id")),id)).getSingle(); } @Override public QueryableList getUserDmps(DatasetWizardAutocompleteRequest datasetWizardAutocompleteRequest, UserInfo userInfo) { - QueryableList query = databaseService.getQueryable(DMP.class).where((builder, root) -> builder.or(builder.equal(root.get("creator"),userInfo),builder.isMember(userInfo,root.get("users")))); + QueryableList query = getDatabaseService().getQueryable(DMP.class).where((builder, root) -> builder.or(builder.equal(root.get("creator"),userInfo),builder.isMember(userInfo,root.get("users")))); if(datasetWizardAutocompleteRequest.getCriteria().getLike()!=null&&!datasetWizardAutocompleteRequest.getCriteria().getLike().isEmpty()){ query.where((builder, root) -> builder.like(root.get("label"),"%"+datasetWizardAutocompleteRequest.getCriteria().getLike()+"%")); } return query; } + + @Override + public Long count() { + return this.getDatabaseService().count(DMP.class); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDao.java deleted file mode 100644 index 78e6c8fe0..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDao.java +++ /dev/null @@ -1,17 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.List; -import java.util.UUID; - -import eu.eudat.dao.Dao; -import eu.eudat.entities.DMPProfile; -import eu.eudat.entities.responses.IDLabelPair; -import org.springframework.stereotype.Service; - -public interface DMPProfileDao extends Dao { - - List listAllIDs(); - - List listAllIDsLabels(); - -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDaoImpl.java deleted file mode 100644 index 0a1c861df..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPProfileDaoImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import javax.persistence.TypedQuery; - -import org.hibernate.query.Query; - -import eu.eudat.dao.JpaDao; -import eu.eudat.entities.DMPProfile; -import eu.eudat.entities.responses.IDLabelPair; -import org.springframework.stereotype.Component; - -@Component("dMPProfileDao") -public class DMPProfileDaoImpl extends JpaDao implements DMPProfileDao { - - public DMPProfile loadDetails(DMPProfile t) { - return null; - } - - - @Override - public List listAllIDs() { - String queryString = "SELECT dmpProfile.id FROM DMPProfile dmpProfile"; - TypedQuery typedQuery = entityManager.createQuery(queryString, UUID.class); - return typedQuery.getResultList(); - } - - @Override - public List listAllIDsLabels() { - String queryString = "SELECT dmpProfile.id, dmpProfile.label FROM DMPProfile dmpProfile"; - Query query = (Query) entityManager.createQuery(queryString); - List rows = query.list(); - return rows.stream().map(row -> { - return new IDLabelPair(row[0].toString(), row[1].toString()); - }) - .collect(Collectors.toList()); - } - - -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDao.java deleted file mode 100644 index f48b50b1a..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - -import eu.eudat.dao.Dao; -import eu.eudat.entities.DMPResearcher; -import eu.eudat.entities.Researcher; -import org.springframework.stereotype.Service; - -public interface DMPResearcherDao extends Dao { - - - Researcher getResearcherByEmail(String email); - -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDaoImpl.java deleted file mode 100644 index 787af8654..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DMPResearcherDaoImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - -import javax.persistence.TypedQuery; - -import eu.eudat.dao.JpaDao; -import eu.eudat.entities.DMPResearcher; -import eu.eudat.entities.Researcher; -import org.springframework.stereotype.Component; - -@Component("dMPResearcherDao") -public class DMPResearcherDaoImpl extends JpaDao implements DMPResearcherDao { - - public DMPResearcher loadDetails(DMPResearcher t) { - // TODO Auto-generated method stub - return null; - } - - @Override - public Researcher getResearcherByEmail(String email) { - String queryString = "FROM Researcher researcher where primaryEmail=:email"; - TypedQuery typedQuery = entityManager.createQuery(queryString, Researcher.class); - typedQuery.setParameter("email", email); - try { - return typedQuery.getSingleResult(); - }catch(Exception ex) { - System.out.println(ex.getMessage()); - return null; - } - - } - - -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDao.java index 7460943d4..281fcee10 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDao.java @@ -1,15 +1,12 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; import eu.eudat.entities.DataRepository; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; -import org.springframework.stereotype.Service; +import eu.eudat.models.criteria.DataRepositoryCriteria; +import eu.eudat.queryable.QueryableList; -public interface DataRepositoryDao { - List listBy(Criteria criteria); - DataRepository createOrUpdate(DataRepository item); +public interface DataRepositoryDao extends DatabaseAccessLayer { + QueryableList getWithCriteria(DataRepositoryCriteria criteria); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDaoImpl.java index 493c044a6..a9de885a0 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDaoImpl.java @@ -1,41 +1,39 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; - -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.models.criteria.DataRepositoryCriteria; import eu.eudat.queryable.QueryableList; -import org.hibernate.query.Query; -import eu.eudat.dao.JpaDao; import eu.eudat.entities.DataRepository; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; @Component("dataRepositoryDao") -public class DataRepositoryDaoImpl implements DataRepositoryDao{ +public class DataRepositoryDaoImpl extends DatabaseAccess implements DataRepositoryDao { - @Autowired - DatabaseService databaseService; + @Autowired + public DataRepositoryDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } - @Override - public List listBy(Criteria criteria) { - QueryableList query = databaseService.getQueryable(DataRepository.class); - if(criteria.getLike()!=null)query.where((builder, root) -> builder.equal(root.get("reference"),criteria.getLike())); - return query.toList(); - } + @Override + public QueryableList getWithCriteria(DataRepositoryCriteria criteria) { + QueryableList query = this.getDatabaseService().getQueryable(DataRepository.class); + if (criteria.getLike() != null) + query.where((builder, root) -> builder.equal(root.get("reference"), criteria.getLike())); + return query; + } - @Override - public DataRepository createOrUpdate(DataRepository item) { - return databaseService.createOrUpdate(item,DataRepository.class); - } + @Override + public DataRepository find(UUID id) { + return this.getDatabaseService().getQueryable(DataRepository.class).where((builder, root) -> builder.equal(root.get("id"), id)).getSingle(); + } + + @Override + public DataRepository createOrUpdate(DataRepository item) { + return getDatabaseService().createOrUpdate(item, DataRepository.class); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDao.java index 8a5765ede..ee8e7ad0e 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDao.java @@ -1,33 +1,19 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; -import eu.eudat.entities.DMP; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.DataRepository; import eu.eudat.entities.Dataset; -import eu.eudat.entities.Project; import eu.eudat.entities.UserInfo; -import eu.eudat.entities.responses.IDLabelPair; import eu.eudat.models.criteria.DatasetCriteria; -import eu.eudat.models.criteria.ProjectCriteria; -import eu.eudat.models.dataset.DatasetTableRequest; -import eu.eudat.models.project.ProjectTableRequest; -import eu.eudat.models.security.Principal; import eu.eudat.queryable.QueryableList; -import org.springframework.stereotype.Service; - -public interface DatasetDao { +public interface DatasetDao extends DatabaseAccessLayer { QueryableList getWithCriteria(DatasetCriteria criteria); - Dataset createOrUpdate(Dataset item); - - Dataset find(UUID id); - - Long count(); - QueryableList getAuthenticated(QueryableList query, UserInfo principal); + Long count(); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDaoImpl.java index a8edd2719..791d2c02b 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetDaoImpl.java @@ -1,63 +1,43 @@ package eu.eudat.dao.entities; -import java.util.List; -import java.util.Set; import java.util.UUID; -import java.util.stream.Collectors; -import javax.persistence.Query; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; - -import eu.eudat.dao.JpaDao; +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.DataRepository; import eu.eudat.entities.Dataset; -import eu.eudat.entities.Project; import eu.eudat.entities.UserInfo; -import eu.eudat.entities.responses.IDLabelPair; import eu.eudat.models.criteria.DatasetCriteria; -import eu.eudat.models.dataset.DatasetTableRequest; -import eu.eudat.models.security.Principal; import eu.eudat.queryable.QueryableList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("datasetDao") -public class DatasetDaoImpl implements DatasetDao { +public class DatasetDaoImpl extends DatabaseAccess implements DatasetDao { - @Autowired - DatabaseService databaseService; + public DatasetDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(DatasetCriteria criteria) { - QueryableList query = databaseService.getQueryable(Dataset.class, Dataset.getHints()); - if (criteria.getLike() != null && !criteria.getLike().isEmpty()) - query.where((builder, root) -> builder.like(root.get("label"), "%" + criteria.getLike() + "%")); - if (criteria.getStatus() != null) - query.where((builder, root) -> builder.equal(root.get("status"), criteria.getStatus())); - if (criteria.getPeriodEnd() != null) - query.where((builder, root) -> builder.lessThan(root.get("created"), criteria.getPeriodEnd())); - if (criteria.getPeriodStart() != null) - query.where((builder, root) -> builder.greaterThan(root.get("created"), criteria.getPeriodStart())); - if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty()) - query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds())); + QueryableList query = getDatabaseService().getQueryable(Dataset.getHints(),Dataset.class); + if (criteria.getLike() != null && !criteria.getLike().isEmpty()) query.where((builder, root) -> builder.like(root.get("label"), "%" + criteria.getLike() + "%")); + if (criteria.getStatus() != null) query.where((builder, root) -> builder.equal(root.get("status"), criteria.getStatus())); + if (criteria.getPeriodEnd() != null) query.where((builder, root) -> builder.lessThan(root.get("created"), criteria.getPeriodEnd())); + if (criteria.getPeriodStart() != null) query.where((builder, root) -> builder.greaterThan(root.get("created"), criteria.getPeriodStart())); + if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty()) query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds())); return query; } @Override public Dataset createOrUpdate(Dataset item) { - return databaseService.createOrUpdate(item, Dataset.class); + return getDatabaseService().createOrUpdate(item,Dataset.class); } @Override public Dataset find(UUID id) { - return databaseService.getQueryable(Dataset.class).where((builder, root) -> builder.equal((root.get("id")), id)).getSingle(); - } - - public Long count() { - return this.databaseService.count(Dataset.class); + return getDatabaseService().getQueryable(Dataset.class).where((builder, root) -> builder.equal((root.get("id")), id)).getSingle(); } @Override @@ -66,4 +46,9 @@ public class DatasetDaoImpl implements DatasetDao { , builder.equal(root.get("isPublic"), true))); return query; } + + @Override + public Long count() { + return this.getDatabaseService().count(Dataset.class); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDao.java index a41a6a53e..95f7e85c7 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDao.java @@ -1,27 +1,16 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; -import eu.eudat.entities.Dataset; +import eu.eudat.dao.DatabaseAccessLayer; import eu.eudat.entities.DatasetProfile; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.DatasetCriteria; import eu.eudat.models.criteria.DatasetProfileCriteria; import eu.eudat.queryable.QueryableList; -import org.springframework.stereotype.Service; -public interface DatasetProfileDao { +public interface DatasetProfileDao extends DatabaseAccessLayer { - QueryableList getWithCriteria(DatasetProfileCriteria criteria); - QueryableList getAll(); + QueryableList getWithCriteria(DatasetProfileCriteria criteria); - DatasetProfile createOrUpdate(DatasetProfile item); + QueryableList getAll(); - DatasetProfile find(UUID id); - - Long count(); - - } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDaoImpl.java index bb6a5a033..cf44bb260 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileDaoImpl.java @@ -1,54 +1,43 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; -import javax.persistence.Query; -import javax.persistence.TypedQuery; - -import eu.eudat.dao.JpaDao; +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; import eu.eudat.entities.Dataset; import eu.eudat.entities.DatasetProfile; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.DatasetCriteria; import eu.eudat.models.criteria.DatasetProfileCriteria; import eu.eudat.queryable.QueryableList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("datasetProfileDao") -public class DatasetProfileDaoImpl implements DatasetProfileDao { +public class DatasetProfileDaoImpl extends DatabaseAccess implements DatasetProfileDao { @Autowired - DatabaseService databaseService; + public DatasetProfileDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(DatasetProfileCriteria criteria) { - QueryableList query = databaseService.getQueryable(DatasetProfile.class); + QueryableList query = getDatabaseService().getQueryable(DatasetProfile.class); if(criteria.getLike()!=null&&!criteria.getLike().isEmpty())query.where((builder, root) -> builder.like(root.get("label"),"%"+criteria.getLike()+"%")); return query; } - @Override public DatasetProfile createOrUpdate(DatasetProfile item) { - return this.databaseService.createOrUpdate(item,DatasetProfile.class); + return this.getDatabaseService().createOrUpdate(item,DatasetProfile.class); } @Override public DatasetProfile find(UUID id) { - return databaseService.getQueryable(DatasetProfile.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); - } - - @Override - public Long count() { - return null; + return getDatabaseService().getQueryable(DatasetProfile.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); } @Override public QueryableList getAll() { - return databaseService.getQueryable(DatasetProfile.class); + return getDatabaseService().getQueryable(DatasetProfile.class); } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDao.java deleted file mode 100644 index 2f0695ae0..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDao.java +++ /dev/null @@ -1,11 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - -import eu.eudat.dao.Dao; -import eu.eudat.entities.DatasetProfileRuleset; -import org.springframework.stereotype.Service; - -public interface DatasetProfileRulesetDao extends Dao { - -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDaoImpl.java deleted file mode 100644 index b0f8c7600..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileRulesetDaoImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - - -import eu.eudat.dao.JpaDao; -import eu.eudat.entities.DatasetProfileRuleset; -import org.springframework.stereotype.Component; - -@Component("datasetProfileRulesetDao") -public class DatasetProfileRulesetDaoImpl extends JpaDao implements DatasetProfileRulesetDao { - - public DatasetProfileRuleset loadDetails(DatasetProfileRuleset t) { - // TODO Auto-generated method stub - return null; - } - - -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDao.java deleted file mode 100644 index 40617e09e..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDao.java +++ /dev/null @@ -1,11 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - -import eu.eudat.dao.Dao; -import eu.eudat.entities.DatasetProfileViewstyle; -import org.springframework.stereotype.Service; - -public interface DatasetProfileViewstyleDao extends Dao { - -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDaoImpl.java deleted file mode 100644 index f2fab2efc..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetProfileViewstyleDaoImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - - -import eu.eudat.dao.JpaDao; -import eu.eudat.entities.DatasetProfileViewstyle; -import org.springframework.stereotype.Component; - -@Component("datasetProfileViewstyleDao") -public class DatasetProfileViewstyleDaoImpl extends JpaDao implements DatasetProfileViewstyleDao { - - public DatasetProfileViewstyle loadDetails(DatasetProfileViewstyle t) { - // TODO Auto-generated method stub - return null; - } - - -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDao.java deleted file mode 100644 index b9099c414..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDao.java +++ /dev/null @@ -1,11 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - -import eu.eudat.dao.Dao; -import eu.eudat.entities.DatasetRegistry; -import org.springframework.stereotype.Service; - -public interface DatasetRegistryDao extends Dao { - -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDaoImpl.java deleted file mode 100644 index 29337fa45..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetRegistryDaoImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - - -import eu.eudat.dao.JpaDao; -import eu.eudat.entities.DatasetRegistry; -import org.springframework.stereotype.Component; - -@Component("datasetRegistryDao") -public class DatasetRegistryDaoImpl extends JpaDao implements DatasetRegistryDao { - - public DatasetRegistry loadDetails(DatasetRegistry t) { - // TODO Auto-generated method stub - return null; - } - - -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDao.java deleted file mode 100644 index bdf42280e..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDao.java +++ /dev/null @@ -1,11 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - -import eu.eudat.dao.Dao; -import eu.eudat.entities.DatasetService; -import org.springframework.stereotype.Service; - -public interface DatasetServiceDao { - -} \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDaoImpl.java deleted file mode 100644 index 33cdec30f..000000000 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/DatasetServiceDaoImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package eu.eudat.dao.entities; - -import java.util.UUID; - - -import eu.eudat.dao.JpaDao; -import eu.eudat.entities.DatasetService; -import org.springframework.stereotype.Component; - -@Component("datasetServiceDao") -public class DatasetServiceDaoImpl extends JpaDao implements DatasetServiceDao { - - public DatasetService loadDetails(DatasetService t) { - // TODO Auto-generated method stub - return null; - } - - -} diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDao.java index 7cfbca996..0b091c0d5 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDao.java @@ -1,5 +1,7 @@ package eu.eudat.dao.entities; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.DMP; import eu.eudat.entities.ExternalDataset; import eu.eudat.entities.Invitation; import eu.eudat.models.criteria.ExternalDatasetCriteria; @@ -11,13 +13,8 @@ import java.util.UUID; /** * Created by ikalyvas on 1/17/2018. */ -public interface ExternalDatasetDao { +public interface ExternalDatasetDao extends DatabaseAccessLayer { QueryableList getWithCriteria(ExternalDatasetCriteria criteria); - ExternalDataset createOrUpdate(ExternalDataset item); - - ExternalDataset find(UUID id); - - Long count(); } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDaoImpl.java index 8c7233b8a..16399126e 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ExternalDatasetDaoImpl.java @@ -1,6 +1,7 @@ package eu.eudat.dao.entities; - +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.DatasetProfile; import eu.eudat.entities.ExternalDataset; import eu.eudat.entities.Project; import eu.eudat.models.criteria.ExternalDatasetCriteria; @@ -14,30 +15,27 @@ import java.util.UUID; * Created by ikalyvas on 1/17/2018. */ @Component("externalDatasetDao") -public class ExternalDatasetDaoImpl implements ExternalDatasetDao { +public class ExternalDatasetDaoImpl extends DatabaseAccess implements ExternalDatasetDao { @Autowired - DatabaseService databaseService; + public ExternalDatasetDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(ExternalDatasetCriteria criteria) { - QueryableList query = this.databaseService.getQueryable(ExternalDataset.class); + QueryableList query = this.getDatabaseService().getQueryable(ExternalDataset.class); if (criteria.getLike() != null && !criteria.getLike().isEmpty()) query.where((builder, root) -> builder.like(root.get("label"), "%" + criteria.getLike() + "%")); return query; } @Override public ExternalDataset createOrUpdate(ExternalDataset item) { - return this.databaseService.createOrUpdate(item,ExternalDataset.class); + return this.getDatabaseService().createOrUpdate(item,ExternalDataset.class); } @Override public ExternalDataset find(UUID id) { - return this.databaseService.getQueryable(ExternalDataset.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); - } - - @Override - public Long count() { - return null; + return this.getDatabaseService().getQueryable(ExternalDataset.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDao.java index e48497e5a..cd5994a38 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDao.java @@ -1,6 +1,8 @@ package eu.eudat.dao.entities; +import eu.eudat.dao.DatabaseAccessLayer; import eu.eudat.entities.Dataset; +import eu.eudat.entities.ExternalDataset; import eu.eudat.entities.Invitation; import eu.eudat.models.criteria.DatasetCriteria; import eu.eudat.models.criteria.InvitationCriteria; @@ -11,13 +13,8 @@ import java.util.UUID; /** * Created by ikalyvas on 1/4/2018. */ -public interface InvitationDao { +public interface InvitationDao extends DatabaseAccessLayer { QueryableList getWithCriteria(InvitationCriteria criteria); - Invitation createOrUpdate(Invitation item); - - Invitation find(UUID id); - - Long count(); } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDaoImpl.java index a1ee0660d..bc9f75ee2 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/InvitationDaoImpl.java @@ -1,7 +1,8 @@ package eu.eudat.dao.entities; - +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; import eu.eudat.entities.DMP; +import eu.eudat.entities.ExternalDataset; import eu.eudat.entities.Invitation; import eu.eudat.models.criteria.InvitationCriteria; import eu.eudat.queryable.QueryableList; @@ -14,10 +15,12 @@ import java.util.UUID; * Created by ikalyvas on 1/4/2018. */ @Service("invitationDao") -public class InvitationDaoImpl implements InvitationDao{ +public class InvitationDaoImpl extends DatabaseAccess implements InvitationDao{ @Autowired - DatabaseService databaseService; + public InvitationDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(InvitationCriteria criteria) { @@ -26,16 +29,12 @@ public class InvitationDaoImpl implements InvitationDao{ @Override public Invitation createOrUpdate(Invitation item) { - return this.databaseService.createOrUpdate(item,Invitation.class); + return this.getDatabaseService().createOrUpdate(item,Invitation.class); } @Override public Invitation find(UUID id) { - return this.databaseService.getQueryable(Invitation.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); + return this.getDatabaseService().getQueryable(Invitation.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); } - @Override - public Long count() { - return null; - } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDao.java index 3ff8c04d7..da20902c8 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDao.java @@ -1,21 +1,15 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.Invitation; import eu.eudat.entities.Organisation; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; -import org.springframework.stereotype.Service; +import eu.eudat.models.criteria.OrganisationCriteria; +import eu.eudat.queryable.QueryableList; -public interface OrganisationDao extends Dao { - - public List listAllIDs(); - - List listAllIDsLabels(); - - List listBy(Criteria criteria); +public interface OrganisationDao extends DatabaseAccessLayer { + QueryableList getWithCriteria(OrganisationCriteria criteria); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDaoImpl.java index 271f40210..bc3c3db04 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/OrganisationDaoImpl.java @@ -1,58 +1,40 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; +import eu.eudat.dao.DatabaseAccess; +import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.Invitation; +import eu.eudat.models.criteria.OrganisationCriteria; +import eu.eudat.queryable.QueryableList; -import eu.eudat.models.criteria.Criteria; -import org.hibernate.query.Query; - -import eu.eudat.dao.JpaDao; import eu.eudat.entities.Organisation; -import eu.eudat.entities.responses.IDLabelPair; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("organisationDao") -public class OrganisationDaoImpl extends JpaDao implements OrganisationDao { +public class OrganisationDaoImpl extends DatabaseAccess implements OrganisationDao { - public Organisation loadDetails(Organisation t) { - // TODO Auto-generated method stub - return null; - } + @Autowired + public OrganisationDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } - @Override - public List listAllIDs() { - String queryString = "SELECT organisation.id FROM Organisation organisation"; - TypedQuery typedQuery = entityManager.createQuery(queryString, UUID.class); - return typedQuery.getResultList(); - } - - @Override - public List listAllIDsLabels() { - String queryString = "SELECT organisation.id, organisation.label FROM Organisation organisation"; - Query query = (Query) entityManager.createQuery(queryString); - List rows = query.list(); - return rows.stream().map(row -> { - return new IDLabelPair(row[0].toString(), row[1].toString()); - }) - .collect(Collectors.toList()); - } + @Override + public QueryableList getWithCriteria(OrganisationCriteria criteria) { + QueryableList query = this.getDatabaseService().getQueryable(Organisation.class); + if (criteria.getLike() != null) + query.where((builder, root) -> builder.equal(root.get("reference"), criteria.getLike())); + return query; + } + @Override + public Organisation createOrUpdate(Organisation item) { + return this.getDatabaseService().createOrUpdate(item,Organisation.class); + } - @Override - public List listBy(Criteria criteria) { - CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); - CriteriaQuery criteriaQuery = criteriaBuilder .createQuery(Organisation.class); - Root root = criteriaQuery.from(Organisation.class); - criteriaQuery.where(criteriaBuilder.equal(root.get("reference"), criteria.getLike())); - TypedQuery typedQuery = entityManager.createQuery(criteriaQuery); - return typedQuery.getResultList(); - } - - + @Override + public Organisation find(UUID id) { + return this.getDatabaseService().getQueryable(Organisation.class).where((builder, root) -> builder.equal(root.get("id"), id)).getSingle(); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDao.java index 6545833e8..65f4bd3a2 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDao.java @@ -1,23 +1,16 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.Organisation; import eu.eudat.entities.Project; -import eu.eudat.entities.responses.IDLabelPair; import eu.eudat.models.criteria.ProjectCriteria; -import eu.eudat.models.project.ProjectTableRequest; import eu.eudat.queryable.QueryableList; -import org.springframework.stereotype.Service; -public interface ProjectDao { +public interface ProjectDao extends DatabaseAccessLayer { QueryableList getWithCriteria(ProjectCriteria criteria); - Project createOrUpdate(Project item); - - Project find(UUID id); - Long count(); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDaoImpl.java index 5a92f31f7..dae86a8c6 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ProjectDaoImpl.java @@ -1,35 +1,27 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; - -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; - +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.Organisation; import eu.eudat.models.criteria.ProjectCriteria; import eu.eudat.queryable.QueryableList; -import org.hibernate.query.Query; -import eu.eudat.dao.JpaDao; import eu.eudat.entities.Project; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.project.ProjectTableRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("projectDao") -public class ProjectDaoImpl implements ProjectDao { +public class ProjectDaoImpl extends DatabaseAccess implements ProjectDao { @Autowired - DatabaseService databaseService; + public ProjectDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(ProjectCriteria criteria) { - QueryableList query = databaseService.getQueryable(Project.class); + QueryableList query = getDatabaseService().getQueryable(Project.class); if(criteria.getLike()!=null&&!criteria.getLike().isEmpty())query.where((builder, root) -> builder.like(root.get("label"),"%"+criteria.getLike()+"%")); if(criteria.getPeriodEnd()!=null)query.where((builder, root) -> builder.lessThan(root.get("enddate"),criteria.getPeriodEnd())); if(criteria.getPeriodStart()!=null)query.where((builder, root) -> builder.greaterThan(root.get("startdate"),criteria.getPeriodStart())); @@ -39,15 +31,16 @@ public class ProjectDaoImpl implements ProjectDao { @Override public Project createOrUpdate(Project item) { - return databaseService.createOrUpdate(item,Project.class); + return getDatabaseService().createOrUpdate(item,Project.class); } @Override public Project find(UUID id) { - return databaseService.getQueryable(Project.class).where((builder, root) -> builder.equal((root.get("id")),id)).getSingle(); + return getDatabaseService().getQueryable(Project.class).where((builder, root) -> builder.equal((root.get("id")),id)).getSingle(); } - public Long count(){ - return this.databaseService.count(Project.class); + @Override + public Long count() { + return this.getDatabaseService().count(Project.class); } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDao.java index e8c5cb6ca..78ac6a00d 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDao.java @@ -1,20 +1,15 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.Project; import eu.eudat.entities.Registry; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; -import org.springframework.stereotype.Service; +import eu.eudat.models.criteria.RegistryCriteria; +import eu.eudat.queryable.QueryableList; -public interface RegistryDao extends Dao { +public interface RegistryDao extends DatabaseAccessLayer { - List listAllIDs(); - - List listAllIDsLabels(); - - List listBy(Criteria criteria); + QueryableList getWithCriteria(RegistryCriteria criteria); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDaoImpl.java index f548cee5d..b3590d8c3 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/RegistryDaoImpl.java @@ -1,59 +1,39 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; +import eu.eudat.dao.DatabaseAccess; +import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.Organisation; +import eu.eudat.models.criteria.RegistryCriteria; +import eu.eudat.queryable.QueryableList; -import org.hibernate.query.Query; - -import eu.eudat.dao.JpaDao; import eu.eudat.entities.Registry; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("registryDao") -public class RegistryDaoImpl extends JpaDao implements RegistryDao { +public class RegistryDaoImpl extends DatabaseAccess implements RegistryDao { - public Registry loadDetails(Registry t) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List listAllIDs() { - String queryString = "SELECT registry.id FROM Registry registry"; - TypedQuery typedQuery = entityManager.createQuery(queryString, UUID.class); - return typedQuery.getResultList(); - } - - - @Override - public List listAllIDsLabels() { - String queryString = "SELECT registry.id, registry.label FROM Registry registry"; - Query query = (Query) entityManager.createQuery(queryString); - List rows = query.list(); - return rows.stream().map(row -> { - return new IDLabelPair(row[0].toString(), row[1].toString()); - }) - .collect(Collectors.toList()); + @Autowired + public RegistryDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); } @Override - public List listBy(Criteria criteria) { - CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); - CriteriaQuery criteriaQuery = criteriaBuilder .createQuery(Registry.class); - Root root = criteriaQuery.from(Registry.class); - criteriaQuery.where(criteriaBuilder.equal(root.get("reference"), criteria.getLike())); - TypedQuery typedQuery = entityManager.createQuery(criteriaQuery); - return typedQuery.getResultList(); + public QueryableList getWithCriteria(RegistryCriteria criteria) { + QueryableList query = this.getDatabaseService().getQueryable(Registry.class); + if(criteria.getLike()!=null) query.where((builder, root) -> builder.equal(root.get("reference"),criteria.getLike())); + return query; } - + @Override + public Registry createOrUpdate(Registry item) { + return this.getDatabaseService().createOrUpdate(item,Registry.class); + } + @Override + public Registry find(UUID id) { + return this.getDatabaseService().getQueryable(Registry.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDao.java index f9f1926e6..cf49c34d4 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDao.java @@ -1,23 +1,15 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.Registry; import eu.eudat.entities.Researcher; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; -import org.springframework.stereotype.Service; +import eu.eudat.models.criteria.ResearcherCriteria; +import eu.eudat.queryable.QueryableList; -public interface ResearcherDao extends Dao { - - List listAllIDs(); - - List listAllIDsLabels(); - - Researcher getResearcherByEmail(String email); - - List listBy(Criteria criteria); +public interface ResearcherDao extends DatabaseAccessLayer { + QueryableList getWithCriteria(ResearcherCriteria criteria); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDaoImpl.java index 0e36b2141..16702d4fb 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ResearcherDaoImpl.java @@ -1,69 +1,39 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; +import eu.eudat.dao.DatabaseAccess; +import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.Organisation; +import eu.eudat.models.criteria.ResearcherCriteria; +import eu.eudat.queryable.QueryableList; -import eu.eudat.models.criteria.Criteria; -import org.hibernate.query.Query; - -import eu.eudat.dao.JpaDao; import eu.eudat.entities.Researcher; -import eu.eudat.entities.responses.IDLabelPair; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("researcherDao") -public class ResearcherDaoImpl extends JpaDao implements ResearcherDao { +public class ResearcherDaoImpl extends DatabaseAccess implements ResearcherDao { - public Researcher loadDetails(Researcher t) { - // TODO Auto-generated method stub - return null; - } - - - @Override - public List listAllIDs() { - String queryString = "SELECT researcher.id FROM Researcher researcher"; - TypedQuery typedQuery = entityManager.createQuery(queryString, UUID.class); - return typedQuery.getResultList(); - } - - - @Override - public List listAllIDsLabels() { - String queryString = "SELECT researcher.id, researcher.label FROM Researcher researcher"; - Query query = (Query) entityManager.createQuery(queryString); - List rows = query.list(); - return rows.stream().map(row -> { - return new IDLabelPair(row[0].toString(), row[1].toString()); - }) - .collect(Collectors.toList()); - } - - - @Override - public Researcher getResearcherByEmail(String email) { - String queryString = "FROM Researcher researcher where researcher.primaryEmail=:email"; - TypedQuery typedQuery = entityManager.createQuery(queryString, Researcher.class); - - - return null; + @Autowired + public ResearcherDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); } @Override - public List listBy(Criteria criteria) { - CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); - CriteriaQuery criteriaQuery = criteriaBuilder .createQuery(Researcher.class); - Root root = criteriaQuery.from(Researcher.class); - criteriaQuery.where(criteriaBuilder.equal(root.get("reference"), criteria.getLike())); - TypedQuery typedQuery = entityManager.createQuery(criteriaQuery); - return typedQuery.getResultList(); + public QueryableList getWithCriteria(ResearcherCriteria criteria) { + QueryableList query = this.getDatabaseService().getQueryable(Researcher.class); + if(criteria.getLike()!=null) query.where((builder, root) -> builder.equal(root.get("reference"),criteria.getLike())); + return query; + } + + @Override + public Researcher createOrUpdate(Researcher item) { + return this.getDatabaseService().createOrUpdate(item,Researcher.class); + } + + @Override + public Researcher find(UUID id) { + return this.getDatabaseService().getQueryable(Researcher.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); } - - } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDao.java index 4e792024a..dfa623c68 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDao.java @@ -1,19 +1,15 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.Researcher; import eu.eudat.entities.Service; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; +import eu.eudat.models.criteria.ServiceCriteria; +import eu.eudat.queryable.QueryableList; -public interface ServiceDao extends Dao { +public interface ServiceDao extends DatabaseAccessLayer { - List listAllIDs(); - - List listAllIDsLabels(); - - List listBy(Criteria criteria); + QueryableList getWithCriteria(ServiceCriteria criteria); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDaoImpl.java index f1225f0f4..7e2c13ede 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/ServiceDaoImpl.java @@ -1,58 +1,39 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import java.util.stream.Collectors; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; +import eu.eudat.dao.DatabaseAccess; +import eu.eudat.dao.databaselayer.service.DatabaseService; +import eu.eudat.entities.Organisation; +import eu.eudat.models.criteria.ServiceCriteria; +import eu.eudat.queryable.QueryableList; -import org.hibernate.query.Query; - -import eu.eudat.dao.JpaDao; import eu.eudat.entities.Service; -import eu.eudat.entities.responses.IDLabelPair; -import eu.eudat.models.criteria.Criteria; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("serviceDao") -public class ServiceDaoImpl extends JpaDao implements ServiceDao { +public class ServiceDaoImpl extends DatabaseAccess implements ServiceDao { - public Service loadDetails(Service t) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List listAllIDs() { - String queryString = "SELECT service.id FROM Service service"; - TypedQuery typedQuery = entityManager.createQuery(queryString, UUID.class); - return typedQuery.getResultList(); - } - - - @Override - public List listAllIDsLabels() { - String queryString = "SELECT service.id, service.label FROM Service service"; - Query query = (Query) entityManager.createQuery(queryString); - List rows = query.list(); - return rows.stream().map(row -> { - return new IDLabelPair(row[0].toString(), row[1].toString()); - }) - .collect(Collectors.toList()); + @Autowired + public ServiceDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); } @Override - public List listBy(Criteria criteria) { - CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); - CriteriaQuery criteriaQuery = criteriaBuilder .createQuery(Service.class); - Root root = criteriaQuery.from(Service.class); - criteriaQuery.where(criteriaBuilder.equal(root.get("reference"), criteria.getLike())); - TypedQuery typedQuery = entityManager.createQuery(criteriaQuery); - return typedQuery.getResultList(); + public QueryableList getWithCriteria(ServiceCriteria criteria) { + QueryableList query = this.getDatabaseService().getQueryable(Service.class); + if(criteria.getLike()!=null) query.where((builder, root) -> builder.equal(root.get("reference"),criteria.getLike())); + return query; } - + @Override + public Service createOrUpdate(Service item) { + return this.getDatabaseService().createOrUpdate(item,Service.class); + } + + @Override + public Service find(UUID id) { + return this.getDatabaseService().getQueryable(Service.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); + } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDao.java index be5dcbabf..8fab000f0 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDao.java @@ -1,25 +1,15 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import eu.eudat.dao.Dao; -import eu.eudat.entities.DMP; -import eu.eudat.entities.Project; +import eu.eudat.dao.DatabaseAccessLayer; +import eu.eudat.entities.Service; import eu.eudat.entities.UserInfo; -import eu.eudat.models.criteria.ProjectCriteria; import eu.eudat.models.criteria.UserInfoCriteria; import eu.eudat.queryable.QueryableList; -import org.springframework.stereotype.Service; -public interface UserInfoDao { +public interface UserInfoDao extends DatabaseAccessLayer { QueryableList getWithCriteria(UserInfoCriteria criteria); - UserInfo createOrUpdate(UserInfo item); - - UserInfo find(UUID id); - - Long count(); - } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDaoImpl.java index c5cddb4ca..ab4553a12 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/UserInfoDaoImpl.java @@ -1,31 +1,27 @@ package eu.eudat.dao.entities; -import java.util.List; import java.util.UUID; -import javax.persistence.NoResultException; -import javax.persistence.TypedQuery; - -import eu.eudat.dao.JpaDao; +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; -import eu.eudat.entities.DMP; -import eu.eudat.entities.Invitation; +import eu.eudat.entities.Organisation; import eu.eudat.entities.UserInfo; -import eu.eudat.models.criteria.ProjectCriteria; import eu.eudat.models.criteria.UserInfoCriteria; import eu.eudat.queryable.QueryableList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component("userInfoDao") -public class UserInfoDaoImpl implements UserInfoDao { +public class UserInfoDaoImpl extends DatabaseAccess implements UserInfoDao { @Autowired - private DatabaseService databaseService; + public UserInfoDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public QueryableList getWithCriteria(UserInfoCriteria criteria) { - QueryableList users = this.databaseService.getQueryable(UserInfo.class); + QueryableList users = this.getDatabaseService().getQueryable(UserInfo.class); if (criteria.getLike() != null) users.where((builder, root) -> builder.or(builder.like(root.get("name"), "%" + criteria.getLike() + "%"), builder.like(root.get("email"), "%" + criteria.getLike() + "%"))); if(criteria.getEmail()!=null) @@ -35,16 +31,12 @@ public class UserInfoDaoImpl implements UserInfoDao { @Override public UserInfo createOrUpdate(UserInfo item) { - return this.databaseService.createOrUpdate(item,UserInfo.class); + return this.getDatabaseService().createOrUpdate(item,UserInfo.class); } @Override public UserInfo find(UUID id) { - return this.databaseService.getQueryable(UserInfo.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); + return this.getDatabaseService().getQueryable(UserInfo.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingle(); } - @Override - public Long count() { - return null; - } } \ No newline at end of file diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDao.java index 9179a22c2..2281e284f 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDao.java @@ -1,11 +1,6 @@ package eu.eudat.dao.entities.security; -import eu.eudat.dao.Dao; import eu.eudat.entities.Credential; -import eu.eudat.entities.Project; -import eu.eudat.entities.UserToken; - -import java.util.UUID; /** * Created by ikalyvas on 12/15/2017. diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDaoImpl.java index 183b3fe3c..23b59e477 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/CredentialDaoImpl.java @@ -1,26 +1,25 @@ package eu.eudat.dao.entities.security; -import eu.eudat.dao.JpaDao; +import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.databaselayer.service.DatabaseService; import eu.eudat.entities.Credential; -import eu.eudat.entities.Project; -import eu.eudat.entities.UserToken; +import eu.eudat.entities.UserInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.UUID; - /** * Created by ikalyvas on 12/15/2017. */ @Component("credentialDao") -public class CredentialDaoImpl implements CredentialDao { +public class CredentialDaoImpl extends DatabaseAccess implements CredentialDao { @Autowired - DatabaseService databaseService; + public CredentialDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } @Override public Credential createOrUpdate(Credential item) { - return this.databaseService.createOrUpdate(item,Credential.class); + return this.getDatabaseService().createOrUpdate(item,Credential.class); } } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDao.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDao.java index 2250bfd68..2e3de2a79 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDao.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDao.java @@ -1,6 +1,5 @@ package eu.eudat.dao.entities.security; -import eu.eudat.dao.Dao; import eu.eudat.entities.UserToken; import java.util.UUID; @@ -8,6 +7,11 @@ import java.util.UUID; /** * Created by ikalyvas on 12/15/2017. */ -public interface UserTokenDao extends Dao { +public interface UserTokenDao { + UserToken createOrUpdate(UserToken item); + + UserToken find(UUID id); + + void delete(UserToken token); } diff --git a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDaoImpl.java b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDaoImpl.java index 0ce6b797d..b17ad1b74 100644 --- a/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDaoImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/dao/entities/security/UserTokenDaoImpl.java @@ -1,7 +1,9 @@ package eu.eudat.dao.entities.security; -import eu.eudat.dao.JpaDao; +import eu.eudat.dao.DatabaseAccess; +import eu.eudat.dao.databaselayer.service.DatabaseService; import eu.eudat.entities.UserToken; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.UUID; @@ -10,9 +12,25 @@ import java.util.UUID; * Created by ikalyvas on 12/15/2017. */ @Component("userTokenDao") -public class UserTokenDaoImpl extends JpaDao implements UserTokenDao { +public class UserTokenDaoImpl extends DatabaseAccess implements UserTokenDao { + + @Autowired + public UserTokenDaoImpl(DatabaseService databaseService) { + this.setDatabaseService(databaseService); + } + @Override - public UserToken loadDetails(UserToken userToken) { - return null; + public UserToken createOrUpdate(UserToken item) { + return this.getDatabaseService().createOrUpdate(item,UserToken.class); + } + + @Override + public UserToken find(UUID id) { + return this.getDatabaseService().getQueryable(UserToken.class).where((builder, root) -> builder.equal(root.get("token"),id)).getSingle(); + } + + @Override + public void delete(UserToken userToken) { + this.getDatabaseService().delete(userToken); } } diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Credential.java b/dmp-backend/src/main/java/eu/eudat/entities/Credential.java index 86b5466ac..e9e4255de 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Credential.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Credential.java @@ -10,7 +10,7 @@ import java.util.UUID; * Created by ikalyvas on 12/15/2017. */ @Entity -@Table(name="\"Credential\"") +@Table(name = "\"Credential\"") public class Credential implements DataEntity { @Id @@ -18,7 +18,7 @@ public class Credential implements DataEntity { private UUID id; @ManyToOne - @JoinColumn(name="\"UserId\"", nullable=false) + @JoinColumn(name = "\"UserId\"", nullable = false) private UserInfo userInfo; @Column(name = "\"Status\"", nullable = false) diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DMP.java b/dmp-backend/src/main/java/eu/eudat/entities/DMP.java index 534df1b70..2a6d665d4 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DMP.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DMP.java @@ -34,8 +34,6 @@ public class DMP implements Serializable, DataEntity { } private static final Set hints = new HashSet<>(Arrays.asList("dataManagementPlanListingModel", "fullyDetailed")); - private static final long serialVersionUID = -8263056535208547615L; - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DMPOrganisation.java b/dmp-backend/src/main/java/eu/eudat/entities/DMPOrganisation.java index 566e74215..8affa74c8 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DMPOrganisation.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DMPOrganisation.java @@ -18,15 +18,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DMPOrganisation\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class DMPOrganisation implements Serializable { - - private static final long serialVersionUID = -222030426979174777L; - - public DMPOrganisation () {} - - @Id @GeneratedValue @GenericGenerator(name = "uuid2", strategy = "uuid2") diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DMPProfile.java b/dmp-backend/src/main/java/eu/eudat/entities/DMPProfile.java index 3b63a5be9..77a879215 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DMPProfile.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DMPProfile.java @@ -23,13 +23,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DMPProfile\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class DMPProfile implements Serializable { - - private static final long serialVersionUID = 3213099144442689808L; - - public DMPProfile () {} - +public class DMPProfile { @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DMPResearcher.java b/dmp-backend/src/main/java/eu/eudat/entities/DMPResearcher.java index 159fc6317..f8a3c9b9d 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DMPResearcher.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DMPResearcher.java @@ -19,13 +19,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DMPResearcher\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class DMPResearcher implements Serializable { - - private static final long serialVersionUID = 135449857355252959L; - - public DMPResearcher () {} - +public class DMPResearcher { @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DataEntity.java b/dmp-backend/src/main/java/eu/eudat/entities/DataEntity.java index aedd0cee3..777bd8e13 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DataEntity.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DataEntity.java @@ -7,5 +7,4 @@ public interface DataEntity { void update(T entity); Object[] getKeys(); - } diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DataRepository.java b/dmp-backend/src/main/java/eu/eudat/entities/DataRepository.java index 933a6290b..c60f1dc60 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DataRepository.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DataRepository.java @@ -24,15 +24,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DataRepository\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class DataRepository implements Serializable,DataEntity { - - private static final long serialVersionUID = 4162323701450468639L; - - public DataRepository () {} - - @Id @GeneratedValue @GenericGenerator(name = "uuid2", strategy = "uuid2") diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Dataset.java b/dmp-backend/src/main/java/eu/eudat/entities/Dataset.java index df72f03ed..bfe7be838 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Dataset.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Dataset.java @@ -29,8 +29,6 @@ public class Dataset implements DataEntity { } private static final Set hints = new HashSet<>(Arrays.asList("datasetListingModel")); - private static final long serialVersionUID = 3575723814399553259L; - public enum Status { SAVED((short) 0), FINALISED((short) 1), DELETED((short) 99); @@ -55,9 +53,6 @@ public class Dataset implements DataEntity { } } } - - public Dataset () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfile.java b/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfile.java index 9735c7ff5..564dac7d9 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfile.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfile.java @@ -25,14 +25,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DatasetProfile\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class DatasetProfile implements Serializable,DataEntity { - - - private static final long serialVersionUID = 8203086344232867334L; - - public DatasetProfile () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileRuleset.java b/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileRuleset.java index 14c2328cf..69b8a4ab4 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileRuleset.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileRuleset.java @@ -21,14 +21,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DatasetProfileRuleset\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class DatasetProfileRuleset implements Serializable { - private static final long serialVersionUID = 4249565129050898613L; - - public DatasetProfileRuleset () {} - - @Id @GeneratedValue @GenericGenerator(name = "uuid2", strategy = "uuid2") diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileViewstyle.java b/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileViewstyle.java index e4ee02656..e1656f7af 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileViewstyle.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DatasetProfileViewstyle.java @@ -21,13 +21,9 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DatasetProfileViewstyle\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class DatasetProfileViewstyle implements Serializable { +public class DatasetProfileViewstyle { - private static final long serialVersionUID = -3251295258160291468L; - public DatasetProfileViewstyle () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DatasetRegistry.java b/dmp-backend/src/main/java/eu/eudat/entities/DatasetRegistry.java index ba0d48d75..dbb08a9b3 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DatasetRegistry.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DatasetRegistry.java @@ -19,13 +19,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DatasetRegistry\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class DatasetRegistry implements Serializable { - - private static final long serialVersionUID = -5594183793725819187L; - - public DatasetRegistry () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/DatasetService.java b/dmp-backend/src/main/java/eu/eudat/entities/DatasetService.java index f89588813..ed7171dab 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/DatasetService.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/DatasetService.java @@ -19,13 +19,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"DatasetService\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class DatasetService implements Serializable { - - private static final long serialVersionUID = 1469161193939096037L; - - public DatasetService () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Organisation.java b/dmp-backend/src/main/java/eu/eudat/entities/Organisation.java index a4feab4a9..9588f3d9f 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Organisation.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Organisation.java @@ -25,15 +25,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"Organisation\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class Organisation implements Serializable,DataEntity { - - private static final long serialVersionUID = 3614146195740867782L; - - public Organisation () {} - - @Id @GeneratedValue @GenericGenerator(name = "uuid2", strategy = "uuid2") diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Project.java b/dmp-backend/src/main/java/eu/eudat/entities/Project.java index 9167649c2..181f2635b 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Project.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Project.java @@ -28,7 +28,6 @@ import com.fasterxml.jackson.databind.SerializationFeature; @Entity @Table(name="\"Project\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") public class Project implements DataEntity { public enum Status { @@ -47,9 +46,9 @@ public class Project implements DataEntity { public static Status fromInteger(int value) { switch (value) { case 0: - return ACTIVE; - case 1: return INACTIVE; + case 1: + return ACTIVE; case 99: return DELETED; default: @@ -57,8 +56,6 @@ public class Project implements DataEntity { } } } - public Project () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Registry.java b/dmp-backend/src/main/java/eu/eudat/entities/Registry.java index 1a47a7dcb..097b9589b 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Registry.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Registry.java @@ -25,13 +25,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"Registry\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class Registry implements Serializable,DataEntity { +public class Registry implements DataEntity { - private static final long serialVersionUID = -277572262583178090L; - - public Registry () {} - @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Researcher.java b/dmp-backend/src/main/java/eu/eudat/entities/Researcher.java index 0474646db..439b4d4dd 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Researcher.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Researcher.java @@ -25,14 +25,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"Researcher\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class Researcher implements Serializable,DataEntity { - - - private static final long serialVersionUID = -2513186824704729896L; - - public Researcher () {} - +public class Researcher implements DataEntity { @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/Service.java b/dmp-backend/src/main/java/eu/eudat/entities/Service.java index de5dc38d9..e27045f60 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/Service.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/Service.java @@ -25,11 +25,7 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"Service\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class Service implements Serializable,DataEntity { - - private static final long serialVersionUID = 163279108676904730L; - +public class Service implements DataEntity { @Id @GeneratedValue diff --git a/dmp-backend/src/main/java/eu/eudat/entities/UserDMP.java b/dmp-backend/src/main/java/eu/eudat/entities/UserDMP.java index 528a119f9..552df528e 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/UserDMP.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/UserDMP.java @@ -17,11 +17,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"UserDMP\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class UserDMP implements Serializable{ +public class UserDMP { - private static final long serialVersionUID = -4467370784003784660L; - @Id @GeneratedValue @GenericGenerator(name = "uuid2", strategy = "uuid2") diff --git a/dmp-backend/src/main/java/eu/eudat/entities/UserInfo.java b/dmp-backend/src/main/java/eu/eudat/entities/UserInfo.java index 2c58d0769..3355dd617 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/UserInfo.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/UserInfo.java @@ -17,11 +17,8 @@ import com.fasterxml.jackson.annotation.ObjectIdGenerators; @Entity @Table(name="\"UserInfo\"") -@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id") -public class UserInfo implements Serializable,DataEntity{ +public class UserInfo implements DataEntity{ - private static final long serialVersionUID = 1225151430484658395L; - @Id @GeneratedValue @GenericGenerator(name = "uuid2", strategy = "uuid2") diff --git a/dmp-backend/src/main/java/eu/eudat/entities/UserToken.java b/dmp-backend/src/main/java/eu/eudat/entities/UserToken.java index b68b8ab70..caf85c453 100644 --- a/dmp-backend/src/main/java/eu/eudat/entities/UserToken.java +++ b/dmp-backend/src/main/java/eu/eudat/entities/UserToken.java @@ -11,8 +11,6 @@ import java.util.UUID; @Table(name="\"UserToken\"") public class UserToken implements DataEntity{ - private static final long serialVersionUID = 1225151430484658395L; - @Id @Column(name = "\"Token\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)") private UUID token; diff --git a/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java b/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java index 74cdbb79d..e7d26aa5b 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/DataManagementPlanManager.java @@ -1,6 +1,5 @@ package eu.eudat.managers; -import java.text.ParseException; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; @@ -11,14 +10,13 @@ import eu.eudat.entities.Project; import eu.eudat.entities.UserInfo; import eu.eudat.exceptions.UnauthorisedException; import eu.eudat.models.HintedModelFactory; -import eu.eudat.models.criteria.DataManagementPlanCriteria; import eu.eudat.models.criteria.OrganisationCriteria; import eu.eudat.models.criteria.ProjectCriteria; import eu.eudat.models.criteria.ResearcherCriteria; import eu.eudat.models.dmp.DataManagementPlan; import eu.eudat.models.dmp.DataManagementPlanCriteriaRequest; import eu.eudat.models.dmp.DataManagementPlanTableRequest; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.listingmodels.DataManagementPlanListingModel; import eu.eudat.models.security.Principal; import eu.eudat.queryable.QueryableList; @@ -27,7 +25,7 @@ import eu.eudat.utilities.builders.DomainModelConverter; public class DataManagementPlanManager { - public DataTableData getPaged(ApiContext apiContext, DataManagementPlanTableRequest dataManagementPlanTableRequest, Principal principal) throws IllegalAccessException, InstantiationException { + public DataTableData getPaged(ApiContext apiContext, DataManagementPlanTableRequest dataManagementPlanTableRequest, Principal principal) throws Exception { UserInfo userInfo = new UserInfo(); userInfo.setId(principal.getId()); QueryableList items = apiContext.getDatabaseRepository().getDmpDao().getWithCriteria(dataManagementPlanTableRequest.getCriteria()); @@ -85,9 +83,9 @@ public class DataManagementPlanManager { for (eu.eudat.entities.Researcher researcher : newDmp.getResearchers()) { ResearcherCriteria criteria = new ResearcherCriteria(); criteria.setLike(researcher.getReference()); - List entries = researcherRepository.listBy(criteria); + List entries = researcherRepository.getWithCriteria(criteria).toList(); if (entries != null && !entries.isEmpty()) researcher.setId(entries.get(0).getId()); - else researcher = researcherRepository.create(researcher); + else researcher = researcherRepository.createOrUpdate(researcher); } } } @@ -97,9 +95,9 @@ public class DataManagementPlanManager { for (eu.eudat.entities.Organisation organisation : newDmp.getOrganisations()) { OrganisationCriteria criteria = new OrganisationCriteria(); criteria.setLike(organisation.getReference()); - List entries = organisationRepository.listBy(criteria); + List entries = organisationRepository.getWithCriteria(criteria).toList(); if (entries != null && !entries.isEmpty()) organisation.setId(entries.get(0).getId()); - else organisation = organisationRepository.create(organisation); + else organisation = organisationRepository.createOrUpdate(organisation); } } } diff --git a/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java b/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java index 02258a4d7..5486183b8 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java @@ -7,13 +7,10 @@ import eu.eudat.models.criteria.DataRepositoryCriteria; import eu.eudat.models.criteria.ExternalDatasetCriteria; import eu.eudat.models.criteria.RegistryCriteria; import eu.eudat.models.criteria.ServiceCriteria; -import eu.eudat.models.dataset.Dataset; import eu.eudat.models.dataset.DatasetTableRequest; import eu.eudat.models.datasetwizard.DatasetWizardModel; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.listingmodels.DatasetListingModel; -import eu.eudat.models.project.Project; -import eu.eudat.models.project.ProjectTableRequest; import eu.eudat.models.properties.PropertiesModel; import eu.eudat.models.security.Principal; import eu.eudat.models.user.composite.PagedDatasetProfile; @@ -22,7 +19,6 @@ import eu.eudat.services.ApiContext; import eu.eudat.utilities.builders.DomainModelConverter; import org.json.JSONObject; -import java.text.ParseException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -33,7 +29,7 @@ import java.util.UUID; */ public class DatasetManager { - public DataTableData getPaged(ApiContext apiContext, DatasetTableRequest datasetTableRequest, Principal principal) throws IllegalAccessException, InstantiationException { + public DataTableData getPaged(ApiContext apiContext, DatasetTableRequest datasetTableRequest, Principal principal) throws Exception { UserInfo userInfo = new UserInfo(); userInfo.setId(principal.getId()); QueryableList items = apiContext.getDatabaseRepository().getDatasetDao().getWithCriteria(datasetTableRequest.getCriteria()); @@ -87,9 +83,9 @@ public class DatasetManager { for (eu.eudat.entities.Registry registry : dataset.getRegistries()) { RegistryCriteria criteria = new RegistryCriteria(); criteria.setLike(registry.getReference()); - List entries = registryDao.listBy(criteria); + List entries = registryDao.getWithCriteria(criteria).toList(); if (entries != null && !entries.isEmpty()) registry.setId(entries.get(0).getId()); - else registry = registryDao.create(registry); + else registry = registryDao.createOrUpdate(registry); } } } @@ -99,9 +95,9 @@ public class DatasetManager { for (eu.eudat.entities.Service service : dataset.getServices()) { ServiceCriteria criteria = new ServiceCriteria(); criteria.setLike(service.getReference()); - List entries = serviceDao.listBy(criteria); + List entries = serviceDao.getWithCriteria(criteria).toList(); if (entries != null && !entries.isEmpty()) service.setId(entries.get(0).getId()); - else service = serviceDao.create(service); + else service = serviceDao.createOrUpdate(service); } } } @@ -111,7 +107,7 @@ public class DatasetManager { for (eu.eudat.entities.DataRepository dataRepo : dataset.getDataRepositories()) { DataRepositoryCriteria criteria = new DataRepositoryCriteria(); criteria.setLike(dataRepo.getReference()); - List entries = dataRepositoryDao.listBy(criteria); + List entries = dataRepositoryDao.getWithCriteria(criteria).toList(); if (entries != null && !entries.isEmpty()) dataRepo.setId(entries.get(0).getId()); else dataRepo = dataRepositoryDao.createOrUpdate(dataRepo); } diff --git a/dmp-backend/src/main/java/eu/eudat/managers/DatasetProfileManager.java b/dmp-backend/src/main/java/eu/eudat/managers/DatasetProfileManager.java index abd3eadfa..78f7c8d1b 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/DatasetProfileManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/DatasetProfileManager.java @@ -1,18 +1,12 @@ package eu.eudat.managers; -import eu.eudat.dao.entities.DMPDao; -import eu.eudat.dao.entities.DatasetDao; import eu.eudat.dao.entities.DatasetProfileDao; -import eu.eudat.entities.DMP; import eu.eudat.entities.DatasetProfile; import eu.eudat.models.datasetprofile.DatasetProfileAutocompleteItem; import eu.eudat.models.datasetprofile.DatasetProfileAutocompleteRequest; import eu.eudat.models.datasetprofile.DatasetProfileListingModel; import eu.eudat.models.datasetprofile.DatasetProfileTableRequestItem; -import eu.eudat.models.dmp.DataManagementPlan; -import eu.eudat.models.dmp.DataManagementPlanCriteriaRequest; -import eu.eudat.models.helpers.DataTableData; -import eu.eudat.models.listingmodels.DatasetListingModel; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.queryable.QueryableList; import eu.eudat.utilities.builders.DomainModelConverter; @@ -29,7 +23,7 @@ public class DatasetProfileManager { return datasetProfiles; } - public static DataTableData getPaged(DatasetProfileDao datasetProfileRepository, DatasetProfileTableRequestItem datasetProfileTableRequestItem) throws IllegalAccessException, InstantiationException{ + public static DataTableData getPaged(DatasetProfileDao datasetProfileRepository, DatasetProfileTableRequestItem datasetProfileTableRequestItem) throws Exception { QueryableList items = datasetProfileRepository.getWithCriteria(datasetProfileTableRequestItem.getCriteria()); QueryableList pagedItems = PaginationManager.applyPaging(items,datasetProfileTableRequestItem); List datasetProfiles = new DomainModelConverter().fromDataModel( pagedItems.toList(), DatasetProfileListingModel.class); diff --git a/dmp-backend/src/main/java/eu/eudat/managers/ExternalDatasetManager.java b/dmp-backend/src/main/java/eu/eudat/managers/ExternalDatasetManager.java index e2b83f3df..9c056f00e 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/ExternalDatasetManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/ExternalDatasetManager.java @@ -3,13 +3,9 @@ package eu.eudat.managers; import eu.eudat.dao.entities.ExternalDatasetDao; import eu.eudat.entities.ExternalDataset; import eu.eudat.models.criteria.ExternalDatasetCriteria; -import eu.eudat.models.external.ExternalDatasetModel; -import eu.eudat.models.external.ExternalSourcesItemModel; -import eu.eudat.models.external.ProjectsExternalSourcesModel; import eu.eudat.models.externaldataset.ExternalDatasetTableRequest; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.externaldataset.ExternalDatasetListingModel; -import eu.eudat.models.project.Project; import eu.eudat.proxy.config.exceptions.HugeResultSet; import eu.eudat.proxy.config.exceptions.NoURLFound; import eu.eudat.proxy.fetching.RemoteFetcher; @@ -17,7 +13,6 @@ import eu.eudat.queryable.QueryableList; import eu.eudat.utilities.builders.DomainModelConverter; import java.util.List; -import java.util.Map; import java.util.UUID; /** @@ -25,7 +20,7 @@ import java.util.UUID; */ public class ExternalDatasetManager { - public DataTableData getPaged(ExternalDatasetDao externalDatasetDao, ExternalDatasetTableRequest externalDatasetTableRequest) throws InstantiationException, IllegalAccessException { + public DataTableData getPaged(ExternalDatasetDao externalDatasetDao, ExternalDatasetTableRequest externalDatasetTableRequest) throws Exception { QueryableList items = externalDatasetDao.getWithCriteria(externalDatasetTableRequest.getCriteria()); QueryableList pagedItems = PaginationManager.applyPaging(items, externalDatasetTableRequest); List externalDatasetListingmodels = new DomainModelConverter().fromDataModel(pagedItems.toList(), ExternalDatasetListingModel.class); diff --git a/dmp-backend/src/main/java/eu/eudat/managers/PaginationManager.java b/dmp-backend/src/main/java/eu/eudat/managers/PaginationManager.java index 859fb597b..4d4a94bda 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/PaginationManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/PaginationManager.java @@ -1,14 +1,26 @@ package eu.eudat.managers; import eu.eudat.entities.DataEntity; +import eu.eudat.models.helpers.common.ColumnOrderings; +import eu.eudat.models.helpers.common.Ordering; import eu.eudat.models.helpers.requests.TableRequest; import eu.eudat.queryable.QueryableList; public class PaginationManager { - public static > QueryableList applyPaging(QueryableList items, TableRequest tableRequest){ + public static > QueryableList applyPaging(QueryableList items, TableRequest tableRequest) throws Exception { + if(tableRequest.getOrderings()!=null) applyOrder(items,tableRequest); if(tableRequest.getLength()!=null)items.take(tableRequest.getLength()); if(tableRequest.getOffset()!=null)items.skip(tableRequest.getOffset()); return items; } + + public static > void applyOrder(QueryableList items, TableRequest tableRequest) throws Exception { + ColumnOrderings columnOrderings = tableRequest.getOrderings(); + for(Ordering ordering:columnOrderings.getFieldOrderings()){ + if(ordering.getType() == Ordering.OrderByType.ASC) items.orderByAsc(root -> root.get(ordering.getFieldName())); + if(ordering.getType() == Ordering.OrderByType.DESC) items.orderByDesc(root -> root.get(ordering.getFieldName())); + } + return; + } } diff --git a/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java b/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java index c19bbb0ae..89f493b0d 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/ProjectManager.java @@ -7,11 +7,9 @@ import java.util.UUID; import eu.eudat.dao.entities.ProjectDao; import eu.eudat.dao.entities.UserInfoDao; -import eu.eudat.models.criteria.ProjectCriteria; -import eu.eudat.models.external.ExternalListingItem; import eu.eudat.models.external.ExternalSourcesItemModel; import eu.eudat.models.external.ProjectsExternalSourcesModel; -import eu.eudat.models.helpers.DataTableData; +import eu.eudat.models.helpers.common.DataTableData; import eu.eudat.models.project.Project; import eu.eudat.models.project.ProjectCriteriaRequest; import eu.eudat.models.project.ProjectListingModel; @@ -25,7 +23,7 @@ import eu.eudat.utilities.builders.DomainModelConverter; public class ProjectManager { - public DataTableData getPaged(ProjectDao projectRepository, ProjectTableRequest projectTableRequest) throws IllegalAccessException, InstantiationException { + public DataTableData getPaged(ProjectDao projectRepository, ProjectTableRequest projectTableRequest) throws Exception { QueryableList items = projectRepository.getWithCriteria(projectTableRequest.getCriteria()); QueryableList pagedItems = PaginationManager.applyPaging(items, projectTableRequest); List projects = new DomainModelConverter().fromDataModel(pagedItems.toList(), eu.eudat.models.project.ProjectListingModel.class); diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/AutoCompleteLookupItem.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/AutoCompleteLookupItem.java deleted file mode 100644 index e4a107984..000000000 --- a/dmp-backend/src/main/java/eu/eudat/models/helpers/AutoCompleteLookupItem.java +++ /dev/null @@ -1,29 +0,0 @@ -package eu.eudat.models.helpers; - -import java.util.UUID; - -public class AutoCompleteLookupItem { - private String profileID; - private String fieldID; - private String searchTerm; - public String getProfileID() { - return profileID; - } - public void setProfileID(String profileID) { - this.profileID = profileID; - } - public String getFieldID() { - return fieldID; - } - public void setFieldID(String fieldID) { - this.fieldID = fieldID; - } - - public String getSearchTerm() { - return searchTerm; - } - - public void setSearchTerm(String searchTerm) { - this.searchTerm = searchTerm; - } -} diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/common/AutoCompleteLookupItem.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/AutoCompleteLookupItem.java new file mode 100644 index 000000000..407b16281 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/AutoCompleteLookupItem.java @@ -0,0 +1,33 @@ +package eu.eudat.models.helpers.common; + +import java.util.UUID; + +public class AutoCompleteLookupItem { + private String profileID; + private String fieldID; + private String searchTerm; + + public String getProfileID() { + return profileID; + } + + public void setProfileID(String profileID) { + this.profileID = profileID; + } + + public String getFieldID() { + return fieldID; + } + + public void setFieldID(String fieldID) { + this.fieldID = fieldID; + } + + public String getSearchTerm() { + return searchTerm; + } + + public void setSearchTerm(String searchTerm) { + this.searchTerm = searchTerm; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/common/ColumnOrderings.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/ColumnOrderings.java new file mode 100644 index 000000000..62b2cd5e6 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/ColumnOrderings.java @@ -0,0 +1,34 @@ +package eu.eudat.models.helpers.common; + +import java.util.LinkedList; +import java.util.List; + +/** + * Created by ikalyvas on 1/25/2018. + */ +public class ColumnOrderings { + + private String[] fields; + + public String[] getFields() { + return fields; + } + + public void setFields(String[] fields) { + this.fields = fields; + } + + public Ordering[] getFieldOrderings() throws Exception { + List orderings = new LinkedList<>(); + for(String field : fields){ + orderings.add(this.orderingFromString(field)); + } + return orderings.toArray(new Ordering[orderings.size()]); + } + + private Ordering orderingFromString(String field) throws Exception { + if(field.startsWith("+")) return new Ordering(field.replace("+",""), Ordering.OrderByType.ASC); + else if(field.startsWith("-")) return new Ordering(field.replace("-",""), Ordering.OrderByType.DESC); + else throw new Exception("Unsupported Field Order Type"); + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/DataTableData.java similarity index 89% rename from dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java rename to dmp-backend/src/main/java/eu/eudat/models/helpers/common/DataTableData.java index 60d12e1d4..f56837467 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/helpers/DataTableData.java +++ b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/DataTableData.java @@ -1,4 +1,4 @@ -package eu.eudat.models.helpers; +package eu.eudat.models.helpers.common; import java.util.List; diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/common/Ordering.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/Ordering.java new file mode 100644 index 000000000..2ce579938 --- /dev/null +++ b/dmp-backend/src/main/java/eu/eudat/models/helpers/common/Ordering.java @@ -0,0 +1,34 @@ +package eu.eudat.models.helpers.common; + +/** + * Created by ikalyvas on 1/25/2018. + */ +public class Ordering { + public enum OrderByType { + ASC, DESC + } + + private String fieldName; + private OrderByType type; + + public Ordering(String fieldName, OrderByType type) { + this.fieldName = fieldName; + this.type = type; + } + + public String getFieldName() { + return fieldName; + } + + public void setFieldName(String fieldName) { + this.fieldName = fieldName; + } + + public OrderByType getType() { + return type; + } + + public void setType(OrderByType type) { + this.type = type; + } +} diff --git a/dmp-backend/src/main/java/eu/eudat/models/helpers/requests/TableRequest.java b/dmp-backend/src/main/java/eu/eudat/models/helpers/requests/TableRequest.java index bd14475e8..9e1722fb5 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/helpers/requests/TableRequest.java +++ b/dmp-backend/src/main/java/eu/eudat/models/helpers/requests/TableRequest.java @@ -1,6 +1,9 @@ package eu.eudat.models.helpers.requests; +import eu.eudat.models.helpers.common.ColumnOrderings; + public abstract class TableRequest extends RequestItem { + private ColumnOrderings orderings; private Integer length; private Integer offset; @@ -19,4 +22,12 @@ public abstract class TableRequest extends RequestItem { public void setOffset(Integer offset) { this.offset = offset; } + + public ColumnOrderings getOrderings() { + return orderings; + } + + public void setOrderings(ColumnOrderings orderings) { + this.orderings = orderings; + } } diff --git a/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java b/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java index 3ba833f04..3076b100d 100644 --- a/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java +++ b/dmp-backend/src/main/java/eu/eudat/queryable/QueryableList.java @@ -26,8 +26,12 @@ public interface QueryableList> { QueryableList distinct(); QueryableList orderByAsc(OrderByPredicate predicate); + QueryableList orderByDesc(OrderByPredicate predicate); + QueryableList setHints(Set hints); + QueryableList withHint(String hint); + Long count(); } diff --git a/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java b/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java index 6d81a009c..0dc6c6185 100644 --- a/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java +++ b/dmp-backend/src/main/java/eu/eudat/queryable/hibernatequeryablelist/QueryableHibernateList.java @@ -9,10 +9,7 @@ import eu.eudat.queryable.predicates.SinglePredicate; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -24,7 +21,8 @@ public class QueryableHibernateList> implements Queryabl private CriteriaQuery query; private Class tClass; private Root root; - private LinkedList predicates = new LinkedList(); + private List predicates = new LinkedList(); + private List orderings = new LinkedList<>(); private Integer length; private Integer offset; private Set hints; @@ -94,12 +92,12 @@ public class QueryableHibernateList> implements Queryabl } public QueryableList orderByAsc(OrderByPredicate predicate) { - this.query.orderBy(this.manager.getCriteriaBuilder().desc(predicate.applyPredicate(this.root))); + this.orderings.add(this.manager.getCriteriaBuilder().asc(predicate.applyPredicate(this.root))); return this; } public QueryableList orderByDesc(OrderByPredicate predicate) { - this.query.orderBy(this.manager.getCriteriaBuilder().asc(predicate.applyPredicate(this.root))); + this.orderings.add(this.manager.getCriteriaBuilder().desc(predicate.applyPredicate(this.root))); return this; } @@ -107,16 +105,14 @@ public class QueryableHibernateList> implements Queryabl CriteriaBuilder criteriaBuilder = this.manager.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); criteriaQuery.select(criteriaBuilder.count(criteriaQuery.from(this.tClass))); - Predicate[] array = new Predicate[this.predicates.size()]; - this.predicates.toArray(array); - criteriaQuery.where(array); + criteriaQuery.where(this.predicates.toArray(new Predicate[this.predicates.size()])); return this.manager.createQuery(criteriaQuery).getSingleResult(); } public List toList() { - Predicate[] array = new Predicate[this.predicates.size()]; - this.predicates.toArray(array); - this.query.where(array); + + this.query.where(this.predicates.toArray(new Predicate[this.predicates.size()])); + if (!this.orderings.isEmpty()) this.query.orderBy(this.orderings); TypedQuery typedQuery = this.manager.createQuery(this.query); if (this.offset != null) typedQuery.setFirstResult(this.offset); diff --git a/dmp-backend/src/main/java/eu/eudat/services/AuthenticationService.java b/dmp-backend/src/main/java/eu/eudat/services/AuthenticationService.java index b8b27dd91..c770918d0 100644 --- a/dmp-backend/src/main/java/eu/eudat/services/AuthenticationService.java +++ b/dmp-backend/src/main/java/eu/eudat/services/AuthenticationService.java @@ -29,7 +29,7 @@ public class AuthenticationService { public Principal Touch(UUID token) { - UserToken tokenEntry = this.apiContext.getDatabaseRepository().getUserTokenDao().read(token); + UserToken tokenEntry = this.apiContext.getDatabaseRepository().getUserTokenDao().find(token); if (tokenEntry == null || tokenEntry.getExpiresAt().before(new Date())) return null; Principal principal = this.Touch(tokenEntry); @@ -39,7 +39,7 @@ public class AuthenticationService { public void Logout(UUID token) { - UserToken tokenEntry = this.apiContext.getDatabaseRepository().getUserTokenDao().read(token); + UserToken tokenEntry = this.apiContext.getDatabaseRepository().getUserTokenDao().find(token); this.apiContext.getDatabaseRepository().getUserTokenDao().delete(tokenEntry); } @@ -118,7 +118,7 @@ public class AuthenticationService { userToken.setIssuedAt(new Date()); userToken.setToken(UUID.randomUUID()); userToken.setExpiresAt(addADay(new Date())); - apiContext.getDatabaseRepository().getUserTokenDao().create(userToken); + apiContext.getDatabaseRepository().getUserTokenDao().createOrUpdate(userToken); return Touch(userToken.getToken()); } diff --git a/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepository.java b/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepository.java index daa845cee..cc8eaf538 100644 --- a/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepository.java +++ b/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepository.java @@ -11,11 +11,7 @@ public interface DatabaseRepository { DataRepositoryDao getDataRepositoryDao(); DatasetDao getDatasetDao(); DatasetProfileDao getDatasetProfileDao(); - DatasetRegistryDao getDatasetRegistryDao(); - DatasetServiceDao getDatasetServiceDao(); DMPDao getDmpDao(); - DMPProfileDao getDMPProfileDao(); - DMPResearcherDao getDMPResearcherDao(); OrganisationDao getOrganisationDao(); ProjectDao getProjectDao(); RegistryDao getRegistryDao(); @@ -23,8 +19,6 @@ public interface DatabaseRepository { ServiceDao getServiceDao(); UserInfoDao getUserInfoDao(); InvitationDao getInvitationDao(); - DMPProfileDao getDmpProfileDao(); - DMPResearcherDao getDmpResearcherDao(); CredentialDao getCredentialDao(); UserTokenDao getUserTokenDao(); ExternalDatasetDao getExternalDatasetDao(); diff --git a/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepositoryImpl.java b/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepositoryImpl.java index 0208d6ec5..5f82b2d66 100644 --- a/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepositoryImpl.java +++ b/dmp-backend/src/main/java/eu/eudat/services/DatabaseRepositoryImpl.java @@ -15,11 +15,7 @@ public class DatabaseRepositoryImpl implements DatabaseRepository{ private DataRepositoryDao dataRepositoryDao; private DatasetDao datasetDao; private DatasetProfileDao datasetProfileDao; - private DatasetRegistryDao datasetRegistryDao; - private DatasetServiceDao datasetServiceDao; private DMPDao dmpDao; - private DMPProfileDao dmpProfileDao; - private DMPResearcherDao dmpResearcherDao; private OrganisationDao organisationDao; private ProjectDao projectDao; private RegistryDao registryDao; @@ -46,31 +42,11 @@ public class DatabaseRepositoryImpl implements DatabaseRepository{ this.datasetProfileDao = datasetProfileDao; } - @Autowired - public void setDatasetRegistryDao(DatasetRegistryDao datasetRegistryDao) { - this.datasetRegistryDao = datasetRegistryDao; - } - - @Autowired - private void setDatasetServiceDao(DatasetServiceDao datasetServiceDao) { - this.datasetServiceDao = datasetServiceDao; - } - @Autowired private void setDmpDao(DMPDao dmpDao) { this.dmpDao = dmpDao; } - @Autowired - public void setDmpProfileDao(DMPProfileDao dmpProfileDao) { - this.dmpProfileDao = dmpProfileDao; - } - - @Autowired - private void setDmpResearcherDao(DMPResearcherDao dmpResearcherDao) { - this.dmpResearcherDao = dmpResearcherDao; - } - @Autowired private void setOrganisationDao(OrganisationDao organisationDao) { this.organisationDao = organisationDao; @@ -116,31 +92,11 @@ public class DatabaseRepositoryImpl implements DatabaseRepository{ return datasetProfileDao; } - @Override - public DatasetRegistryDao getDatasetRegistryDao() { - return datasetRegistryDao; - } - - @Override - public DatasetServiceDao getDatasetServiceDao() { - return datasetServiceDao; - } - @Override public DMPDao getDmpDao() { return dmpDao; } - @Override - public DMPProfileDao getDMPProfileDao() { - return dmpProfileDao; - } - - @Override - public DMPResearcherDao getDMPResearcherDao() { - return dmpResearcherDao; - } - @Override public OrganisationDao getOrganisationDao() { return organisationDao; @@ -171,16 +127,6 @@ public class DatabaseRepositoryImpl implements DatabaseRepository{ return userInfoDao; } - @Override - public DMPProfileDao getDmpProfileDao() { - return dmpProfileDao; - } - - @Override - public DMPResearcherDao getDmpResearcherDao() { - return dmpResearcherDao; - } - @Override public InvitationDao getInvitationDao() { return invitationDao; diff --git a/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts b/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts index 16e282a67..a4debe9de 100644 --- a/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts +++ b/dmp-frontend/src/app/dataset-wizard/dataset-wizard.component.ts @@ -115,9 +115,11 @@ export class DatasetWizardComponent { } getDefinition() { - this.datasetWizardService.getDefinition(this.datasetWizardModel.profile.id).subscribe(item => { - this.datasetWizardModel.datasetProfileDefinition = item; - }) + if (this.isNew) { + this.datasetWizardService.getDefinition(this.formGroup.get("profile").get("id").value).subscribe(item => { + this.datasetWizardModel.datasetProfileDefinition = item; + }) + } } diff --git a/logs/spring-boot-logging.log b/logs/spring-boot-logging.log index 50fa128c9..c81065af0 100644 --- a/logs/spring-boot-logging.log +++ b/logs/spring-boot-logging.log @@ -35,13 +35,13 @@ 2018-01-15 11:02:04.019 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login/twitter || /login/linkedin]}" onto public java.lang.String eu.eudat.controllers.AngularController.index() 2018-01-15 11:02:04.054 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dashboard/getStatistics],methods=[GET],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.DashBoardController.getStatistics(eu.eudat.models.security.Principal) 2018-01-15 11:02:04.063 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/external/datarepos],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity>> eu.eudat.controllers.DataRepositories.listExternalDataRepositories(java.lang.String) -2018-01-15 11:02:04.071 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/search/autocomplete],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public org.springframework.http.ResponseEntity eu.eudat.controllers.DatasetProfileController.getDataForAutocomplete(eu.eudat.models.helpers.AutoCompleteLookupItem) +2018-01-15 11:02:04.071 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/search/autocomplete],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public org.springframework.http.ResponseEntity eu.eudat.controllers.DatasetProfileController.getDataForAutocomplete(eu.eudat.models.helpers.common.AutoCompleteLookupItem) 2018-01-15 11:02:04.072 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasetwizard/get/{id}],methods=[GET],produces=[application/json]}" onto public org.springframework.http.ResponseEntity eu.eudat.controllers.DatasetProfileController.getSingle(java.lang.String) 2018-01-15 11:02:04.074 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasetprofile/save/{id}],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public org.springframework.http.ResponseEntity eu.eudat.controllers.DatasetProfileController.updateDataset(java.lang.String,eu.eudat.models.properties.PropertiesModel) 2018-01-15 11:02:04.083 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/datasetprofiles/get],methods=[POST],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DatasetProfiles.get(eu.eudat.models.datasetprofile.DatasetProfileAutocompleteRequest) 2018-01-15 11:02:04.085 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasetprofiles/getAll],methods=[GET],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DatasetProfiles.getAll() -2018-01-15 11:02:04.091 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/datasetprofiles/getPaged],methods=[POST],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DatasetProfiles.getPaged(eu.eudat.models.datasetprofile.DatasetProfileTableRequestItem) -2018-01-15 11:02:04.093 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasets/getPaged],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.Datasets.getPaged(eu.eudat.models.dataset.DatasetTableRequest,eu.eudat.models.security.Principal) +2018-01-15 11:02:04.091 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/datasetprofiles/getPaged],methods=[POST],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DatasetProfiles.getPaged(eu.eudat.models.datasetprofile.DatasetProfileTableRequestItem) +2018-01-15 11:02:04.093 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasets/getPaged],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.Datasets.getPaged(eu.eudat.models.dataset.DatasetTableRequest,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.155 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasetwizard/getAvailableProfiles],methods=[POST],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DatasetWizardController.getAvailableProfiles(eu.eudat.models.datasetwizard.DatasetProfileWizardAutocompleteRequest,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.168 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasetwizard/userDmps],methods=[POST],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DatasetWizardController.getUserDmps(eu.eudat.models.datasetwizard.DatasetWizardAutocompleteRequest,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.169 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/datasetwizard/getSingle/{id}],methods=[GET],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.DatasetWizardController.getPaged(java.lang.String,eu.eudat.models.security.Principal) @@ -54,7 +54,7 @@ 2018-01-15 11:02:04.203 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmpprofiles],methods=[GET]}" onto public org.springframework.http.ResponseEntity> eu.eudat.controllers.DmpProfiles.listDmpProfiles() 2018-01-15 11:02:04.206 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/getSingle/{id}],methods=[GET],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.DMPs.getSingle(java.lang.String,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.216 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/get],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DMPs.getWithCriteria(eu.eudat.models.dmp.DataManagementPlanCriteriaRequest,eu.eudat.models.security.Principal) -2018-01-15 11:02:04.217 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/getPaged],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DMPs.getPaged(eu.eudat.models.dmp.DataManagementPlanTableRequest,eu.eudat.models.security.Principal) +2018-01-15 11:02:04.217 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/getPaged],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.DMPs.getPaged(eu.eudat.models.dmp.DataManagementPlanTableRequest,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.218 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/dmps/createOrUpdate],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.DMPs.createOrUpdate(eu.eudat.models.dmp.DataManagementPlan,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.221 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/auth/twitterRequestToken],methods=[GET],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.Login.twitterRequestToken() 2018-01-15 11:02:04.221 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/auth/me],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.Login.authMe(eu.eudat.models.security.Principal) @@ -71,7 +71,7 @@ 2018-01-15 11:02:04.234 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/projects/inactivate/{id}],methods=[DELETE],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.Projects.inactivate(java.lang.String,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.236 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/projects/createOrUpdate],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.Projects.addProject(eu.eudat.models.project.Project,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.236 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/projects/getSingle/{id}],methods=[GET],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem eu.eudat.controllers.Projects.getPaged(java.lang.String,eu.eudat.models.security.Principal) -2018-01-15 11:02:04.237 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/projects/getPaged],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.Projects.getPaged(eu.eudat.models.project.ProjectTableRequest,eu.eudat.models.security.Principal) +2018-01-15 11:02:04.237 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/projects/getPaged],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.Projects.getPaged(eu.eudat.models.project.ProjectTableRequest,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.239 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/projects/getWithExternal],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public eu.eudat.models.helpers.responses.ResponseItem> eu.eudat.controllers.Projects.getWithExternal(eu.eudat.models.project.ProjectCriteriaRequest,eu.eudat.models.security.Principal) 2018-01-15 11:02:04.240 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/registry/delete],methods=[POST],consumes=[application/json],produces=[text/plain]}" onto public org.springframework.http.ResponseEntity eu.eudat.controllers.Registries.delete(eu.eudat.entities.Registry) 2018-01-15 11:02:04.242 INFO 8908 --- [restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/registry/create],methods=[POST],consumes=[application/json],produces=[application/json]}" onto public org.springframework.http.ResponseEntity eu.eudat.controllers.Registries.setRegistry(eu.eudat.entities.Registry)