argos/dmp-backend/web/src/main/java/eu/eudat/logic/mapper/elastic/criteria/DmpCriteriaMapper.java

34 lines
1.2 KiB
Java

package eu.eudat.logic.mapper.elastic.criteria;
import eu.eudat.data.dao.criteria.DataManagementPlanCriteria;
import eu.eudat.data.entities.Grant;
import eu.eudat.elastic.criteria.DmpCriteria;
import java.util.UUID;
import java.util.stream.Collectors;
public class DmpCriteriaMapper {
public static DmpCriteria toElasticCriteria(DataManagementPlanCriteria criteria) {
DmpCriteria elastic = new DmpCriteria();
elastic.setAllowAllVersions(criteria.getAllVersions());
elastic.setCollaborators(criteria.getCollaborators());
if (criteria.getGrants() != null) {
elastic.setGrants(criteria.getGrants().stream().map(Grant::getId).collect(Collectors.toList()));
}
elastic.setGroupIds(criteria.getGroupIds());
elastic.setLike(criteria.getLike());
if (criteria.getOrganisations() != null) {
elastic.setOrganizations(criteria.getOrganisations().stream().map(UUID::fromString).collect(Collectors.toList()));
}
elastic.setPublic(criteria.getIsPublic());
if (criteria.getStatus() != null) {
elastic.setStatus(criteria.getStatus().shortValue());
}
elastic.setTemplates(criteria.getDatasetTemplates());
elastic.setGrantStatus(criteria.getGrantStatus());
return elastic;
}
}