remove old code
This commit is contained in:
parent
55fb0f3e00
commit
5f6eab6e11
|
@ -17,7 +17,7 @@ import java.util.*;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"Description\"")
|
||||
public class DescriptionEntity extends TenantScopedBaseEntity implements DataEntity<DescriptionEntity, UUID> {
|
||||
public class DescriptionEntity extends TenantScopedBaseEntity {
|
||||
|
||||
@Id
|
||||
@Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false)
|
||||
|
@ -190,22 +190,5 @@ public class DescriptionEntity extends TenantScopedBaseEntity implements DataEnt
|
|||
public void setDescriptionTemplateId(UUID descriptionTemplateId) {
|
||||
this.descriptionTemplateId = descriptionTemplateId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(DescriptionEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getKeys() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity buildFromTuple(List<Tuple> tuple, List<String> fields, String base) {
|
||||
String currentBase = base.isEmpty() ? "" : base + ".";
|
||||
if (fields.contains(currentBase + "id")) this.id = EntityBinder.fromTuple(tuple, currentBase + "id");
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
package eu.eudat.data.dao.entities;
|
||||
|
||||
import eu.eudat.data.dao.DatabaseAccessLayer;
|
||||
import eu.eudat.data.dao.criteria.DatasetCriteria;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.data.UserEntity;
|
||||
import eu.eudat.queryable.QueryableList;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public interface DatasetDao extends DatabaseAccessLayer<DescriptionEntity, UUID> {
|
||||
|
||||
QueryableList<DescriptionEntity> getWithCriteria(DatasetCriteria criteria);
|
||||
|
||||
QueryableList<DescriptionEntity> filterFromElastic(DatasetCriteria criteria, List<UUID> ids);
|
||||
|
||||
QueryableList<DescriptionEntity> getAuthenticated(QueryableList<DescriptionEntity> query, UserEntity principal, List<Integer> roles);
|
||||
|
||||
DescriptionEntity isPublicDataset(UUID id) throws InvalidApplicationException;
|
||||
|
||||
}
|
|
@ -1,152 +0,0 @@
|
|||
package eu.eudat.data.dao.entities;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.commons.enums.IsActive;
|
||||
import eu.eudat.data.dao.DatabaseAccess;
|
||||
import eu.eudat.data.dao.criteria.DatasetCriteria;
|
||||
import eu.eudat.data.dao.databaselayer.service.DatabaseService;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.data.UserEntity;
|
||||
import eu.eudat.queryable.QueryableList;
|
||||
import eu.eudat.queryable.types.FieldSelectionType;
|
||||
import eu.eudat.queryable.types.SelectionField;
|
||||
import eu.eudat.types.grant.GrantStateType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import jakarta.persistence.criteria.Join;
|
||||
import jakarta.persistence.criteria.JoinType;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
@Component("datasetDao")
|
||||
public class DatasetDaoImpl extends DatabaseAccess<DescriptionEntity> implements DatasetDao {
|
||||
|
||||
@Autowired
|
||||
public DatasetDaoImpl(DatabaseService<DescriptionEntity> databaseService) { super(databaseService); }
|
||||
|
||||
@Override
|
||||
public QueryableList<DescriptionEntity> getWithCriteria(DatasetCriteria criteria) {
|
||||
QueryableList<DescriptionEntity> query = getDatabaseService().getQueryable(new HashSet<>(Arrays.asList("datasetListingModel")), DescriptionEntity.class);
|
||||
if (criteria.getIsPublic() != null && criteria.getIsPublic()) {
|
||||
query.where((builder, root) -> builder.equal(root.get("dmp").get("isPublic"), true));
|
||||
query.where((builder, root) -> builder.equal(root.get("status"), DescriptionStatus.Finalized));
|
||||
/*query.initSubQuery(String.class).where((builder, root) -> builder.equal(root.get("dmp").get("version"),
|
||||
query.<String>subQueryMax((builder1, externalRoot, nestedRoot) -> builder1.equal(externalRoot.get("dmp").get("groupId"), nestedRoot.get("dmp").get("groupId")),
|
||||
Arrays.asList(new SelectionField(FieldSelectionType.COMPOSITE_FIELD, "dmp:version")), String.class)));*/
|
||||
}
|
||||
if (criteria.getLike() != null && !criteria.getLike().isEmpty())
|
||||
query.where((builder, root) -> builder.or(
|
||||
builder.like(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%"),
|
||||
builder.like(builder.upper(root.get("description")), "%" + criteria.getLike().toUpperCase() + "%")));
|
||||
if (criteria.getStatus() != null)
|
||||
query.where((builder, root) -> builder.equal(root.get("status"), criteria.getStatus()));
|
||||
if (criteria.getProfileDatasetId() != null)
|
||||
query.where((builder, root) -> builder.equal(root.get("profile").get("id"), criteria.getProfileDatasetId()));
|
||||
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.getAllVersions())
|
||||
query.initSubQuery(String.class).where((builder, root) -> builder.equal(root.get("dmp").get("version"), query.subQueryMax((builder1, externalRoot, nestedRoot) -> builder1.and(builder1.equal(externalRoot.get("dmp").get("groupId"), nestedRoot.get("dmp").get("groupId")), builder1.notEqual(nestedRoot.get("dmp").get("isActive"), IsActive.Inactive.getValue())), Arrays.asList(new SelectionField(FieldSelectionType.COMPOSITE_FIELD, "dmp:version")), Integer.class)));
|
||||
if (criteria.getGroupIds() != null && !criteria.getGroupIds().isEmpty())
|
||||
query.where((builder, root) -> root.get("dmp").get("groupId").in(criteria.getGroupIds()));
|
||||
if (criteria.getDmpIds() != null && !criteria.getDmpIds().isEmpty())
|
||||
query.where((builder, root) -> root.get("dmp").get("id").in(criteria.getDmpIds()));
|
||||
/*if (criteria.getRole() != null) {
|
||||
query.where((builder, root) -> builder.equal(root.join("dmp").join("users").get("role"), criteria.getRole()));
|
||||
} else {
|
||||
query.where((builder, root) -> root.join("dmp").join("users").get("role").in(UserDMP.UserDMPRoles.getAllValues()));
|
||||
}*/
|
||||
if (criteria.getOrganisations() != null && !criteria.getOrganisations().isEmpty())
|
||||
query.where((builder, root) -> root.join("dmp").join("organisations").get("reference").in(criteria.getOrganisations()));
|
||||
if (criteria.getGrants() != null && !criteria.getGrants().isEmpty())
|
||||
query.where((builder, root) -> root.join("dmp").join("grant").get("id").in(criteria.getGrants()));
|
||||
if (criteria.getGrantStatus() != null) {
|
||||
if (criteria.getGrantStatus().equals(GrantStateType.FINISHED.getValue().shortValue()))
|
||||
query.where((builder, root) -> builder.lessThan(root.get("dmp").get("grant").get("enddate"), new Date()));
|
||||
if (criteria.getGrantStatus().equals(GrantStateType.ONGOING.getValue().shortValue()))
|
||||
query.where((builder, root) ->
|
||||
builder.or(builder.greaterThan(root.get("dmp").get("grant").get("enddate"), new Date())
|
||||
, builder.isNull(root.get("dmp").get("grant").get("enddate"))));
|
||||
}
|
||||
if (criteria.getCollaborators() != null && !criteria.getCollaborators().isEmpty())
|
||||
query.where((builder, root) -> root.join("dmp", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id").in(criteria.getCollaborators()));
|
||||
if (criteria.getDatasetTemplates() != null && !criteria.getDatasetTemplates().isEmpty())
|
||||
query.where((builder, root) -> root.get("profile").get("id").in(criteria.getDatasetTemplates()));
|
||||
|
||||
if (criteria.hasDoi()) {
|
||||
query.where((builder, root) -> builder.not(builder.isNull(root.join("dmp").join("dois").get("id"))));
|
||||
}
|
||||
query.where((builder, root) -> builder.notEqual(root.get(DescriptionEntity._isActive), IsActive.Inactive));
|
||||
query.where((builder, root) -> builder.notEqual(root.get("status"), DescriptionStatus.Canceled));
|
||||
return query;
|
||||
}
|
||||
|
||||
public QueryableList<DescriptionEntity> filterFromElastic(DatasetCriteria criteria, List<UUID> ids) {
|
||||
QueryableList<DescriptionEntity> query = getDatabaseService().getQueryable(new HashSet<>(Arrays.asList("datasetListingModel")), DescriptionEntity.class);
|
||||
|
||||
query.where(((builder, root) -> root.get("id").in(ids)));
|
||||
if (!criteria.getAllVersions())
|
||||
query.initSubQuery(String.class).where((builder, root) -> builder.equal(root.get("dmp").get("version"), query.<String>subQueryMax((builder1, externalRoot, nestedRoot) -> builder1.and(builder1.equal(externalRoot.get("dmp").get("groupId"), nestedRoot.get("dmp").get("groupId")), builder1.notEqual(nestedRoot.get("dmp").get("isActive"), IsActive.Inactive.getValue())), Arrays.asList(new SelectionField(FieldSelectionType.COMPOSITE_FIELD, "dmp:version")), String.class)));
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity createOrUpdate(DescriptionEntity item) {
|
||||
return getDatabaseService().createOrUpdate(item, DescriptionEntity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity find(UUID id) throws InvalidApplicationException {
|
||||
return getDatabaseService().getQueryable(DescriptionEntity.class)
|
||||
.where((builder, root) -> builder.and(builder.notEqual(root.get(DescriptionEntity._isActive), IsActive.Inactive), builder.notEqual(root.get("status"), DescriptionStatus.Canceled), builder.equal((root.get("id")), id))).getSingle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity find(UUID id, String hint) throws InvalidApplicationException {
|
||||
return getDatabaseService().getQueryable(new HashSet<>(Arrays.asList("datasetListingModel")), DescriptionEntity.class).withHint(hint)
|
||||
.where((builder, root) -> builder.and(builder.notEqual(root.get(DescriptionEntity._isActive), IsActive.Inactive), builder.notEqual(root.get("status"), DescriptionStatus.Canceled), builder.equal((root.get("id")), id))).getSingle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity isPublicDataset(UUID id) throws InvalidApplicationException {
|
||||
QueryableList<DescriptionEntity> query = getDatabaseService().getQueryable(new HashSet<>(Arrays.asList("datasetListingModel")), DescriptionEntity.class);
|
||||
query.where(((builder, root) -> builder.equal(root.get("id"), id)));
|
||||
|
||||
return query.withHint("datasetListingModel").getSingle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryableList<DescriptionEntity> getAuthenticated(QueryableList<DescriptionEntity> query, UserEntity principal, List<Integer> roles) {
|
||||
if (roles != null && !roles.isEmpty()) {
|
||||
query.where((builder, root) -> {
|
||||
Join userJoin = root.join("dmp", JoinType.LEFT).join("users", JoinType.LEFT);
|
||||
return builder.and(builder.equal(userJoin.join("user", JoinType.LEFT).get("id"), principal.getId()), userJoin.get("role").in(roles));
|
||||
});
|
||||
} else {
|
||||
query.where((builder, root) -> builder.equal(root.join("dmp", JoinType.LEFT).join("users", JoinType.LEFT).join("user", JoinType.LEFT).get("id"), principal.getId()));
|
||||
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(DescriptionEntity item) {
|
||||
this.getDatabaseService().delete(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryableList<DescriptionEntity> asQueryable() {
|
||||
return this.getDatabaseService().getQueryable(DescriptionEntity.class);
|
||||
}
|
||||
|
||||
@Async
|
||||
public CompletableFuture<DescriptionEntity> createOrUpdateAsync(DescriptionEntity item) {
|
||||
return CompletableFuture.supplyAsync(() -> this.createOrUpdate(item));
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
package eu.eudat.query;
|
||||
|
||||
import eu.eudat.data.DmpEntity;
|
||||
import eu.eudat.data.dao.DatabaseAccessLayer;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.queryable.QueryableList;
|
||||
import eu.eudat.queryable.types.FieldSelectionType;
|
||||
import eu.eudat.queryable.types.SelectionField;
|
||||
|
||||
import jakarta.persistence.criteria.Subquery;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DatasetQuery extends Query<DescriptionEntity, UUID> {
|
||||
|
||||
private UUID id;
|
||||
private String label;
|
||||
|
||||
public DatasetQuery(DatabaseAccessLayer<DescriptionEntity, UUID> databaseAccessLayer) {
|
||||
super(databaseAccessLayer);
|
||||
}
|
||||
|
||||
public DatasetQuery(DatabaseAccessLayer<DescriptionEntity, UUID> databaseAccessLayer, List<String> selectionFields) {
|
||||
super(databaseAccessLayer, selectionFields);
|
||||
}
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public QueryableList<DescriptionEntity> getQuery() throws InvalidApplicationException {
|
||||
QueryableList<DescriptionEntity> query = this.databaseAccessLayer.asQueryable();
|
||||
if (this.id != null) {
|
||||
query.where((builder, root) -> builder.equal(root.get("id"), this.id));
|
||||
}
|
||||
return query;
|
||||
}
|
||||
}
|
|
@ -20,8 +20,8 @@ import eu.eudat.logic.services.ApiContext;
|
|||
import eu.eudat.logic.services.operations.DatabaseRepository;
|
||||
import eu.eudat.model.file.FileEnvelope;
|
||||
import eu.eudat.models.HintedModelFactory;
|
||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
||||
import eu.eudat.query.DescriptionQuery;
|
||||
import eu.eudat.query.DescriptionTemplateQuery;
|
||||
import eu.eudat.query.DmpDescriptionTemplateQuery;
|
||||
import eu.eudat.query.DmpQuery;
|
||||
|
@ -141,7 +141,7 @@ public class FileController {
|
|||
}
|
||||
|
||||
if(fileUpload.getEntityType().name().equals(FileUpload.EntityType.DATASET.name())) {
|
||||
DescriptionEntity descriptionEntityEntity = databaseRepository.getDatasetDao().find(fileUpload.getEntityId(), HintedModelFactory.getHint(DatasetWizardModel.class));
|
||||
DescriptionEntity descriptionEntityEntity = this.queryFactory.query(DescriptionQuery.class).ids(fileUpload.getEntityId()).first();
|
||||
if (descriptionEntityEntity == null) {
|
||||
throw new NoSuchElementException("No dataset with id " + fileUpload.getEntityId() + " found. This dataset was related to the file with id " + id);
|
||||
}
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
package eu.eudat.controllers;
|
||||
|
||||
|
||||
import eu.eudat.authorization.Permission;
|
||||
import eu.eudat.commons.scope.user.UserScope;
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
import eu.eudat.logic.managers.QuickWizardManager;
|
||||
import eu.eudat.logic.services.ApiContext;
|
||||
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
||||
import eu.eudat.models.data.quickwizard.DatasetCreateWizardModel;
|
||||
import eu.eudat.models.data.quickwizard.DatasetDescriptionQuickWizardModel;
|
||||
import eu.eudat.models.data.quickwizard.QuickWizardModel;
|
||||
import eu.eudat.types.ApiMessageCode;
|
||||
import gr.cite.commons.web.authz.service.AuthorizationService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import jakarta.transaction.Transactional;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
@RestController
|
||||
@CrossOrigin
|
||||
@RequestMapping(value = {"/api/quick-wizard/"})
|
||||
public class QuickWizardController extends BaseController {
|
||||
|
||||
private QuickWizardManager quickWizardManager;
|
||||
private DatasetManager datasetManager;
|
||||
private final AuthorizationService authorizationService;
|
||||
private final UserScope userScope;
|
||||
|
||||
@Autowired
|
||||
public QuickWizardController(ApiContext apiContext, QuickWizardManager quickWizardManager, DatasetManager datasetManager, AuthorizationService authorizationService, UserScope userScope) {
|
||||
super(apiContext);
|
||||
this.quickWizardManager = quickWizardManager;
|
||||
this.datasetManager = datasetManager;
|
||||
this.authorizationService = authorizationService;
|
||||
this.userScope = userScope;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
|
||||
public @ResponseBody
|
||||
ResponseEntity<ResponseItem<QuickWizardModel>> addQuickWizardModel(@Valid @RequestBody QuickWizardModel quickWizard) throws Exception {
|
||||
this.authorizationService.authorizeForce(Permission.AuthenticatedRole);
|
||||
|
||||
|
||||
// Funder funderEntity;//TODO
|
||||
// //Create Funder
|
||||
// if (quickWizard.getFunder() == null) {
|
||||
// funderEntity = null;
|
||||
// } else if (quickWizard.getFunder().getExistFunder() == null && quickWizard.getFunder().getLabel() == null) {
|
||||
// funderEntity = null;
|
||||
// } else if (quickWizard.getFunder().getExistFunder() == null && quickWizard.getFunder().getLabel() != null) {
|
||||
// funderEntity = this.quickWizardManager.createOrUpdate(quickWizard.getFunder().toDataFunder());
|
||||
// } else {
|
||||
// funderEntity = quickWizard.getFunder().getExistFunder().toDataModel();
|
||||
// }
|
||||
|
||||
// Grant grantEntity; //TODO
|
||||
// //Create Grant
|
||||
// if (quickWizard.getGrant() == null) {
|
||||
// grantEntity = null;
|
||||
// } else if (quickWizard.getGrant().getExistGrant() == null && quickWizard.getGrant().getLabel() == null) {
|
||||
// grantEntity = null;
|
||||
// } else if (quickWizard.getGrant().getExistGrant() == null) {
|
||||
// grantEntity = this.quickWizardManager.createOrUpdate(quickWizard.getGrant().toDataGrant());
|
||||
// } else {
|
||||
// grantEntity = quickWizard.getGrant().getExistGrant().toDataModel();
|
||||
// }
|
||||
|
||||
// Project projectEntity; //TODO
|
||||
// //Create Project
|
||||
// if (quickWizard.getProject().getExistProject() == null
|
||||
// && quickWizard.getProject().getLabel() == null) {
|
||||
// projectEntity = null;
|
||||
// } else if (quickWizard.getProject().getExistProject() == null && quickWizard.getProject().getLabel() != null) {
|
||||
// projectEntity = this.quickWizardManager.createOrUpdate(quickWizard.getProject().toDataProject());
|
||||
// } else {
|
||||
// projectEntity = quickWizard.getProject().getExistProject().toDataModel();
|
||||
// }
|
||||
|
||||
//Create Dmp
|
||||
// DataManagementPlan dataManagementPlan = quickWizard.getDmp().toDataDmp(/*grantEntity,*/ userScope);
|
||||
// DmpEntity dmpEntity = this.quickWizardManager.createOrUpdate(dataManagementPlan/*, funderEntity*/);
|
||||
//
|
||||
// //Create Datasets
|
||||
// quickWizard.getDmp().setId(dmpEntity.getId());
|
||||
// for (DatasetDescriptionQuickWizardModel dataset : quickWizard.getDatasets().getDatasetsList()) {
|
||||
// DataManagementPlan dmp = quickWizard.getDmp().toDataDmp(/*grantEntity , projectEntity, */ userScope);
|
||||
// DescriptionTemplateEntity profile = quickWizard.getDmp().getDatasetProfile();
|
||||
// DatasetWizardModel datasetWizardModel = dataset.toDataModel(dmp, profile);
|
||||
// this.datasetManager.createOrUpdate(datasetWizardModel);
|
||||
// }
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<QuickWizardModel>().status(ApiMessageCode.SUCCESS_MESSAGE).message("Created"));
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.POST, value = {"/datasetcreate"}, consumes = "application/json", produces = "application/json")
|
||||
public @ResponseBody
|
||||
ResponseEntity<ResponseItem<DatasetCreateWizardModel>> addDatasetWizard(@RequestBody DatasetCreateWizardModel datasetCreateWizardModel) throws Exception{
|
||||
this.authorizationService.authorizeForce(Permission.AuthenticatedRole);
|
||||
|
||||
for(DatasetDescriptionQuickWizardModel dataset : datasetCreateWizardModel.getDatasets().getDatasetsList()){
|
||||
DescriptionTemplateEntity profile = new DescriptionTemplateEntity();
|
||||
// profile.setId(datasetCreateWizardModel.getDmpMeta().getDatasetProfile().getId());
|
||||
// profile.setLabel(datasetCreateWizardModel.getDmpMeta().getDatasetProfile().getLabel());
|
||||
this.datasetManager.createOrUpdate(dataset.toDataModel(profile));
|
||||
}
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DatasetCreateWizardModel>().status(ApiMessageCode.SUCCESS_MESSAGE).message("Dataset added!"));
|
||||
}
|
||||
}
|
|
@ -1,10 +1,8 @@
|
|||
package eu.eudat.controllers.v2;
|
||||
|
||||
import eu.eudat.audit.AuditableAction;
|
||||
import eu.eudat.models.data.dataset.DatasetOverviewModel;
|
||||
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
||||
import eu.eudat.models.v2.Account;
|
||||
import eu.eudat.models.v2.AccountBuilder;
|
||||
import eu.eudat.types.ApiMessageCode;
|
||||
import gr.cite.commons.web.oidc.principal.CurrentPrincipalResolver;
|
||||
import gr.cite.commons.web.oidc.principal.MyPrincipal;
|
||||
import gr.cite.tools.auditing.AuditService;
|
||||
|
@ -13,11 +11,9 @@ import gr.cite.tools.fieldset.FieldSet;
|
|||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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.web.bind.annotation.*;
|
||||
import eu.eudat.models.v2.Account;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import com.fasterxml.jackson.databind.ObjectReader;
|
|||
import com.fasterxml.jackson.databind.node.JsonNodeType;
|
||||
import eu.eudat.criteria.entities.Criteria;
|
||||
import eu.eudat.logic.services.operations.DatabaseRepository;
|
||||
import eu.eudat.query.DatasetQuery;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
@ -58,10 +57,4 @@ public class DatasetCriteria {
|
|||
return new LinkedList<>(fields);
|
||||
}
|
||||
|
||||
public DatasetQuery buildQuery(DatabaseRepository dao) {
|
||||
List<String> fields = this.buildFields("");
|
||||
DatasetQuery datasetQuery = new DatasetQuery(dao.getDatasetDao(), fields);
|
||||
if (this.id != null) datasetQuery.setId(this.id.getValue());
|
||||
return datasetQuery;
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,65 +0,0 @@
|
|||
package eu.eudat.logic.managers;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.commons.enums.DmpStatus;
|
||||
import eu.eudat.commons.enums.IsActive;
|
||||
import eu.eudat.commons.scope.user.UserScope;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.data.DmpEntity;
|
||||
import eu.eudat.data.UserEntity;
|
||||
import eu.eudat.exceptions.datasetwizard.DatasetWizardCannotUnlockException;
|
||||
import eu.eudat.logic.services.ApiContext;
|
||||
import eu.eudat.queryable.QueryableList;
|
||||
import gr.cite.tools.data.query.QueryFactory;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
public class DatasetWizardManager {
|
||||
|
||||
// public static List<DataManagentPlanListingModel> getUserDmps(DMPDao dmpRepository, DatasetWizardAutocompleteRequest datasetWizardAutocompleteRequest, UserScope userScope) throws InstantiationException, IllegalAccessException, InvalidApplicationException {
|
||||
// UserEntity userInfo = new UserEntity();
|
||||
// userInfo.setId(userScope.getUserId());
|
||||
// QueryableList<DmpEntity> items = dmpRepository.getUserDmps(datasetWizardAutocompleteRequest.getCriteria(), userInfo);
|
||||
// List<DataManagentPlanListingModel> dataManagementPlans = items.select(item -> new DataManagentPlanListingModel().fromDataModel(item));
|
||||
// return dataManagementPlans;
|
||||
// }
|
||||
|
||||
// public static List<AssociatedProfile> getAvailableProfiles(DMPDao dmpRepository, DatasetProfileDao profileDao, DatasetProfileWizardAutocompleteRequest datasetProfileWizardAutocompleteRequest) throws InstantiationException, IllegalAccessException, InvalidApplicationException {
|
||||
// DataManagementPlan dataManagementPlan = new DataManagementPlan().fromDataModel(dmpRepository.find(datasetProfileWizardAutocompleteRequest.getCriteria().getId()));
|
||||
// if (dataManagementPlan.getProfiles() == null || dataManagementPlan.getProfiles().isEmpty()) {
|
||||
// return new LinkedList<>();
|
||||
// }
|
||||
// DatasetProfileCriteria criteria = new DatasetProfileCriteria();
|
||||
// criteria.setIds(dataManagementPlan.getProfiles().stream().map(AssociatedProfile::getDescriptionTemplateId).collect(Collectors.toList()));
|
||||
// List<DescriptionTemplateEntity> descriptionTemplateEntities = profileDao.getWithCriteria(criteria).toList();
|
||||
// criteria.setIds(null);
|
||||
// criteria.setGroupIds(descriptionTemplateEntities.stream().map(DescriptionTemplateEntity::getGroupId).collect(Collectors.toList()));
|
||||
// descriptionTemplateEntities = profileDao.getWithCriteria(criteria).toList();
|
||||
// List<AssociatedProfile> profiles = descriptionTemplateEntities.stream().map(profile -> new AssociatedProfile().fromData(profile)).collect(Collectors.toList());
|
||||
// return profiles;
|
||||
// }
|
||||
|
||||
// public void unlock(ApiContext apiContext, QueryFactory queryFactory, UUID uuid) throws DatasetWizardCannotUnlockException, InvalidApplicationException {
|
||||
// DescriptionEntity descriptionEntity = apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().find(uuid);
|
||||
// DmpEntity dmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(descriptionEntity.getDescriptionTemplateId());
|
||||
// if(dmp.getStatus().equals(DmpStatus.Finalized)) throw new DatasetWizardCannotUnlockException("To perform this action you will need to revert DMP's finalisation");
|
||||
// descriptionEntity.setStatus(DescriptionStatus.Draft);
|
||||
// apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().createOrUpdate(descriptionEntity);
|
||||
// return;
|
||||
// }
|
||||
|
||||
public void delete(ApiContext apiContext, UUID uuid) throws IOException, InvalidApplicationException {
|
||||
DescriptionEntity oldDescriptionEntity = apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().find(uuid);
|
||||
// eu.eudat.elastic.entities.Dataset oldDatasetElasitc = apiContext.getOperationsContext().getElasticRepository().getDatasetRepository().findDocument(uuid.toString()); //TODO
|
||||
oldDescriptionEntity.setIsActive(IsActive.Inactive);
|
||||
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().createOrUpdate(oldDescriptionEntity);
|
||||
// if (oldDatasetElasitc != null && uuid != null && oldDatasetElasitc.getId()!= null) {
|
||||
// oldDatasetElasitc.setStatus(oldDescriptionEntity.getStatus().getValue());
|
||||
// apiContext.getOperationsContext().getElasticRepository().getDatasetRepository().createOrUpdate(oldDatasetElasitc);
|
||||
// }
|
||||
}
|
||||
}
|
|
@ -352,7 +352,8 @@ public class MetricsManager {
|
|||
eu.eudat.data.dao.criteria.DatasetCriteria criteria = new eu.eudat.data.dao.criteria.DatasetCriteria();
|
||||
criteria.setStatus(0);
|
||||
if (countNexus) criteria.setPeriodStart(getNexusDate());
|
||||
return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
// return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long countAllFinalizedDatasets() throws InvalidApplicationException {
|
||||
|
@ -363,7 +364,8 @@ public class MetricsManager {
|
|||
eu.eudat.data.dao.criteria.DatasetCriteria criteria = new eu.eudat.data.dao.criteria.DatasetCriteria();
|
||||
criteria.setStatus(1);
|
||||
if (countNexus) criteria.setPeriodStart(getNexusDate());
|
||||
return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
// return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long countAllPublicDatasets() throws InvalidApplicationException {
|
||||
|
@ -374,7 +376,8 @@ public class MetricsManager {
|
|||
eu.eudat.data.dao.criteria.DatasetCriteria criteria = new eu.eudat.data.dao.criteria.DatasetCriteria();
|
||||
criteria.setIsPublic(true);
|
||||
if (countNexus) criteria.setPeriodStart(getNexusDate());
|
||||
return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
// return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long countAllDatasetsWithDoi() throws InvalidApplicationException {
|
||||
|
@ -385,7 +388,8 @@ public class MetricsManager {
|
|||
eu.eudat.data.dao.criteria.DatasetCriteria criteria = new eu.eudat.data.dao.criteria.DatasetCriteria();
|
||||
criteria.setHasDoi(true);
|
||||
if (countNexus) criteria.setPeriodStart(getNexusDate());
|
||||
return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
// return apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).count();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long countAllDraftTemplates() throws InvalidApplicationException {
|
||||
|
|
|
@ -1,140 +0,0 @@
|
|||
package eu.eudat.logic.managers;
|
||||
|
||||
import eu.eudat.commons.enums.DmpUserRole;
|
||||
import eu.eudat.commons.scope.user.UserScope;
|
||||
import eu.eudat.data.DmpEntity;
|
||||
import eu.eudat.data.DmpUserEntity;
|
||||
import eu.eudat.data.UserEntity;
|
||||
import eu.eudat.data.old.*;
|
||||
import eu.eudat.logic.services.ApiContext;
|
||||
import eu.eudat.logic.services.operations.DatabaseRepository;
|
||||
import eu.eudat.query.UserQuery;
|
||||
import gr.cite.tools.data.query.QueryFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.management.InvalidApplicationException;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
|
||||
@Component
|
||||
public class QuickWizardManager {
|
||||
|
||||
private ApiContext apiContext;
|
||||
private DatabaseRepository databaseRepository;
|
||||
private DatasetManager datasetManager;
|
||||
|
||||
private final QueryFactory queryFactory;
|
||||
|
||||
private final UserScope userScope;
|
||||
@Autowired
|
||||
public QuickWizardManager(ApiContext apiContext, DatasetManager datasetManager, QueryFactory queryFactory, UserScope userScope) {
|
||||
this.apiContext = apiContext;
|
||||
this.databaseRepository = apiContext.getOperationsContext().getDatabaseRepository();
|
||||
this.datasetManager = datasetManager;
|
||||
this.queryFactory = queryFactory;
|
||||
this.userScope = userScope;
|
||||
}
|
||||
//TODO
|
||||
// public Funder createOrUpdate(eu.eudat.models.data.funder.Funder funder) {
|
||||
// Funder funderEntity = funder.toDataModel();
|
||||
// return databaseRepository.getFunderDao().createOrUpdate(funderEntity);
|
||||
// }
|
||||
//TODO
|
||||
// public Grant createOrUpdate(eu.eudat.models.data.grant.Grant grant) throws ParseException, IOException, InvalidApplicationException {
|
||||
// Grant grantEntity = grant.toDataModel();
|
||||
// grantEntity.setType(Grant.GrantType.INTERNAL.getValue());
|
||||
// grantEntity.setCreationUser(this.queryFactory.query(UserQuery.class).ids(this.userScope.getUserId()).first());
|
||||
// return databaseRepository.getGrantDao().createOrUpdate(grantEntity);
|
||||
// }
|
||||
//TODO
|
||||
// public Project createOrUpdate(eu.eudat.models.data.project.Project project) throws InvalidApplicationException {
|
||||
// Project projectEntity = project.toDataModel();
|
||||
// projectEntity.setCreationUser(this.queryFactory.query(UserQuery.class).ids(this.userScope.getUserId()).first());
|
||||
// return databaseRepository.getProjectDao().createOrUpdate(projectEntity);
|
||||
// }
|
||||
|
||||
// public DmpEntity createOrUpdate(DataManagementPlan dataManagementPlan/*, Funder funderEntity*/) throws Exception {
|
||||
// DmpEntity newDmp = dataManagementPlan.toDataModel();
|
||||
//// if (funderEntity != null) {
|
||||
//// //TODO
|
||||
//// //newDmp.getGrant().setFunder(funderEntity);
|
||||
//// }
|
||||
// UserEntity user = this.queryFactory.query(UserQuery.class).ids(this.userScope.getUserId()).first();
|
||||
// createFunderIfItDoesntExist(newDmp, user);
|
||||
// createGrantIfItDoesntExist(newDmp, user);
|
||||
// //TODO
|
||||
//// if (newDmp.getProject() == null) {
|
||||
//// newDmp.setProject(new Project());
|
||||
//// newDmp.setProject(newDmp.getProject().projectFromGrant(newDmp.getGrant()));
|
||||
//// }
|
||||
// createProjectIfItDoesntExist(newDmp, user);
|
||||
//
|
||||
// //TODO
|
||||
// //apiContext.getOperationsContext().getDatabaseRepository().getGrantDao().createOrUpdate(newDmp.getGrant());
|
||||
// DmpEntity dmpret = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().createOrUpdate(newDmp);
|
||||
//// if (dataManagementPlan.getAssociatedUsers().size() == 0)
|
||||
//// assignUser(newDmp, user, apiContext);
|
||||
//
|
||||
//// this.updateIndex(dmpret);
|
||||
//
|
||||
// return dmpret;
|
||||
// }
|
||||
|
||||
// private void updateIndex(DMP dmp) throws IOException, InvalidApplicationException {
|
||||
// DmpMapper mapper = new DmpMapper(apiContext, datasetManager);
|
||||
// Dmp elastic = mapper.toElastic(dmp);
|
||||
// apiContext.getOperationsContext().getElasticRepository().getDmpRepository().createOrUpdate(elastic);
|
||||
// }
|
||||
|
||||
private void assignUser(DmpEntity dmp, UserEntity userInfo, ApiContext apiContext) {
|
||||
DmpUserEntity userDMP = new DmpUserEntity();
|
||||
userDMP.setDmpId(dmp.getId());
|
||||
userDMP.setUserId(userInfo.getId());
|
||||
userDMP.setRole(DmpUserRole.User);
|
||||
//apiContext.getOperationsContext().getDatabaseRepository().getUserDmpDao().createOrUpdate(userDMP);
|
||||
}
|
||||
|
||||
private void createGrantIfItDoesntExist(DmpEntity newDmp, UserEntity userInfo) throws InvalidApplicationException {
|
||||
// if (newDmp.getGrant() != null) {
|
||||
// Grant grant = newDmp.getGrant();
|
||||
// GrantCriteria criteria = new GrantCriteria();
|
||||
// criteria.setReference(grant.getReference());
|
||||
// Grant grantEntity = databaseRepository.getGrantDao().getWithCriteria(criteria).getSingleOrDefault();
|
||||
// if (grantEntity != null) grant.setId(grantEntity.getId());
|
||||
// else {
|
||||
// grant.setType(Grant.GrantType.EXTERNAL.getValue());
|
||||
// databaseRepository.getGrantDao().createOrUpdate(grant);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
private void createFunderIfItDoesntExist(DmpEntity newDmp, UserEntity userInfo) throws InvalidApplicationException {
|
||||
// if (newDmp.getGrant().getFunder() != null) { //TODO
|
||||
// Funder funder = newDmp.getGrant().getFunder();
|
||||
// FunderCriteria criteria = new FunderCriteria();
|
||||
// criteria.setReference(funder.getReference());
|
||||
// Funder funderEntity = databaseRepository.getFunderDao().getWithCritetia(criteria).getSingleOrDefault();
|
||||
// if (funderEntity != null) funder.setId(funderEntity.getId());
|
||||
// else {
|
||||
// funder.setType(Funder.FunderType.EXTERNAL.getValue());
|
||||
// databaseRepository.getFunderDao().createOrUpdate(funder);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
private void createProjectIfItDoesntExist(DmpEntity newDmp, UserEntity userInfo) throws InvalidApplicationException {
|
||||
// if (newDmp.getProject() != null) { //TODO
|
||||
// Project project = newDmp.getProject();
|
||||
// ProjectCriteria criteria = new ProjectCriteria();
|
||||
// criteria.setReference(project.getReference());
|
||||
// Project projectEntity = databaseRepository.getProjectDao().getWithCritetia(criteria).getSingleOrDefault();
|
||||
// if (projectEntity != null) project.setId(projectEntity.getId());
|
||||
// else {
|
||||
// if (project.getId() == null) project.setId(UUID.randomUUID());
|
||||
// project.setType(Project.ProjectType.EXTERNAL.getValue());
|
||||
// databaseRepository.getProjectDao().createOrUpdate(project);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
|
@ -1,279 +0,0 @@
|
|||
package eu.eudat.logic.mapper.prefilling;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.data.TagEntity;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
import eu.eudat.logic.managers.DatasetProfileManager;
|
||||
import eu.eudat.service.remotefetcher.config.entities.DefaultPrefillingMapping;
|
||||
import eu.eudat.service.remotefetcher.config.entities.PrefillingFixedMapping;
|
||||
import eu.eudat.service.remotefetcher.config.entities.PrefillingGet;
|
||||
import eu.eudat.service.remotefetcher.config.entities.PrefillingMapping;
|
||||
import eu.eudat.utilities.helpers.StreamDistinctBy;
|
||||
import eu.eudat.logic.utilities.json.JsonSearcher;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalSelectDataEntity;
|
||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||
import eu.eudat.service.remotefetcher.models.ExternalAutocompleteFieldResult;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import eu.eudat.commons.enums.FieldType;
|
||||
|
||||
@Component
|
||||
public class PrefillingMapper {
|
||||
private static final Logger logger = LoggerFactory.getLogger(PrefillingMapper.class);
|
||||
private static final ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
|
||||
private final DatasetProfileManager datasetProfileManager;
|
||||
|
||||
@Autowired
|
||||
public PrefillingMapper(DatasetProfileManager datasetProfileManager) {
|
||||
this.datasetProfileManager = datasetProfileManager;
|
||||
}
|
||||
|
||||
public DatasetWizardModel mapPrefilledEntityToDatasetWizard(Map<String, Object> prefilledEntity, PrefillingGet prefillingGet, String type,
|
||||
DescriptionTemplateEntity profile, DatasetManager datasetManager /*, LicenseManager licenseManager*/) throws Exception {
|
||||
DatasetWizardModel datasetWizardModel = new DatasetWizardModel();
|
||||
// datasetWizardModel.setProfile(new DatasetProfileOverviewModel().fromDataModel(profile));
|
||||
DescriptionEntity descriptionEntity = new DescriptionEntity();
|
||||
//descriptionEntity.setDescriptionTemplateId(profile.getId()); //TODO
|
||||
Map<String, Object> properties = new HashMap<>();
|
||||
JsonNode parentNode = mapper.readTree(mapper.writeValueAsString(datasetManager.getPagedProfile(datasetWizardModel, descriptionEntity)));
|
||||
for (DefaultPrefillingMapping prefillingMapping: prefillingGet.getMappings()) {
|
||||
List<String> sourceKeys = Arrays.asList(prefillingMapping.getSource().split("\\."));
|
||||
Object sourceValue = null;
|
||||
for (String sourceKey: sourceKeys) {
|
||||
if (sourceValue == null) {
|
||||
sourceValue = prefilledEntity.get(sourceKey);
|
||||
} else if (sourceValue instanceof Map) {
|
||||
sourceValue = ((Map)sourceValue).get(sourceKey);
|
||||
}
|
||||
}
|
||||
try {
|
||||
setValue(prefillingMapping, mapper.writeValueAsString(sourceValue), datasetWizardModel, parentNode, properties, type/*, licenseManager*/);
|
||||
}
|
||||
catch (Exception e) {
|
||||
if (prefillingMapping.getSemanticTarget() != null && !prefillingMapping.getSemanticTarget().isEmpty()) {
|
||||
logger.warn("Couldn't map " + prefillingMapping.getSemanticTarget());
|
||||
}
|
||||
else if (prefillingMapping.getTarget() != null && !prefillingMapping.getTarget().isEmpty()) {
|
||||
logger.warn("Couldn't map " + prefillingMapping.getTarget());
|
||||
}
|
||||
}
|
||||
}
|
||||
for (PrefillingFixedMapping fixedMapping: prefillingGet.getFixedMappings()) {
|
||||
setValue(fixedMapping, fixedMapping.getValue(), datasetWizardModel, parentNode, properties, type/*, licenseManager*/);
|
||||
}
|
||||
descriptionEntity.setProperties(mapper.writeValueAsString(properties));
|
||||
datasetWizardModel.setDatasetProfileDefinition(datasetManager.getPagedProfile(datasetWizardModel, descriptionEntity));
|
||||
return datasetWizardModel;
|
||||
}
|
||||
|
||||
private void setValue(PrefillingMapping prefillingMapping, String value, DatasetWizardModel datasetWizardModel, JsonNode parentNode, Map<String, Object> properties, String type/*, LicenseManager licenseManager*/) throws InvocationTargetException, IllegalAccessException, JsonProcessingException {
|
||||
String trimRegex = prefillingMapping.getTrimRegex() != null ? prefillingMapping.getTrimRegex() : "";
|
||||
if (!value.startsWith("\"") && !value.startsWith("[") && !value.equals("null")) {
|
||||
value = "\"" + value + "\"";
|
||||
}
|
||||
JsonNode valueNode = mapper.readTree(value);
|
||||
List<String> parsedValues = new ArrayList<>();
|
||||
if (valueNode.isArray() && (valueNode.get(0) != null && !valueNode.get(0).isTextual())) {
|
||||
if (prefillingMapping.getSubSource() == null || prefillingMapping.getSubSource().isEmpty()) {
|
||||
throw new IllegalArgumentException("Source value is an array but no subSource field have been set");
|
||||
}
|
||||
String parsedValue;
|
||||
for(int i = 0; i < valueNode.size(); i++){
|
||||
JsonNode jsonObj = valueNode.get(i);
|
||||
String subSource = jsonObj.get(prefillingMapping.getSubSource()).asText();
|
||||
parsedValue = subSource.replaceAll(trimRegex, "");
|
||||
parsedValues.add(parsedValue);
|
||||
}
|
||||
parsedValues = parsedValues.stream().distinct().collect(Collectors.toList());
|
||||
}
|
||||
String parsedValue = null;
|
||||
if (valueNode.isTextual()) {
|
||||
parsedValue = valueNode.textValue().replace(trimRegex, "");
|
||||
}else if (valueNode.isArray() && (valueNode.get(0) != null && valueNode.get(0).isTextual())) {
|
||||
List<String> values = new LinkedList<>();
|
||||
for (int i = 0; i < valueNode.size(); i++) {
|
||||
values.add(valueNode.get(i).textValue().replace(trimRegex, ""));
|
||||
}
|
||||
parsedValue = String.join(", ", values);
|
||||
}
|
||||
|
||||
if (prefillingMapping.getTarget() != null) {
|
||||
try {
|
||||
String methodName = "set" + prefillingMapping.getTarget().substring(0, 1).toUpperCase(Locale.ROOT) + prefillingMapping.getTarget().substring(1);
|
||||
Method setterMethod = Arrays.stream(DatasetWizardModel.class.getDeclaredMethods())
|
||||
.filter(method -> method.getName().equals(methodName)).collect(Collectors.toList()).get(0);
|
||||
Class<?>[] params = setterMethod.getParameterTypes();
|
||||
//GK: Tags Special logic
|
||||
if (parsedValue != null && !parsedValue.equals("null") && prefillingMapping.getTarget().equals("tags")) {
|
||||
parsedValue = mapper.valueToTree(parseTags(parsedValue)).toString();
|
||||
}
|
||||
else if(!parsedValues.isEmpty() && prefillingMapping.getTarget().equals("tags")) {
|
||||
parsedValue = mapper.valueToTree(parseTags(String.join(", ", parsedValues))).toString();
|
||||
}
|
||||
else {
|
||||
parsedValue = mapper.valueToTree(parsedValue).toString();
|
||||
}
|
||||
setterMethod.invoke(datasetWizardModel, mapper.readValue(parsedValue, params[0]));
|
||||
}catch (InvocationTargetException | IllegalAccessException | JsonProcessingException e) {
|
||||
throw e;
|
||||
}
|
||||
} else {
|
||||
List<JsonNode> nodes = JsonSearcher.findNodes(parentNode, "schematics", prefillingMapping.getSemanticTarget());
|
||||
|
||||
// zenodo prefilling customizations
|
||||
if(type.equals("zenodo")){
|
||||
if(prefillingMapping.getSemanticTarget().equals("rda.dataset.distribution.data_access")){
|
||||
if(parsedValue != null && parsedValue.equals("open")){
|
||||
List<JsonNode> issuedNodes = JsonSearcher.findNodes(parentNode, "schematics", "rda.dataset.issued");
|
||||
if(!issuedNodes.isEmpty()){
|
||||
String issuedIdNode = issuedNodes.get(0).get("id").asText();
|
||||
String issuedValue = (String) properties.get(issuedIdNode);
|
||||
List<JsonNode> licStartDateNodes = JsonSearcher.findNodes(parentNode, "schematics", "rda.dataset.distribution.license.start_date");
|
||||
for (JsonNode licStartDateNode : licStartDateNodes) {
|
||||
String licStartDateId = licStartDateNode.get(0) != null ? licStartDateNode.get(0).get("id").asText() : licStartDateNode.get("id").asText();
|
||||
properties.put(licStartDateId, issuedValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (prefillingMapping.getSemanticTarget().equals("rda.dataset.distribution.available_until") && parsedValue != null && !parsedValue.equals("null")) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd");
|
||||
LocalDate date = LocalDate.parse(parsedValue, formatter);
|
||||
date = date.plusYears(20);
|
||||
parsedValue = date.toString();
|
||||
}
|
||||
}
|
||||
|
||||
for (JsonNode node: nodes) {
|
||||
String id = node.isArray() ? node.get(0).get("id").asText() : node.get("id").asText();
|
||||
String renderStyle = node.isArray() ? node.get(0).get("viewStyle").get("renderStyle").asText() : node.get("viewStyle").get("renderStyle").asText();
|
||||
|
||||
switch (FieldType.of(renderStyle)) {
|
||||
case EXTERNAL_SELECT:
|
||||
case SELECT:
|
||||
if (parsedValues.isEmpty())
|
||||
parsedValues.add(parsedValue);
|
||||
if (!parsedValues.stream().allMatch(Objects::isNull)) {
|
||||
properties.put(id, parseComboBoxValues(node, parsedValues));
|
||||
}
|
||||
break;
|
||||
case TAGS:
|
||||
if(parsedValues.isEmpty()) {
|
||||
properties.put(id, mapper.valueToTree(parseTags(parsedValue)).toString());
|
||||
}
|
||||
else {
|
||||
properties.put(id, mapper.valueToTree(parseTags(String.join(", ", parsedValues))).toString());
|
||||
}
|
||||
break;
|
||||
case DATASET_IDENTIFIER:
|
||||
JSONObject datasetID = new JSONObject();
|
||||
datasetID.put("identifier", parsedValue);
|
||||
if(type.equals("zenodo")){
|
||||
datasetID.put("type", "doi");
|
||||
}
|
||||
properties.put(id, datasetID.toString());
|
||||
break;
|
||||
case LICENSES:
|
||||
// try {
|
||||
// List<LicenseModel> licenses = licenseManager.getLicenses("", "");
|
||||
// String finalParsedValue = parsedValue;
|
||||
// licenses = licenses.stream().filter(license -> license.getPid().equals(finalParsedValue)).collect(Collectors.toList());
|
||||
// boolean isMultiAutocomplete = node.isArray() ? node.get(0).get("data").get("multiAutoComplete").booleanValue() : node.get("data").get("multiAutoComplete").booleanValue();
|
||||
// if(isMultiAutocomplete){
|
||||
// List<String> lic = new ArrayList<>();
|
||||
// for(LicenseModel license: licenses){
|
||||
// lic.add(mapper.writeValueAsString(license));
|
||||
// }
|
||||
// properties.put(id, mapper.writeValueAsString(lic));
|
||||
// } else {
|
||||
// properties.put(id, mapper.writeValueAsString(licenses.get(0)));
|
||||
// }
|
||||
// }
|
||||
// catch (MyNotFoundException | HugeResultSetException e){
|
||||
// properties.put(id, parsedValue);
|
||||
// }
|
||||
break;
|
||||
default:
|
||||
if (!parsedValues.isEmpty())
|
||||
properties.put(id, String.join(", ", parsedValues));
|
||||
else {
|
||||
properties.put(id, parsedValue);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Object parseComboBoxValues(JsonNode node, List<String> parsedValues) throws JsonProcessingException {
|
||||
List<Object> normalizedValues = new ArrayList<>();
|
||||
boolean isMultiSelect;
|
||||
String type = node.isArray() ? node.get(0).get("data").get("type").asText() : node.get("data").get("type").asText();
|
||||
if(type.equals("autocomplete")) {
|
||||
JsonNode dataNode = node.isArray() ? node.get(0).get("data") : node.get("data");
|
||||
ExternalSelectDataEntity externalSelectDataEntity = mapper.treeToValue(dataNode, ExternalSelectDataEntity.class);
|
||||
isMultiSelect = externalSelectDataEntity.getMultipleSelect();
|
||||
for (String format : parsedValues) {
|
||||
List<ExternalAutocompleteFieldResult> result = new ArrayList<>();
|
||||
try {
|
||||
result = datasetProfileManager.getAutocomplete(externalSelectDataEntity, format);
|
||||
}
|
||||
catch (Exception e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
result = result.stream().filter(StreamDistinctBy.distinctByKey(ExternalAutocompleteFieldResult::getId)).collect(Collectors.toList());
|
||||
if(!result.isEmpty()){
|
||||
List<String> tempValues = new LinkedList<>();
|
||||
for (ExternalAutocompleteFieldResult f : result) {
|
||||
if (format.equals(f.getId()) || f.getLabel().toUpperCase(Locale.ROOT).contains(format.toUpperCase(Locale.ROOT)))
|
||||
tempValues.add(mapper.valueToTree(f).toString());
|
||||
}
|
||||
if (isMultiSelect)
|
||||
normalizedValues.addAll(tempValues);
|
||||
else if (!tempValues.isEmpty())
|
||||
normalizedValues.add(tempValues.get(0));
|
||||
}
|
||||
}
|
||||
return !normalizedValues.isEmpty() ? (isMultiSelect ? normalizedValues : normalizedValues.get(0)) : null;
|
||||
} else {
|
||||
JsonNode optionsNode = node.isArray() ? node.get(0).get("data").get("options") : node.get("data").get("options");
|
||||
isMultiSelect = node.isArray() ? node.get(0).get("data").get("multiList").booleanValue() : node.get("data").get("multiList").booleanValue();
|
||||
for (int i = 0; i < optionsNode.size(); i++) {
|
||||
String value = optionsNode.get(i).get("value").textValue();
|
||||
if (parsedValues.contains(value)) {
|
||||
normalizedValues.add(value);
|
||||
}
|
||||
}
|
||||
List<String> normalizedStringValues = normalizedValues.stream().map(Object::toString).collect(Collectors.toList());
|
||||
|
||||
return !normalizedValues.isEmpty() ? (isMultiSelect ? String.join(", ", normalizedStringValues) : normalizedValues.get(0)) : null;
|
||||
}
|
||||
}
|
||||
|
||||
private static List<TagEntity> parseTags(String value) throws JsonProcessingException {
|
||||
if (value == null || value.isEmpty())
|
||||
return new LinkedList<>();
|
||||
String[] rawTags = value.split(", ");
|
||||
List<TagEntity> parsedTags = new LinkedList<>();
|
||||
for (String rawTag : rawTags) {
|
||||
parsedTags.add(new TagEntity());
|
||||
}
|
||||
return parsedTags;
|
||||
}
|
||||
}
|
|
@ -4,13 +4,6 @@ import eu.eudat.data.dao.entities.*;
|
|||
|
||||
public interface DatabaseRepository {
|
||||
|
||||
|
||||
DatasetDao getDatasetDao();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
FileUploadDao getFileUploadDao();
|
||||
|
||||
<T> void detachEntity(T entity);
|
||||
|
|
|
@ -8,8 +8,6 @@ import org.springframework.stereotype.Service;
|
|||
@Service("databaseRepository")
|
||||
public class DatabaseRepositoryImpl implements DatabaseRepository {
|
||||
|
||||
private DatasetDao datasetDao;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -18,20 +16,6 @@ public class DatabaseRepositoryImpl implements DatabaseRepository {
|
|||
private EntityManager entityManager;
|
||||
|
||||
|
||||
@Autowired
|
||||
private void setDatasetDao(DatasetDao datasetDao) {
|
||||
this.datasetDao = datasetDao;
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
|
||||
@Override
|
||||
public DatasetDao getDatasetDao() {
|
||||
return datasetDao;
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
public void setEntityManager(EntityManager entityManager) {
|
||||
this.entityManager = entityManager;
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
package eu.eudat.models.data.dashboard.recent.model;
|
||||
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
|
||||
public class RecentDatasetModel extends RecentActivityModel<DescriptionEntity, RecentDatasetModel> {
|
||||
private String dmp;
|
||||
private String dmpId;
|
||||
|
||||
public String getDmp() {
|
||||
return dmp;
|
||||
}
|
||||
|
||||
public void setDmp(String dmp) {
|
||||
this.dmp = dmp;
|
||||
}
|
||||
|
||||
public String getDmpId() {
|
||||
return dmpId;
|
||||
}
|
||||
|
||||
public void setDmpId(String dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecentActivityModel fromEntity(DescriptionEntity entity) {
|
||||
//TODO
|
||||
this.setType(RecentActivityType.DATASET.getIndex());
|
||||
// this.setId(entity.getId().toString());
|
||||
// this.setTitle(entity.getLabel());
|
||||
// this.setCreated(entity.getCreated());
|
||||
// this.setModified(entity.getModified());
|
||||
// this.setStatus(entity.getStatus());
|
||||
// this.setVersion(entity.getDmp() != null ? entity.getDmp().getVersion(): 0);
|
||||
// this.setFinalizedAt(entity.getFinalizedAt());
|
||||
// this.setPublishedAt(entity.getDmp() != null ? entity.getDmp().getPublishedAt() : new Date());
|
||||
// this.setProfile(entity.getProfile() != null ? new DatasetProfileOverviewModel().fromDataModel(entity.getProfile()): null);
|
||||
// if (entity.getDmp() != null && entity.getDmp().getGrant() != null) {
|
||||
// this.setGrant(entity.getDmp().getGrant().getLabel());
|
||||
// }
|
||||
// this.setDmp( entity.getDmp() != null ? entity.getDmp().getLabel() : "");
|
||||
// this.setDmpId(entity.getDmp() != null ? entity.getDmp().getId().toString() : "");
|
||||
// this.setPublic(entity.getDmp().isPublic());
|
||||
// this.setUsers(entity.getDmp().getUsers().stream().map(x -> new UserInfoListingModel().fromDataModel(x)).collect(Collectors.toList()));
|
||||
return this;
|
||||
}
|
||||
|
||||
public RecentDatasetModel fromDmpEntity(DescriptionEntity entity) {
|
||||
//TODO
|
||||
this.setType(RecentActivityType.DATASET.getIndex());
|
||||
// this.setId(entity.getId().toString());
|
||||
// this.setTitle(entity.getLabel());
|
||||
// this.setCreated(entity.getCreated());
|
||||
// this.setModified(entity.getModified());
|
||||
// this.setStatus(entity.getStatus());
|
||||
// this.setVersion(entity.getDmp() != null ? entity.getDmp().getVersion(): 0);
|
||||
// this.setFinalizedAt(entity.getFinalizedAt());
|
||||
// this.setPublishedAt(entity.getDmp() != null ? entity.getDmp().getPublishedAt() : new Date());
|
||||
// this.setProfile(entity.getProfile() != null ? new DatasetProfileOverviewModel().fromDataModel(entity.getProfile()) : null);
|
||||
// if (entity.getDmp() != null && entity.getDmp().getGrant() != null) {
|
||||
// this.setGrant(entity.getDmp().getGrant().getLabel());
|
||||
// }
|
||||
// this.setDmp( entity.getDmp() != null ? entity.getDmp().getLabel() : "");
|
||||
// this.setDmpId(entity.getDmp() != null ? entity.getDmp().getId().toString() : "");
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public RecentDatasetModel fromDataModel(DescriptionEntity entity) {
|
||||
return (RecentDatasetModel) this.fromEntity(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity toDataModel() throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHint() {
|
||||
return "recentDatasetModel";
|
||||
}
|
||||
}
|
|
@ -1,155 +0,0 @@
|
|||
package eu.eudat.models.data.dataset;
|
||||
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.models.DataModel;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Dataset implements DataModel<DescriptionEntity, Dataset> {
|
||||
private UUID id;
|
||||
private String label;
|
||||
private String reference;
|
||||
private String uri;
|
||||
private String description;
|
||||
private short status;
|
||||
private String properties;
|
||||
private Date created;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getReference() {
|
||||
return reference;
|
||||
}
|
||||
|
||||
public void setReference(String reference) {
|
||||
this.reference = reference;
|
||||
}
|
||||
|
||||
public String getUri() {
|
||||
return uri;
|
||||
}
|
||||
|
||||
public void setUri(String uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public short getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(short status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
public void setProperties(String properties) {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
// public DataManagementPlan getDmp() {
|
||||
// return dmp;
|
||||
// }
|
||||
//
|
||||
// public void setDmp(DataManagementPlan dmp) {
|
||||
// this.dmp = dmp;
|
||||
// }
|
||||
|
||||
public Dataset fromDataModel(DescriptionEntity entity) {
|
||||
//TODO
|
||||
// this.id = entity.getId();
|
||||
// this.label = entity.getLabel();
|
||||
// this.properties = entity.getProperties();
|
||||
// this.reference = entity.getReference();
|
||||
// this.description = entity.getDescription();
|
||||
// this.profile = new DatasetProfileListingModel();
|
||||
// this.profile.fromDataModel(entity.getProfile());
|
||||
// this.registries = entity.getRegistries().stream().map(item -> new Registry().fromDataModel(item)).collect(Collectors.toList());
|
||||
// this.dataRepositories = entity.getDatasetDataRepositories().stream().map(item -> new DataRepository().fromDataModel(item.getDataRepository())).collect(Collectors.toList());
|
||||
// this.services = entity.getServices().stream().map(item -> new Service().fromDataModel(item.getService())).collect(Collectors.toList());
|
||||
// this.created = entity.getCreated();
|
||||
return this;
|
||||
}
|
||||
|
||||
public DescriptionEntity toDataModel() throws Exception {
|
||||
DescriptionEntity entity = new DescriptionEntity();
|
||||
//TODO
|
||||
// entity.setId(this.id);
|
||||
// entity.setLabel(this.label);
|
||||
// entity.setReference(this.reference);
|
||||
// entity.setUri(this.uri);
|
||||
// entity.setProperties(this.properties);
|
||||
// entity.setStatus(this.status);
|
||||
// entity.setDmp(dmp.toDataModel());
|
||||
// entity.setDescription(this.description);
|
||||
// entity.setCreated(this.created != null ? this.created : new Date());
|
||||
// entity.setModified(new Date());
|
||||
// entity.setProfile(profile.toDataModel()); ///TODO
|
||||
// if (!this.registries.isEmpty()) {
|
||||
// entity.setRegistries(new HashSet<eu.eudat.data.old.Registry>());
|
||||
// for (Registry registry : this.registries) {
|
||||
// entity.getRegistries().add(registry.toDataModel());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (!this.dataRepositories.isEmpty()) {
|
||||
// entity.setDatasetDataRepositories(new HashSet<>());
|
||||
// for (DataRepository dataRepositoryModel : this.dataRepositories) {
|
||||
// DatasetDataRepository datasetDataRepository = new DatasetDataRepository();
|
||||
// eu.eudat.data.old.DataRepository dataRepository = dataRepositoryModel.toDataModel();
|
||||
// datasetDataRepository.setDataRepository(dataRepository);
|
||||
// entity.getDatasetDataRepositories().add(datasetDataRepository);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (!this.services.isEmpty()) {
|
||||
// entity.setServices(new HashSet<DatasetService>());
|
||||
// for (Service serviceModel : this.services) {
|
||||
// eu.eudat.data.old.Service service = serviceModel.toDataModel();
|
||||
// DatasetService datasetService = new DatasetService();
|
||||
// datasetService.setService(service);
|
||||
// entity.getServices().add(datasetService);
|
||||
// }
|
||||
// }
|
||||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHint() {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,122 +0,0 @@
|
|||
package eu.eudat.models.data.dataset;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.model.DmpUser;
|
||||
import eu.eudat.models.DataModel;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DatasetOverviewModel implements DataModel<DescriptionEntity, DatasetOverviewModel> {
|
||||
|
||||
private UUID id;
|
||||
private String label;
|
||||
private DescriptionStatus status;
|
||||
private List<DmpUser> users;
|
||||
// private DataManagementPlanOverviewModel dmp;
|
||||
private String description;
|
||||
private Boolean isPublic;
|
||||
private Instant modified;
|
||||
private Instant created;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public DescriptionStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(DescriptionStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public List<DmpUser> getUsers() {
|
||||
return users;
|
||||
}
|
||||
|
||||
public void setUsers(List<DmpUser> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
// public DataManagementPlanOverviewModel getDmp() {
|
||||
// return dmp;
|
||||
// }
|
||||
//
|
||||
// public void setDmp(DataManagementPlanOverviewModel dmp) {
|
||||
// this.dmp = dmp;
|
||||
// }
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public Boolean getPublic() {
|
||||
return isPublic;
|
||||
}
|
||||
|
||||
public void setPublic(Boolean aPublic) {
|
||||
isPublic = aPublic;
|
||||
}
|
||||
|
||||
public Instant getModified() {
|
||||
return modified;
|
||||
}
|
||||
|
||||
public void setModified(Instant modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Instant created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatasetOverviewModel fromDataModel(DescriptionEntity entity) {
|
||||
//TODO Implement it on transfer
|
||||
// this.id = entity.getId();
|
||||
// this.label = entity.getLabel();
|
||||
// this.status = entity.getStatus();
|
||||
// this.datasetTemplate = new DatasetProfileOverviewModel().fromDataModel(entity.getProfile());
|
||||
// this.users = entity.getDmp().getUsers().stream().map(x -> new UserInfoListingModel().fromDataModel(x)).collect(Collectors.toList());
|
||||
// this.dmp = new DataManagementPlanOverviewModel().fromDataModel(entity.getDmp());
|
||||
// if (entity.getDmp().getGrant() != null) {
|
||||
// this.grant = new GrantOverviewModel().fromDataModel(entity.getDmp().getGrant());
|
||||
// }
|
||||
// this.description = entity.getDescription();
|
||||
// this.isPublic = entity.getDmp().isPublic();
|
||||
// this.modified = entity.getCreatedAt();
|
||||
// this.created = entity.getUpdatedAt();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity toDataModel() throws Exception {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHint() {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,274 +0,0 @@
|
|||
package eu.eudat.models.data.datasetwizard;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.models.DataModel;
|
||||
import eu.eudat.models.data.user.composite.PagedDatasetProfile;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
public class DatasetWizardModel implements DataModel<DescriptionEntity, DatasetWizardModel> {
|
||||
|
||||
private UUID id;
|
||||
private String label;
|
||||
private String reference;
|
||||
private String uri;
|
||||
private String description;
|
||||
private DescriptionStatus status;
|
||||
private Instant created;
|
||||
// private DataManagementPlan dmp;
|
||||
private Integer dmpSectionIndex;
|
||||
private PagedDatasetProfile datasetProfileDefinition;
|
||||
// private List<Tag> tags; //TODO
|
||||
private Boolean isProfileLatestVersion;
|
||||
private Instant modified;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getReference() {
|
||||
return reference;
|
||||
}
|
||||
public void setReference(String reference) {
|
||||
this.reference = reference;
|
||||
}
|
||||
|
||||
public String getUri() {
|
||||
return uri;
|
||||
}
|
||||
public void setUri(String uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public DescriptionStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(DescriptionStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
}
|
||||
public void setCreated(Instant created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
// public DataManagementPlan getDmp() {
|
||||
// return dmp;
|
||||
// }
|
||||
// public void setDmp(DataManagementPlan dmp) {
|
||||
// this.dmp = dmp;
|
||||
// }
|
||||
|
||||
public Integer getDmpSectionIndex() {
|
||||
return dmpSectionIndex;
|
||||
}
|
||||
public void setDmpSectionIndex(Integer dmpSectionIndex) {
|
||||
this.dmpSectionIndex = dmpSectionIndex;
|
||||
}
|
||||
|
||||
public PagedDatasetProfile getDatasetProfileDefinition() {
|
||||
return datasetProfileDefinition;
|
||||
}
|
||||
public void setDatasetProfileDefinition(PagedDatasetProfile datasetProfileDefinition) {
|
||||
this.datasetProfileDefinition = datasetProfileDefinition;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// public List<Tag> getTags() {
|
||||
// return tags;
|
||||
// }
|
||||
// public void setTags(List<Tag> tags) {
|
||||
// this.tags = tags;
|
||||
// }
|
||||
|
||||
public Boolean getIsProfileLatestVersion() {
|
||||
return isProfileLatestVersion;
|
||||
}
|
||||
public void setIsProfileLatestVersion(Boolean profileLatestVersion) {
|
||||
isProfileLatestVersion = profileLatestVersion;
|
||||
}
|
||||
|
||||
public Instant getModified() {
|
||||
return modified;
|
||||
}
|
||||
public void setModified(Instant modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatasetWizardModel fromDataModel(DescriptionEntity entity) {
|
||||
//TODO Implement it on transfer
|
||||
// this.id = entity.getId();
|
||||
// this.label = entity.getLabel();
|
||||
// this.status = entity.getStatus();
|
||||
// this.reference = entity.getReference();
|
||||
// this.description = entity.getDescription();
|
||||
// this.profile = new DatasetProfileOverviewModel();
|
||||
// this.profile = this.profile.fromDataModel(entity.getProfile());
|
||||
// this.uri = entity.getUri();
|
||||
// this.registries = entity.getRegistries() != null ? entity.getRegistries().stream().map(item -> new Registry().fromDataModel(item)).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.dataRepositories = entity.getDatasetDataRepositories() != null ? entity.getDatasetDataRepositories().stream().map(item -> {
|
||||
// DataRepository dataRepository = new DataRepository().fromDataModel(item.getDataRepository());
|
||||
// if (item.getData() != null) {
|
||||
// Map<String, Map<String, String>> data = (Map<String, Map<String, String>>) JSONValue.parse(item.getData());
|
||||
// Map<String, String> values = data.get("data");
|
||||
// dataRepository.setInfo(values.get("info"));
|
||||
// }
|
||||
// return dataRepository;
|
||||
// }).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.services = entity.getServices() != null ? entity.getServices().stream().map(item -> new Service().fromDataModel(item.getService())).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.created = entity.getCreated();
|
||||
// this.dmp = new DataManagementPlan().fromDataModelNoDatasets(entity.getDmp());
|
||||
// this.dmpSectionIndex = entity.getDmpSectionIndex();
|
||||
// this.externalDatasets = entity.getDatasetExternalDatasets() != null ? entity.getDatasetExternalDatasets().stream().map(item -> {
|
||||
// ExternalDatasetListingModel externalDatasetListingModel = new ExternalDatasetListingModel().fromDataModel(item.getExternalDataset());
|
||||
// if (item.getData() != null) {
|
||||
// Map<String, Map<String, String>> data = (Map<String, Map<String, String>>) JSONValue.parse(item.getData());
|
||||
// Map<String, String> values = data.get("data");
|
||||
// externalDatasetListingModel.setInfo(values.get("info"));
|
||||
// externalDatasetListingModel.setType(Integer.parseInt(values.get("type")));
|
||||
// }
|
||||
// return externalDatasetListingModel;
|
||||
// }).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.modified = entity.getUpdatedAt();
|
||||
return this;
|
||||
}
|
||||
|
||||
public DatasetWizardModel fromDataModelNoDmp(DescriptionEntity entity) {
|
||||
//TODO Implement it on transfer
|
||||
// this.id = entity.getId();
|
||||
// this.label = entity.getLabel();
|
||||
// this.status = entity.getStatus();
|
||||
// this.reference = entity.getReference();
|
||||
// this.description = entity.getDescription();
|
||||
// this.profile = new DatasetProfileOverviewModel();
|
||||
// this.profile = this.profile.fromDataModel(entity.getProfile());
|
||||
// this.uri = entity.getUri();
|
||||
// this.dmpSectionIndex = entity.getDmpSectionIndex();
|
||||
// this.registries = entity.getRegistries() != null ? entity.getRegistries().stream().map(item -> new Registry().fromDataModel(item)).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.dataRepositories = entity.getDatasetDataRepositories() != null ? entity.getDatasetDataRepositories().stream().map(item -> {
|
||||
// DataRepository dataRepository = new DataRepository().fromDataModel(item.getDataRepository());
|
||||
// if (item.getData() != null) {
|
||||
// Map<String, Map<String, String>> data = (Map<String, Map<String, String>>) JSONValue.parse(item.getData());
|
||||
// Map<String, String> values = data.get("data");
|
||||
// dataRepository.setInfo(values.get("info"));
|
||||
// }
|
||||
// return dataRepository;
|
||||
// }).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.services = entity.getServices() != null ? entity.getServices().stream().map(item -> new Service().fromDataModel(item.getService())).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.created = entity.getCreated();
|
||||
// this.externalDatasets = entity.getDatasetExternalDatasets() != null ? entity.getDatasetExternalDatasets().stream().map(item -> {
|
||||
// ExternalDatasetListingModel externalDatasetListingModel = new ExternalDatasetListingModel().fromDataModel(item.getExternalDataset());
|
||||
// if (item.getData() != null) {
|
||||
// Map<String, Map<String, String>> data = (Map<String, Map<String, String>>) JSONValue.parse(item.getData());
|
||||
// Map<String, String> values = data.get("data");
|
||||
// externalDatasetListingModel.setInfo(values.get("info"));
|
||||
// externalDatasetListingModel.setType(Integer.parseInt(values.get("type")));
|
||||
// }
|
||||
// return externalDatasetListingModel;
|
||||
// }).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.modified = entity.getModified();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity toDataModel() throws Exception {
|
||||
DescriptionEntity entity = new DescriptionEntity();
|
||||
//TODO Implement it on transfer
|
||||
// entity.setId(this.id);
|
||||
// entity.setLabel(this.label);
|
||||
// entity.setReference(this.reference);
|
||||
// entity.setUri(this.uri);
|
||||
// entity.setStatus(this.status);
|
||||
// if (this.status == (int) DescriptionEntity.Status.FINALISED.getValue())
|
||||
// entity.setFinalizedAt(new Date());
|
||||
// DMP dmp = new DMP();
|
||||
// dmp.setId(this.dmp.getId());
|
||||
// entity.setDmp(dmp);
|
||||
// entity.setDmpSectionIndex(this.dmpSectionIndex);
|
||||
// entity.setDescription(this.description);
|
||||
// entity.setCreated(this.created != null ? this.created : new Date());
|
||||
// entity.setModified(new Date());
|
||||
// DescriptionTemplateEntity profile = new DescriptionTemplateEntity();
|
||||
// profile.setId(this.profile.getId());
|
||||
// entity.setProfile(profile);
|
||||
// if (this.registries != null && !this.registries.isEmpty()) {
|
||||
// entity.setRegistries(new HashSet<>());
|
||||
// for (Registry registry : this.registries) {
|
||||
// entity.getRegistries().add(registry.toDataModel());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (this.dataRepositories != null && !this.dataRepositories.isEmpty()) {
|
||||
// entity.setDatasetDataRepositories(new HashSet<>());
|
||||
// for (DataRepository dataRepositoryModel : this.dataRepositories) {
|
||||
// eu.eudat.data.old.DataRepository dataRepository = dataRepositoryModel.toDataModel();
|
||||
// DatasetDataRepository datasetDataRepository = new DatasetDataRepository();
|
||||
// datasetDataRepository.setDataRepository(dataRepository);
|
||||
// Map<String, Map<String, String>> data = new HashMap<>();
|
||||
// Map<String, String> values = new HashMap<>();
|
||||
// values.put("info", dataRepositoryModel.getInfo());
|
||||
// data.put("data", values);
|
||||
// datasetDataRepository.setData(JSONValue.toJSONString(data));
|
||||
// entity.getDatasetDataRepositories().add(datasetDataRepository);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (this.services != null && !this.services.isEmpty()) {
|
||||
// entity.setServices(new HashSet<>());
|
||||
// for (Service serviceModel : this.services) {
|
||||
// eu.eudat.data.old.Service service = serviceModel.toDataModel();
|
||||
// DatasetService datasetService = new DatasetService();
|
||||
// datasetService.setService(service);
|
||||
// entity.getServices().add(datasetService);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (this.externalDatasets != null && !this.externalDatasets.isEmpty()) {
|
||||
// entity.setDatasetExternalDatasets(new HashSet<>());
|
||||
// for (ExternalDatasetListingModel externalDataset : this.externalDatasets) {
|
||||
// ExternalDataset externalDatasetEntity = externalDataset.toDataModel();
|
||||
// DatasetExternalDataset datasetExternalDataset = new DatasetExternalDataset();
|
||||
// datasetExternalDataset.setExternalDataset(externalDatasetEntity);
|
||||
// Map<String,Map<String,String>> data = new HashMap<>();
|
||||
// Map<String,String> values = new HashMap<>();
|
||||
// values.put("info",externalDataset.getInfo());
|
||||
// values.put("type",externalDataset.getType().toString());
|
||||
// data.put("data",values);
|
||||
// datasetExternalDataset.setData(JSONValue.toJSONString(data));
|
||||
// entity.getDatasetExternalDatasets().add(datasetExternalDataset);
|
||||
// }
|
||||
// }
|
||||
return entity;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getHint() {
|
||||
return "datasetWizardModel";
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
package eu.eudat.models.data.datasetwizard;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DatasetsToBeFinalized {
|
||||
private List<UUID> uuids;
|
||||
|
||||
public List<UUID> getUuids() {
|
||||
return uuids;
|
||||
}
|
||||
public void setUuids(List<UUID> uuids) {
|
||||
this.uuids = uuids;
|
||||
}
|
||||
}
|
|
@ -1,186 +0,0 @@
|
|||
package eu.eudat.models.data.listingmodels;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.model.DmpUser;
|
||||
import eu.eudat.models.DataModel;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class DatasetListingModel implements DataModel<DescriptionEntity, DatasetListingModel> {
|
||||
private String id;
|
||||
private String label;
|
||||
private String grant;
|
||||
private String dmp;
|
||||
private String dmpId;
|
||||
private DescriptionStatus status;
|
||||
private Instant created;
|
||||
private Instant modified;
|
||||
private String description;
|
||||
private Instant finalizedAt;
|
||||
private Instant dmpPublishedAt;
|
||||
private int version;
|
||||
private List<DmpUser> users;
|
||||
private Boolean isPublic;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getGrant() {
|
||||
return grant;
|
||||
}
|
||||
public void setGrant(String grant) {
|
||||
this.grant = grant;
|
||||
}
|
||||
|
||||
public String getDmp() {
|
||||
return dmp;
|
||||
}
|
||||
public void setDmp(String dmp) {
|
||||
this.dmp = dmp;
|
||||
}
|
||||
|
||||
public String getDmpId() {
|
||||
return dmpId;
|
||||
}
|
||||
public void setDmpId(String dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
}
|
||||
|
||||
public DescriptionStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(DescriptionStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
}
|
||||
public void setCreated(Instant created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
public Instant getModified() {
|
||||
return modified;
|
||||
}
|
||||
public void setModified(Instant modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public Instant getFinalizedAt() {
|
||||
return finalizedAt;
|
||||
}
|
||||
public void setFinalizedAt(Instant finalizedAt) {
|
||||
this.finalizedAt = finalizedAt;
|
||||
}
|
||||
|
||||
public Instant getDmpPublishedAt() {
|
||||
return dmpPublishedAt;
|
||||
}
|
||||
public void setDmpPublishedAt(Instant dmpPublishedAt) {
|
||||
this.dmpPublishedAt = dmpPublishedAt;
|
||||
}
|
||||
|
||||
public int getVersion() {
|
||||
return version;
|
||||
}
|
||||
public void setVersion(int version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public List<DmpUser> getUsers() {
|
||||
return users;
|
||||
}
|
||||
|
||||
public void setUsers(List<DmpUser> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
public Boolean getPublic() {
|
||||
return isPublic;
|
||||
}
|
||||
|
||||
public void setPublic(Boolean aPublic) {
|
||||
isPublic = aPublic;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatasetListingModel fromDataModel(DescriptionEntity entity) {
|
||||
//TODO Implement it on transfer
|
||||
// this.id = entity.getId() != null ? entity.getId().toString() : "";
|
||||
// this.label = entity.getLabel();
|
||||
// this.created = entity.getCreatedAt();
|
||||
// this.modified = entity.getUpdatedAt();
|
||||
// this.grant = (entity.getDmp() != null && entity.getDmp().getGrant() != null) ? entity.getDmp().getGrant().getLabel() : "";
|
||||
// this.dmp = entity.getDmp() != null ? entity.getDmp().getLabel() : "";
|
||||
// this.dmpId = entity.getDmp() != null ? entity.getDmp().getId().toString() : "";
|
||||
// this.profile = entity.getProfile() != null ? new DatasetProfileOverviewModel().fromDataModel(entity.getProfile()) : null;
|
||||
// this.description = entity.getDescription();
|
||||
// this.status = entity.getStatus();
|
||||
// if (entity.getFinalizedAt() == null && entity.getStatus() == DescriptionStatus.Finalized) {
|
||||
// this.finalizedAt = entity.getDmp().getFinalizedAt();
|
||||
// } else {
|
||||
// this.finalizedAt = entity.getFinalizedAt();
|
||||
// }
|
||||
// this.dmpPublishedAt = entity.getDmp().getPublishedAt();
|
||||
// this.version = entity.getDmp().getVersion();
|
||||
// this.users = entity.getDmp() != null ? entity.getDmp().getUsers().stream().map(x -> new UserInfoListingModel().fromDataModel(x)).collect(Collectors.toList()) : new ArrayList<>();
|
||||
// this.isPublic = entity.getDmp() != null ? entity.getDmp().isPublic() : false;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity toDataModel() {
|
||||
//TODO Implement it on transfer
|
||||
DescriptionEntity entity = new DescriptionEntity();
|
||||
// entity.setId(UUID.fromString(this.getId()));
|
||||
// entity.setLabel(this.getLabel());
|
||||
// entity.setCreatedAt(this.getCreated());
|
||||
// entity.setUpdatedAt(this.getModified());
|
||||
// entity.setDescription(this.getDescription());
|
||||
// entity.setFinalizedAt(this.getFinalizedAt());
|
||||
// entity.setStatus(this.getStatus());
|
||||
// DMP dmp = new DMP();
|
||||
// if (this.getGrant() != null && !this.getGrant().isEmpty()) {
|
||||
// Grant grant = new Grant();
|
||||
// grant.setLabel(this.getGrant());
|
||||
// dmp.setGrant(grant);
|
||||
// }
|
||||
// dmp.setLabel(this.getDmp());
|
||||
// dmp.setId(UUID.fromString(this.getDmpId()));
|
||||
// dmp.setPublishedAt(this.getDmpPublishedAt());
|
||||
// dmp.setVersion(this.getVersion());
|
||||
// dmp.setUsers(this.getUsers().stream().map(UserInfoListingModel::toDataModel).collect(Collectors.toSet()));
|
||||
// dmp.setPublic(this.getPublic());
|
||||
// dmp.setFinalizedAt(this.getFinalizedAt());
|
||||
// entity.setDmp(dmp);
|
||||
// entity.setProfile(this.getProfile() != null ? this.getProfile().toDataModel() : null);
|
||||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHint() {
|
||||
return "datasetListingModel";
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package eu.eudat.models.data.quickwizard;
|
||||
|
||||
public class DatasetCreateWizardModel {
|
||||
|
||||
private DatasetQuickWizardModel datasets;
|
||||
|
||||
|
||||
public DatasetQuickWizardModel getDatasets() {
|
||||
return datasets;
|
||||
}
|
||||
public void setDatasets(DatasetQuickWizardModel datasets) {
|
||||
this.datasets = datasets;
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
package eu.eudat.models.data.quickwizard;
|
||||
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||
import eu.eudat.models.data.user.composite.PagedDatasetProfile;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Date;
|
||||
|
||||
public class DatasetDescriptionQuickWizardModel extends PagedDatasetProfile {
|
||||
|
||||
private String datasetLabel;
|
||||
|
||||
public String getDatasetLabel() {
|
||||
return datasetLabel;
|
||||
}
|
||||
|
||||
public void setDatasetLabel(String datasetLabel) {
|
||||
this.datasetLabel = datasetLabel;
|
||||
}
|
||||
|
||||
|
||||
public DatasetWizardModel toDataModel(DescriptionTemplateEntity profile){
|
||||
DatasetWizardModel newDataset = new DatasetWizardModel();
|
||||
newDataset.setLabel(datasetLabel);
|
||||
newDataset.setCreated(Instant.now());
|
||||
// newDataset.setProfile(new DatasetProfileOverviewModel().fromDataModel(profile));
|
||||
// newDataset.setDmp(dmp);
|
||||
newDataset.setStatus(DescriptionStatus.of((short)this.getStatus()));
|
||||
//newDataset.setStatus(Dataset.Status.SAVED.getValue());
|
||||
|
||||
|
||||
newDataset.setDatasetProfileDefinition((PagedDatasetProfile) this);
|
||||
return newDataset;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package eu.eudat.models.data.quickwizard;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DatasetProfileCreateWizardModel {
|
||||
private UUID id;
|
||||
private String label;
|
||||
|
||||
public UUID getId() { return id; }
|
||||
public void setId(UUID id) { this.id = id; }
|
||||
|
||||
public String getLabel() { return label; }
|
||||
public void setLabel(String label) { this.label = label; }
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
package eu.eudat.models.data.quickwizard;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DatasetQuickWizardModel {
|
||||
private List<DatasetDescriptionQuickWizardModel> datasetsList;
|
||||
|
||||
public List<DatasetDescriptionQuickWizardModel> getDatasetsList() {
|
||||
return datasetsList;
|
||||
}
|
||||
|
||||
public void setDatasetsList(List<DatasetDescriptionQuickWizardModel> datasetsList) {
|
||||
this.datasetsList = datasetsList;
|
||||
}
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
package eu.eudat.models.data.quickwizard;
|
||||
|
||||
|
||||
public class QuickWizardModel {
|
||||
|
||||
private DatasetQuickWizardModel datasets;
|
||||
private int status;
|
||||
|
||||
public DatasetQuickWizardModel getDatasets() {
|
||||
return datasets;
|
||||
}
|
||||
public void setDatasets(DatasetQuickWizardModel datasets) {
|
||||
this.datasets = datasets;
|
||||
}
|
||||
|
||||
public int getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
|
@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.jayway.jsonpath.JsonPath;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
import eu.eudat.logic.xml.XmlBuilder;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
@ -150,7 +149,7 @@ public class DatasetRDAExportModel {
|
|||
}
|
||||
|
||||
|
||||
public DatasetRDAExportModel fromDataModel(DescriptionEntity descriptionEntity, DatasetManager datasetManager) {
|
||||
public DatasetRDAExportModel fromDataModel(DescriptionEntity descriptionEntity) {
|
||||
// Map of template Ids to rda values.
|
||||
JSONObject jObject = new JSONObject(descriptionEntity.getProperties());
|
||||
Map<String, Object> templateIdsToValues = jObject.toMap();
|
||||
|
@ -166,9 +165,11 @@ public class DatasetRDAExportModel {
|
|||
// Transform the answered dataset description to json so we can parse it and fill the rda model.
|
||||
JSONObject datasetDescriptionJson = null;
|
||||
try {
|
||||
String jsonResult = mapper.writeValueAsString(datasetManager.getSingle(descriptionEntity.getId().toString()).getDatasetProfileDefinition());
|
||||
//TODO
|
||||
//String jsonResult = mapper.writeValueAsString(datasetManager.getSingle(descriptionEntity.getId().toString()).getDatasetProfileDefinition());
|
||||
String jsonResult = mapper.writeValueAsString(null);
|
||||
datasetDescriptionJson = new JSONObject(jsonResult);
|
||||
} catch (JsonProcessingException | InvalidApplicationException e) {
|
||||
} catch (JsonProcessingException e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
setMultiplicityIdToFieldSetId(datasetDescriptionJson);
|
||||
|
|
|
@ -1,17 +1,8 @@
|
|||
package eu.eudat.models.data.rda;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionStatus;
|
||||
import eu.eudat.commons.enums.IsActive;
|
||||
import eu.eudat.data.DmpEntity;
|
||||
import eu.eudat.data.EntityDoiEntity;
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class DmpRDAExportModel {
|
||||
private ContactRDAExportModel contact;
|
||||
|
@ -127,7 +118,7 @@ public class DmpRDAExportModel {
|
|||
this.title = title;
|
||||
}
|
||||
|
||||
public DmpRDAExportModel fromDataModel(DmpEntity entity, DatasetManager datasetManager) {
|
||||
public DmpRDAExportModel fromDataModel(DmpEntity entity) {
|
||||
DmpRDAExportModel dmpRda = new DmpRDAExportModel();
|
||||
//TODO
|
||||
// dmpRda.contact = new ContactRDAExportModel().fromDataModel(entity.getUsers().stream().filter(x -> x.getRole().equals(UserDMP.UserDMPRoles.OWNER.getValue())).findFirst().get().getUser());
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package eu.eudat.models.data.rda;
|
||||
|
||||
import eu.eudat.data.DmpEntity;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
|
||||
public class RDAExportModel {
|
||||
private DmpRDAExportModel dmp;
|
||||
|
@ -13,8 +12,8 @@ public class RDAExportModel {
|
|||
this.dmp = dmp;
|
||||
}
|
||||
|
||||
public RDAExportModel fromDataModel(DmpEntity dmp, DatasetManager datasetManager) {
|
||||
this.dmp = new DmpRDAExportModel().fromDataModel(dmp, datasetManager);
|
||||
public RDAExportModel fromDataModel(DmpEntity dmp) {
|
||||
this.dmp = new DmpRDAExportModel().fromDataModel(dmp);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
package eu.eudat.models.data.urls;
|
||||
|
||||
import eu.eudat.data.DescriptionEntity;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by ikalyvas on 7/23/2018.
|
||||
*/
|
||||
public class DatasetUrlListing extends UrlListing<DescriptionEntity, DatasetUrlListing> {
|
||||
@Override
|
||||
public DatasetUrlListing fromDataModel(DescriptionEntity entity) {
|
||||
this.setLabel(entity.getLabel());
|
||||
this.setUrl(entity.getId().toString());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionEntity toDataModel() {
|
||||
DescriptionEntity entity = new DescriptionEntity();
|
||||
entity.setId(UUID.fromString(this.getUrl()));
|
||||
entity.setLabel(this.getLabel());
|
||||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHint() {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -6,10 +6,8 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
|
|||
import eu.eudat.data.DescriptionEntity;
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.data.TagEntity;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
import eu.eudat.logic.services.ApiContext;
|
||||
import eu.eudat.logic.utilities.json.JsonSearcher;
|
||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||
import eu.eudat.models.rda.*;
|
||||
import eu.eudat.query.DmpDescriptionTemplateQuery;
|
||||
import gr.cite.tools.data.query.QueryFactory;
|
||||
|
@ -33,13 +31,11 @@ import java.util.stream.StreamSupport;
|
|||
public class DatasetRDAMapper {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DatasetRDAMapper.class);
|
||||
|
||||
private DatasetManager datasetManager;
|
||||
private ApiContext apiContext;
|
||||
private final QueryFactory queryFactory;
|
||||
|
||||
@Autowired
|
||||
public DatasetRDAMapper(DatasetManager datasetManager, ApiContext apiContext, QueryFactory queryFactory) {
|
||||
this.datasetManager = datasetManager;
|
||||
public DatasetRDAMapper(ApiContext apiContext, QueryFactory queryFactory) {
|
||||
this.apiContext = apiContext;
|
||||
this.queryFactory = queryFactory;
|
||||
}
|
||||
|
@ -57,10 +53,11 @@ public class DatasetRDAMapper {
|
|||
try {
|
||||
JSONObject jObject = new JSONObject(descriptionEntity.getProperties());
|
||||
Map<String, Object> templateIdsToValues = jObject.toMap();
|
||||
DatasetWizardModel datasetWizardModel = new DatasetWizardModel().fromDataModel(descriptionEntity);
|
||||
datasetWizardModel.setDatasetProfileDefinition(datasetManager.getPagedProfile(datasetWizardModel, descriptionEntity));
|
||||
// DatasetWizardModel datasetWizardModel = new DatasetWizardModel().fromDataModel(descriptionEntity);
|
||||
// datasetWizardModel.setDatasetProfileDefinition(datasetManager.getPagedProfile(datasetWizardModel, descriptionEntity));
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
String datasetDescriptionJson = mapper.writeValueAsString(datasetWizardModel.getDatasetProfileDefinition());
|
||||
// String datasetDescriptionJson = mapper.writeValueAsString(datasetWizardModel.getDatasetProfileDefinition());
|
||||
String datasetDescriptionJson = mapper.writeValueAsString(null);
|
||||
JsonNode datasetDescriptionObj = mapper.readTree(datasetDescriptionJson);
|
||||
List<JsonNode> idNodes = JsonSearcher.findNodes(datasetDescriptionObj, "schematics", "rda.dataset.dataset_id");
|
||||
if (!idNodes.isEmpty()) {
|
||||
|
@ -298,12 +295,13 @@ public class DatasetRDAMapper {
|
|||
}
|
||||
try {
|
||||
Map<String, Object> properties = new HashMap<>();
|
||||
DatasetWizardModel datasetWizardModel = new DatasetWizardModel();
|
||||
//TODO
|
||||
//DatasetWizardModel datasetWizardModel = new DatasetWizardModel();
|
||||
//datasetWizardModel.setProfile(new DatasetProfileOverviewModel().fromDataModel(entity.getProfile()));
|
||||
datasetWizardModel.setDatasetProfileDefinition(datasetManager.getPagedProfile(datasetWizardModel, entity));
|
||||
// datasetWizardModel.setDatasetProfileDefinition(datasetManager.getPagedProfile(datasetWizardModel, entity));
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
String datasetDescriptionJson = mapper.writeValueAsString(datasetWizardModel.getDatasetProfileDefinition());
|
||||
// String datasetDescriptionJson = mapper.writeValueAsString(datasetWizardModel.getDatasetProfileDefinition());
|
||||
String datasetDescriptionJson = mapper.writeValueAsString(null);
|
||||
JsonNode datasetDescriptionObj = mapper.readTree(datasetDescriptionJson);
|
||||
|
||||
List<JsonNode> typeNodes = JsonSearcher.findNodes(datasetDescriptionObj, "schematics", "rda.dataset.type");
|
||||
|
|
Loading…
Reference in New Issue