diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java index 4d424caa9..c9588db00 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java @@ -94,13 +94,6 @@ public class Admin extends BaseController { return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().status(ApiMessageCode.NO_MESSAGE).payload(datasetProfileTableData)); } - @RequestMapping(method = RequestMethod.POST, value = {"/datasetprofiles/using/paged"}, produces = "application/json") - public @ResponseBody - ResponseEntity>> getUsingDatasetProfilesPaged(@RequestBody DatasetProfileTableRequestItem datasetProfileTableRequestItem, Principal principal) throws Exception { - DataTableData datasetProfileTableData = this.datasetProfileManager.getDatasetProfilesUsedByDMP(datasetProfileTableRequestItem, principal); - return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().status(ApiMessageCode.NO_MESSAGE).payload(datasetProfileTableData)); - } - @RequestMapping(method = RequestMethod.POST, value = {"/preview"}, consumes = "application/json", produces = "application/json") public ResponseEntity> getPreview(@RequestBody DatasetProfile profile, @ClaimedAuthorities(claims = {ADMIN}) Principal principal) { eu.eudat.data.entities.DatasetProfile modelDefinition = AdminManager.generateViewStyleDefinition(profile, getApiContext()); diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/DMPs.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/DMPs.java index 43396c928..5aff42182 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/DMPs.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/DMPs.java @@ -6,6 +6,7 @@ import eu.eudat.criteria.DMPCriteria; import eu.eudat.data.dao.criteria.DynamicFieldsCriteria; import eu.eudat.data.dao.criteria.RequestItem; import eu.eudat.data.entities.DMP; +import eu.eudat.data.query.items.table.datasetprofile.DatasetProfileTableRequestItem; import eu.eudat.data.query.items.table.dmp.DataManagementPlanTableRequest; import eu.eudat.data.query.items.table.dmp.DataManagmentPlanPublicTableRequest; import eu.eudat.exceptions.datamanagementplan.DMPNewVersionException; @@ -15,6 +16,7 @@ import eu.eudat.logic.managers.DatasetManager; import eu.eudat.logic.security.claims.ClaimedAuthorities; import eu.eudat.logic.services.ApiContext; import eu.eudat.logic.services.operations.DatabaseRepository; +import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel; import eu.eudat.models.data.dmp.DataManagementPlan; import eu.eudat.models.data.helpermodels.Tuple; import eu.eudat.models.data.helpers.common.DataTableData; @@ -95,6 +97,13 @@ public class DMPs extends BaseController { } } + @RequestMapping(method = RequestMethod.POST, value = {"/datasetProfilesUsedByDmps/paged"}, produces = "application/json") + public @ResponseBody + ResponseEntity>> getUsingDatasetProfilesPaged(@RequestBody DatasetProfileTableRequestItem datasetProfileTableRequestItem, Principal principal) { + DataTableData datasetProfileTableData = this.dataManagementPlanManager.getDatasetProfilesUsedByDMP(datasetProfileTableRequestItem, principal); + return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().status(ApiMessageCode.NO_MESSAGE).payload(datasetProfileTableData)); + } + @RequestMapping(method = RequestMethod.GET, value = {"rda/{id}"}) public @ResponseBody ResponseEntity getRDAJsonDocument(@PathVariable String id, Principal principal) throws IOException { diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java index 1cf59256d..480130112 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java @@ -9,6 +9,7 @@ import eu.eudat.data.entities.Organisation; import eu.eudat.data.entities.Researcher; import eu.eudat.data.entities.*; import eu.eudat.data.query.items.item.dmp.DataManagementPlanCriteriaRequest; +import eu.eudat.data.query.items.table.datasetprofile.DatasetProfileTableRequestItem; import eu.eudat.data.query.items.table.dmp.DataManagementPlanTableRequest; import eu.eudat.data.query.items.table.dmp.DataManagmentPlanPublicTableRequest; import eu.eudat.exceptions.datamanagementplan.DMPNewVersionException; @@ -25,6 +26,7 @@ import eu.eudat.logic.utilities.documents.types.ParagraphStyle; import eu.eudat.logic.utilities.documents.word.WordBuilder; import eu.eudat.logic.utilities.documents.xml.ExportXmlBuilder; import eu.eudat.models.HintedModelFactory; +import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel; import eu.eudat.models.data.datasetwizard.DatasetWizardModel; import eu.eudat.models.data.dmp.*; import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue; @@ -883,4 +885,18 @@ public class DataManagementPlanManager { return dataManagementPlans; } + + public DataTableData getDatasetProfilesUsedByDMP(DatasetProfileTableRequestItem datasetProfileTableRequestItem, Principal principal) { + datasetProfileTableRequestItem.getCriteria().setFilter(DatasetProfileCriteria.DatasetProfileFilter.DMPs.getValue()); + datasetProfileTableRequestItem.getCriteria().setUserId(principal.getId()); + + QueryableList items = apiContext.getOperationsContext().getDatabaseRepository().getDatasetProfileDao().getWithCriteria(datasetProfileTableRequestItem.getCriteria()); + List listingModels = items.select(item -> new DatasetProfileListingModel().fromDataModel(item)); + + DataTableData data = new DataTableData<>(); + data.setData(listingModels); + data.setTotalCount((long) listingModels.size()); + + return data; + } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java index dc427b990..01dcde54d 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java @@ -188,19 +188,4 @@ public class DatasetProfileManager { throw new DatasetProfileNewVersionException("Version to update not the latest."); } } - - public DataTableData getDatasetProfilesUsedByDMP(DatasetProfileTableRequestItem datasetProfileTableRequestItem, Principal principal) { - - datasetProfileTableRequestItem.getCriteria().setFilter(DatasetProfileCriteria.DatasetProfileFilter.DMPs.getValue()); - datasetProfileTableRequestItem.getCriteria().setUserId(principal.getId()); - - QueryableList items = apiContext.getOperationsContext().getDatabaseRepository().getDatasetProfileDao().getWithCriteria(datasetProfileTableRequestItem.getCriteria()); - List listingModels = items.select(item -> new DatasetProfileListingModel().fromDataModel(item)); - - DataTableData data = new DataTableData<>(); - data.setData(listingModels); - data.setTotalCount((long) listingModels.size()); - - return data; - } } diff --git a/dmp-frontend/src/app/core/services/dataset-profile/dataset-profile.service.ts b/dmp-frontend/src/app/core/services/dataset-profile/dataset-profile.service.ts index 70b7899e9..644e4028d 100644 --- a/dmp-frontend/src/app/core/services/dataset-profile/dataset-profile.service.ts +++ b/dmp-frontend/src/app/core/services/dataset-profile/dataset-profile.service.ts @@ -39,10 +39,6 @@ export class DatasetProfileService { return this.http.post>(this.actionUrl + 'datasetprofiles/getPaged', dataTableRequest); } - getDatasetProfilesUsedPaged(dataTableRequest: DataTableRequest) { - return this.http.post>(this.actionUrl + 'datasetprofiles/using/paged', dataTableRequest); - } - preview(data: DatasetProfile): Observable { return this.http.post(this.actionUrl + 'preview', data); } diff --git a/dmp-frontend/src/app/core/services/dmp/dmp.service.ts b/dmp-frontend/src/app/core/services/dmp/dmp.service.ts index e3a602e06..6d5d778b0 100644 --- a/dmp-frontend/src/app/core/services/dmp/dmp.service.ts +++ b/dmp-frontend/src/app/core/services/dmp/dmp.service.ts @@ -17,6 +17,7 @@ import { BaseHttpParams } from '../../../common/http/base-http-params'; import { InterceptorType } from '../../../common/http/interceptors/interceptor-type'; import { ExploreDmpCriteriaModel } from '../../query/explore-dmp/explore-dmp-criteria'; import { DmpOverviewModel } from '../../model/dmp/dmp-overview'; +import { DatasetListingModel } from '../../model/dataset/dataset-listing'; @Injectable() export class DmpService { @@ -124,4 +125,8 @@ export class DmpService { getPublicPaged(dataTableRequest: DataTableRequest, fieldsGroup?: string): Observable> { return this.http.post>(this.actionUrl + 'public/paged?fieldsGroup=' + fieldsGroup, dataTableRequest, { headers: this.headers }); } + + getDatasetProfilesUsedPaged(dataTableRequest: DataTableRequest) { + return this.http.post>(this.actionUrl + 'datasetProfilesUsedByDmps/paged', dataTableRequest); + } } diff --git a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts index e5ba26371..abec1f6d5 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria.component.ts @@ -168,7 +168,7 @@ export class DmpCriteriaComponent extends BaseCriteriaComponent implements OnIni const datasetTemplateRequestItem: DataTableRequest = new DataTableRequest(0, null, { fields: fields }); datasetTemplateRequestItem.criteria = new DatasetProfileCriteria(); datasetTemplateRequestItem.criteria.like = query; - return this.datasetProfileService.getDatasetProfilesUsedPaged(datasetTemplateRequestItem).map(x => x.data); + return this.dmpService.getDatasetProfilesUsedPaged(datasetTemplateRequestItem).map(x => x.data); } fileSave(event) {