Skip to content

Commit

Permalink
Global: Add sorting to DMPs, Storage, Datasets and other entities by …
Browse files Browse the repository at this point in the history
…ID to preserve order
  • Loading branch information
GeoffreyKarnbach committed Dec 9, 2024
1 parent 6fd4949 commit db325a0
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
3 changes: 2 additions & 1 deletion src/main/java/org/damap/base/repo/DmpRepo.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.damap.base.repo;

import io.quarkus.hibernate.orm.panache.PanacheRepository;
import io.quarkus.panache.common.Sort;
import jakarta.enterprise.context.ApplicationScoped;
import java.util.List;
import org.damap.base.domain.Dmp;
Expand All @@ -15,6 +16,6 @@ public class DmpRepo implements PanacheRepository<Dmp> {
* @return a {@link java.util.List} object
*/
public List<Dmp> getAll() {
return listAll();
return listAll(Sort.by("id"));
}
}
3 changes: 2 additions & 1 deletion src/main/java/org/damap/base/repo/base/RepoSearch.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.damap.base.repo.base;

import io.quarkus.hibernate.orm.panache.PanacheRepository;
import io.quarkus.panache.common.Sort;
import jakarta.ws.rs.core.MultivaluedMap;
import java.util.HashMap;
import java.util.List;
Expand Down Expand Up @@ -50,6 +51,6 @@ default List<T> searchByParameters(MultivaluedMap<String, Object> queryParams) {
counter++;
}

return list(query.toString(), params);
return find(query.toString(), Sort.by("id"), params).list();
}
}
14 changes: 7 additions & 7 deletions src/main/java/org/damap/base/rest/dmp/mapper/DmpDOMapper.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package org.damap.base.rest.dmp.mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import lombok.experimental.UtilityClass;
import lombok.extern.jbosslog.JBossLog;
import org.damap.base.domain.*;
Expand Down Expand Up @@ -74,7 +71,8 @@ public DmpDO mapEntityToDO(Dmp dmp, DmpDO dmpDO) {
dmpDO.setDocumentation(dmp.getDocumentation());

List<ContributorDO> contributorDOList = new ArrayList<>();
dmp.getContributorList()
dmp.getContributorList().stream()
.sorted(Comparator.comparing(contributor -> contributor.id))
.forEach(
contributor -> {
ContributorDO contributorDO = new ContributorDO();
Expand All @@ -99,7 +97,8 @@ public DmpDO mapEntityToDO(Dmp dmp, DmpDO dmpDO) {
dmpDO.setLegalRestrictionsDocuments(legalRestrictionsDocumentsDOList);

List<DatasetDO> datasetDOList = new ArrayList<>();
dmp.getDatasetList()
dmp.getDatasetList().stream()
.sorted(Comparator.comparing(Dataset::getId))
.forEach(
dataset -> {
DatasetDO datasetDO = new DatasetDO();
Expand Down Expand Up @@ -154,7 +153,8 @@ public DmpDO mapEntityToDO(Dmp dmp, DmpDO dmpDO) {
dmpDO.setExternalStorage(externalStorageDOList);

List<CostDO> costDOList = new ArrayList<>();
dmp.getCosts()
dmp.getCosts().stream()
.sorted(Comparator.comparing(cost -> cost.id))
.forEach(
cost -> {
CostDO costDO = new CostDO();
Expand Down
12 changes: 7 additions & 5 deletions src/main/java/org/damap/base/rest/dmp/service/DmpService.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,7 @@
import jakarta.transaction.Transactional;
import jakarta.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import lombok.extern.jbosslog.JBossLog;
import org.damap.base.domain.Access;
import org.damap.base.domain.Contributor;
Expand Down Expand Up @@ -67,6 +63,9 @@ public List<DmpListItemDO> getAll() {
dmpListItemDOList.add(
DmpListItemDOMapper.mapEntityToDO(
null, dmp, new DmpListItemDO(), versionService.getDmpVersions(dmp.id))));

// dmpListItemDOList.sort(Comparator.comparing(DmpListItemDO::getId));

return dmpListItemDOList;
}

Expand All @@ -90,6 +89,9 @@ public List<DmpListItemDO> getDmpListByPersonId(String personId) {
access.getDmp(),
new DmpListItemDO(),
versionService.getDmpVersions(access.getDmp().id))));

dmpListItemDOS.sort(Comparator.comparing(DmpListItemDO::getId));

return dmpListItemDOS;
}

Expand Down

0 comments on commit db325a0

Please sign in to comment.