sync fixes

This commit is contained in:
Diamantis Tziotzios 2023-10-05 14:12:39 +03:00
parent b7f68f1a7e
commit 66052f8af6
4 changed files with 17 additions and 13 deletions

View File

@ -64,7 +64,7 @@ public class Admin extends BaseController {
public ResponseEntity<Object> addDmp(@Valid @RequestBody DatasetProfile profile, @ClaimedAuthorities(claims = {ADMIN ,DATASET_PROFILE_MANAGER}) Principal principal) throws Exception {
//this.getLoggerService().info(principal, "Admin Added Dataset Profile");
DatasetProfile shortenProfile = profile.toShort();
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(shortenProfile, getApiContext());
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(shortenProfile, getApiContext(), descriptionTemplateTypeService);
// modelDefinition.setType(getApiContext().getOperationsContext().getDatabaseRepository().getDescriptionTemplateTypeDao().findFromName(profile.getType()));
modelDefinition.setType(descriptionTemplateTypeService.getEntityByName(profile.getType()));
modelDefinition.setGroupId(UUID.randomUUID());
@ -87,7 +87,7 @@ public class Admin extends BaseController {
@RequestMapping(method = RequestMethod.POST, value = {"/addDmp/{id}"}, consumes = "application/json", produces = "application/json")
public ResponseEntity<ResponseItem<UUID>> updateDmp(@PathVariable String id, @RequestBody DatasetProfile profile, @ClaimedAuthorities(claims = {ADMIN, DATASET_PROFILE_MANAGER}) Principal principal) throws Exception {
DatasetProfile shortenProfile = profile.toShort();
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(shortenProfile, getApiContext());
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(shortenProfile, getApiContext(), descriptionTemplateTypeService);
DescriptionTemplate datasetprofile = this.getApiContext().getOperationsContext().getDatabaseRepository().getDatasetProfileDao().find(UUID.fromString(id));
datasetprofile.setDefinition(modelDefinition.getDefinition());
Short oldStatus = datasetprofile.getStatus();
@ -130,7 +130,7 @@ public class Admin extends BaseController {
@RequestMapping(method = RequestMethod.POST, value = {"/preview"}, consumes = "application/json", produces = "application/json")
public ResponseEntity<ResponseItem<PagedDatasetProfile>> getPreview(@RequestBody DatasetProfile profile, @ClaimedAuthorities(claims = {ADMIN, DATASET_PROFILE_MANAGER}) Principal principal) throws Exception {
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(profile, getApiContext());
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(profile, getApiContext(), descriptionTemplateTypeService);
eu.eudat.models.data.user.composite.DatasetProfile datasetProfile = userManager.generateDatasetProfileModel(modelDefinition);
PagedDatasetProfile pagedDatasetProfile = new PagedDatasetProfile();
pagedDatasetProfile.buildPagedDatasetProfile(datasetProfile);
@ -181,7 +181,7 @@ public class Admin extends BaseController {
eu.eudat.models.data.admin.composite.DatasetProfile datasetProfileEntity = datasetProfileModel.toAdminCompositeModel(file.getOriginalFilename());
DescriptionTemplate modelDefinition;
if (id == null) {
modelDefinition = AdminManager.generateViewStyleDefinition(datasetProfileEntity, getApiContext());
modelDefinition = AdminManager.generateViewStyleDefinition(datasetProfileEntity, getApiContext(), descriptionTemplateTypeService);
DescriptionTemplate descriptionTemplate = this.getApiContext().getOperationsContext().getDatabaseRepository().getDatasetProfileDao().createOrUpdate(modelDefinition);
UserDatasetProfile userDatasetProfile = new UserDatasetProfile();
userDatasetProfile.setDatasetProfile(descriptionTemplate);

View File

@ -1,7 +1,7 @@
package eu.eudat.logic.builders.entity;
import eu.eudat.data.entities.DescriptionTemplate;
import eu.eudat.data.entities.DescriptionTemplateType;
import eu.eudat.data.DescriptionTemplateTypeEntity;
import eu.eudat.logic.builders.Builder;
import eu.eudat.data.entities.Dataset;
@ -18,7 +18,7 @@ public class DatasetProfileBuilder extends Builder<DescriptionTemplate> {
private String label;
private DescriptionTemplateType type;
private DescriptionTemplateTypeEntity type;
private Set<Dataset> dataset;
@ -44,7 +44,7 @@ public class DatasetProfileBuilder extends Builder<DescriptionTemplate> {
return this;
}
public DatasetProfileBuilder type(DescriptionTemplateType type) {
public DatasetProfileBuilder type(DescriptionTemplateTypeEntity type) {
this.type = type;
return this;
}

View File

@ -3,7 +3,7 @@ package eu.eudat.logic.managers;
import eu.eudat.data.dao.entities.DatasetDao;
import eu.eudat.data.dao.entities.DatasetProfileDao;
import eu.eudat.data.entities.DescriptionTemplate;
import eu.eudat.data.entities.DescriptionTemplateType;
import eu.eudat.data.DescriptionTemplateTypeEntity;
import eu.eudat.exceptions.datasetprofile.DatasetProfileWithDatasetsExeption;
import eu.eudat.logic.builders.entity.DatasetProfileBuilder;
import eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.ViewStyleModel;
@ -11,6 +11,7 @@ import eu.eudat.models.data.admin.composite.DatasetProfile;
import eu.eudat.logic.services.ApiContext;
import eu.eudat.logic.utilities.builders.ModelBuilder;
import eu.eudat.logic.utilities.builders.XmlBuilder;
import eu.eudat.service.DescriptionTemplateTypeService;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@ -19,7 +20,7 @@ import java.util.UUID;
public class AdminManager {
public static DescriptionTemplate generateViewStyleDefinition(DatasetProfile profile, ApiContext apiContext) throws Exception {
public static DescriptionTemplate generateViewStyleDefinition(DatasetProfile profile, ApiContext apiContext, DescriptionTemplateTypeService descriptionTemplateTypeService) throws Exception {
ViewStyleModel viewStyleModel = new ViewStyleModel();
viewStyleModel.setSections(new ModelBuilder().toViewStyleDefinition(profile.getSections(), eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.Section.class));
viewStyleModel.setPages(new ModelBuilder().toViewStyleDefinition(profile.getPages(), eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.Page.class));
@ -36,9 +37,9 @@ public class AdminManager {
profile.setLanguage("en");
}
DescriptionTemplateType type;
DescriptionTemplateTypeEntity type;
try {
type = apiContext.getOperationsContext().getDatabaseRepository().getDescriptionTemplateTypeDao().findFromName(profile.getType());
type = descriptionTemplateTypeService.getEntityByName(profile.getType());
}
catch (Exception e) {
throw new Exception("Description template type '" + profile.getType() + "' could not be found.");

View File

@ -28,6 +28,7 @@ import eu.eudat.models.data.listingmodels.UserInfoListingModel;
import eu.eudat.models.data.mail.SimpleMail;
import eu.eudat.models.data.security.Principal;
import eu.eudat.queryable.QueryableList;
import eu.eudat.service.DescriptionTemplateTypeService;
import eu.eudat.types.Authorities;
import eu.eudat.types.MetricNames;
import org.slf4j.Logger;
@ -71,14 +72,16 @@ public class DatasetProfileManager {
private ConfigLoader configLoader;
private final MetricsManager metricsManager;
private final DescriptionTemplateTypeService descriptionTemplateTypeService;
@Autowired
public DatasetProfileManager(ApiContext apiContext, Environment environment, ConfigLoader configLoader, MetricsManager metricsManager) {
public DatasetProfileManager(ApiContext apiContext, Environment environment, ConfigLoader configLoader, MetricsManager metricsManager, DescriptionTemplateTypeService descriptionTemplateTypeService) {
this.apiContext = apiContext;
this.databaseRepository = apiContext.getOperationsContext().getDatabaseRepository();
this.environment = environment;
this.configLoader = configLoader;
this.metricsManager = metricsManager;
this.descriptionTemplateTypeService = descriptionTemplateTypeService;
}
@Transactional
@ -293,7 +296,7 @@ public class DatasetProfileManager {
if (latestVersionDescriptionTemplate.getVersion().equals(oldDescriptionTemplate.getVersion())){
eu.eudat.models.data.admin.composite.DatasetProfile sortedProfile = profile.toShort();
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(sortedProfile, apiContext);
DescriptionTemplate modelDefinition = AdminManager.generateViewStyleDefinition(sortedProfile, apiContext, descriptionTemplateTypeService);
// modelDefinition.setLabel(oldDescriptionTemplate.getLabel());
modelDefinition.setVersion((short) (oldDescriptionTemplate.getVersion() + 1));
modelDefinition.setGroupId(oldDescriptionTemplate.getGroupId());