From f8490cbc2b55dff742386ce6190527600f1ff8b7 Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Wed, 18 Oct 2017 10:58:37 +0300 Subject: [PATCH 1/9] Minor edit --- .../java/dao/entities/DMPResearcherDao.java | 4 ++++ .../dao/entities/DMPResearcherDaoImpl.java | 18 ++++++++++++++++++ .../main/java/dao/entities/RegistryDao.java | 2 ++ .../java/dao/entities/RegistryDaoImpl.java | 3 ++- .../main/java/dao/entities/ResearcherDao.java | 2 ++ .../java/dao/entities/ResearcherDaoImpl.java | 10 ++++++++++ .../main/java/rest/entities/Researchers.java | 12 ++++++++++++ 7 files changed, 50 insertions(+), 1 deletion(-) diff --git a/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java b/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java index db9537448..c97e6c78d 100644 --- a/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java +++ b/dmp-backend/src/main/java/dao/entities/DMPResearcherDao.java @@ -4,7 +4,11 @@ import java.util.UUID; import dao.Dao; import entities.DMPResearcher; +import entities.Researcher; public interface DMPResearcherDao extends Dao { + + Researcher getResearcherByEmail(String email); + } \ No newline at end of file diff --git a/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java b/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java index e7f469c46..1c420680b 100644 --- a/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java +++ b/dmp-backend/src/main/java/dao/entities/DMPResearcherDaoImpl.java @@ -2,9 +2,13 @@ package dao.entities; import java.util.UUID; +import javax.persistence.TypedQuery; + +import org.hibernate.NonUniqueResultException; import dao.JpaDao; import entities.DMPResearcher; +import entities.Researcher; public class DMPResearcherDaoImpl extends JpaDao implements DMPResearcherDao { @@ -12,6 +16,20 @@ public class DMPResearcherDaoImpl extends JpaDao implements // 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/dao/entities/RegistryDao.java b/dmp-backend/src/main/java/dao/entities/RegistryDao.java index a4d921610..eebeed1fe 100644 --- a/dmp-backend/src/main/java/dao/entities/RegistryDao.java +++ b/dmp-backend/src/main/java/dao/entities/RegistryDao.java @@ -5,6 +5,7 @@ import java.util.UUID; import dao.Dao; import entities.Registry; +import entities.Researcher; import entities.responses.IDLabelPair; public interface RegistryDao extends Dao { @@ -12,5 +13,6 @@ public interface RegistryDao extends Dao { List listAllIDs(); List listAllIDsLabels(); + } \ No newline at end of file diff --git a/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java b/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java index dc59ec05a..1c8bb1a17 100644 --- a/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java +++ b/dmp-backend/src/main/java/dao/entities/RegistryDaoImpl.java @@ -10,6 +10,7 @@ import org.hibernate.query.Query; import dao.JpaDao; import entities.Registry; +import entities.Researcher; import entities.responses.IDLabelPair; public class RegistryDaoImpl extends JpaDao implements RegistryDao { @@ -37,6 +38,6 @@ public class RegistryDaoImpl extends JpaDao implements RegistryD }) .collect(Collectors.toList()); } - + } diff --git a/dmp-backend/src/main/java/dao/entities/ResearcherDao.java b/dmp-backend/src/main/java/dao/entities/ResearcherDao.java index 16e74cd34..1cf3913ed 100644 --- a/dmp-backend/src/main/java/dao/entities/ResearcherDao.java +++ b/dmp-backend/src/main/java/dao/entities/ResearcherDao.java @@ -12,5 +12,7 @@ public interface ResearcherDao extends Dao { List listAllIDs(); List listAllIDsLabels(); + + Researcher getResearcherByEmail(String email); } \ No newline at end of file diff --git a/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java b/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java index bdf592e21..6a9d78691 100644 --- a/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java +++ b/dmp-backend/src/main/java/dao/entities/ResearcherDaoImpl.java @@ -38,6 +38,16 @@ public class ResearcherDaoImpl extends JpaDao implements Resea }) .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; + } } diff --git a/dmp-backend/src/main/java/rest/entities/Researchers.java b/dmp-backend/src/main/java/rest/entities/Researchers.java index ef659665c..c38840d60 100644 --- a/dmp-backend/src/main/java/rest/entities/Researchers.java +++ b/dmp-backend/src/main/java/rest/entities/Researchers.java @@ -96,6 +96,18 @@ public class Researchers { } } + @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getByEmail" }, produces="application/json") + public @ResponseBody ResponseEntity getResearcherByEmail(@RequestParam("email") String email){ + try { + Researcher researcher = researcherDao.getResearcherByEmail(email); + return ResponseEntity.status(HttpStatus.OK).body(new ObjectMapper().writeValueAsString(researcher)); + } + catch(Exception ex) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Erroneous input: "+ex.getMessage()); + } + + } + @RequestMapping(method = RequestMethod.GET, value = { "/researcher/getAll" }, produces="application/json") public @ResponseBody ResponseEntity getAllResearchers(){ From 3c8e6629cb9086f029d8e8405edef90439f3c5ec Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Wed, 18 Oct 2017 11:29:22 +0300 Subject: [PATCH 2/9] changes --- dmp-admin/src/app/app.module.ts | 9 +- .../main-window/main-window.component.html | 6 +- .../datarepos-editor.component.css | 33 +++++ .../datarepos-editor.component.html | 122 ++++++++++++++++ .../datarepos-editor.component.spec.ts | 25 ++++ .../datarepos-editor.component.ts | 137 ++++++++++++++++++ .../dmp-editor/dmp-editor.component.html | 2 + .../dmp-editor/dmp-editor.component.ts | 1 + .../dmp-profile-editor.component.html | 2 + .../dmp-profile-editor.component.ts | 1 + .../organisation-editor.component.html | 2 + .../organisation-editor.component.ts | 3 +- .../project-editor.component.html | 2 + .../registry-editor.component.html | 2 + .../registry-editor.component.ts | 4 +- .../researcher-editor.component.html | 2 + .../researcher-editor.component.ts | 1 + .../service-editor.component.html | 2 + .../app/pipes/datarepo-table-filter.pipe.ts | 29 ++++ dmp-admin/src/app/routes.ts | 5 + .../src/app/services/datarepo-service.ts | 46 ++++++ dmp-backend/package-lock.json | 3 + .../src/app/form/dynamic-form.component.ts | 13 ++ 23 files changed, 445 insertions(+), 7 deletions(-) create mode 100644 dmp-admin/src/app/managers/datarepos-editor/datarepos-editor.component.css create mode 100644 dmp-admin/src/app/managers/datarepos-editor/datarepos-editor.component.html create mode 100644 dmp-admin/src/app/managers/datarepos-editor/datarepos-editor.component.spec.ts create mode 100644 dmp-admin/src/app/managers/datarepos-editor/datarepos-editor.component.ts create mode 100644 dmp-admin/src/app/pipes/datarepo-table-filter.pipe.ts create mode 100644 dmp-admin/src/app/services/datarepo-service.ts create mode 100644 dmp-backend/package-lock.json diff --git a/dmp-admin/src/app/app.module.ts b/dmp-admin/src/app/app.module.ts index 615c8976a..ad2600e98 100644 --- a/dmp-admin/src/app/app.module.ts +++ b/dmp-admin/src/app/app.module.ts @@ -23,6 +23,7 @@ import { ResearcherService } from './services/researcher-service'; import { OrganisationService } from './services/organisation-service'; import { DmpProfileService } from './services/dmpprofile-service'; import { RegistryService } from './services/registry-service'; +import { DatarepoService } from './services/datarepo-service'; import { Toolbox } from './services/toolbox'; import { DataFilterPipe } from './pipes/data-filter.pipe'; @@ -33,6 +34,7 @@ import { ProjectTableFilterPipe } from './pipes/project-table-filter.pipe'; import { RegistryTableFilterPipe } from './pipes/registry-table-filter.pipe'; import { OrganisationTableFilterPipe } from './pipes/organisation-table-filter.pipe'; import { ResearcherTableFilterPipe } from './pipes/researcher-table-filter.pipe'; +import { DatarepoTableFilterPipe } from './pipes/datarepo-table-filter.pipe'; import { GooggleSignInComponent } from './login/googgle-sign-in/googgle-sign-in.component'; @@ -53,6 +55,7 @@ import { OrganisationEditorComponent } from './managers/organisation-editor/orga import { RegistryEditorComponent } from './managers/registry-editor/registry-editor.component'; import { ServiceEditorComponent } from './managers/service-editor/service-editor.component'; import { ResearcherEditorComponent } from './managers/researcher-editor/researcher-editor.component'; +import { DatareposEditorComponent } from './managers/datarepos-editor/datarepos-editor.component'; @@ -66,6 +69,7 @@ import { ResearcherEditorComponent } from './managers/researcher-editor/research RegistryTableFilterPipe, ServiceTableFilterPipe, ResearcherTableFilterPipe, + DatarepoTableFilterPipe, AppComponent, GooggleSignInComponent, @@ -82,7 +86,8 @@ import { ResearcherEditorComponent } from './managers/researcher-editor/research RegistryEditorComponent, ServiceEditorComponent, MainSignInComponent, - ResearcherEditorComponent + ResearcherEditorComponent, + DatareposEditorComponent ], imports: [ BrowserModule, @@ -97,7 +102,7 @@ import { ResearcherEditorComponent } from './managers/researcher-editor/research AppRouting ], providers: [ DatasetsServiceService, TokenService, DmpsServiceService, ResearcherService, - DialogService, DatasetProfileService, ProjectService, OrganisationService, + DialogService, DatasetProfileService, ProjectService, OrganisationService, DatarepoService, DmpProfileService, RegistryService, ServiceService, NativeLoginService, HttpModule, Toolbox, HttpClient, RestBase], bootstrap: [AppComponent] }) diff --git a/dmp-admin/src/app/main-window/main-window.component.html b/dmp-admin/src/app/main-window/main-window.component.html index 54c8892b4..7749f27fb 100644 --- a/dmp-admin/src/app/main-window/main-window.component.html +++ b/dmp-admin/src/app/main-window/main-window.component.html @@ -23,11 +23,11 @@
  • DMP profiles
  • - -