From 5de805b9cd1bc119ee8801c38cc4d1011aebd597 Mon Sep 17 00:00:00 2001 From: Rajvi Patel Date: Thu, 20 Nov 2025 16:27:57 -0700 Subject: [PATCH 1/6] [CITE-243] Display group name instead of group id on jobs page --- .../citesphere/core/model/jobs/IGroupSyncJob.java | 4 ++++ .../core/model/jobs/impl/GroupSyncJob.java | 13 +++++++++++++ .../core/service/jobs/impl/SyncJobManager.java | 12 ++++++++++-- .../main/webapp/WEB-INF/views/auth/jobs/list.html | 6 ++++-- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/IGroupSyncJob.java b/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/IGroupSyncJob.java index 49f6b6c00..501bcf3cd 100644 --- a/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/IGroupSyncJob.java +++ b/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/IGroupSyncJob.java @@ -19,5 +19,9 @@ public interface IGroupSyncJob { void setFinishedOn(OffsetDateTime finishedOn); OffsetDateTime getFinishedOn(); + + String getGroupName(); + + void setGroupName(String groupName); } \ No newline at end of file diff --git a/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/impl/GroupSyncJob.java b/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/impl/GroupSyncJob.java index d6a41b55f..82e3524ec 100644 --- a/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/impl/GroupSyncJob.java +++ b/citesphere/src/main/java/edu/asu/diging/citesphere/core/model/jobs/impl/GroupSyncJob.java @@ -3,6 +3,7 @@ import java.time.OffsetDateTime; import javax.persistence.Entity; +import javax.persistence.Transient; import edu.asu.diging.citesphere.core.model.jobs.IGroupSyncJob; @@ -13,6 +14,8 @@ public class GroupSyncJob extends Job implements IGroupSyncJob { private long total; private long current; private OffsetDateTime finishedOn; + @Transient + private String groupName; /* (non-Javadoc) * @see edu.asu.diging.citesphere.core.model.jobs.impl.IGroupSyncJob#getGroupId() @@ -64,4 +67,14 @@ public OffsetDateTime getFinishedOn() { public void setFinishedOn(OffsetDateTime finishedOn) { this.finishedOn = finishedOn; } + + @Override + public String getGroupName() { + return groupName; + } + + @Override + public void setGroupName(String groupName) { + this.groupName = groupName; + } } diff --git a/citesphere/src/main/java/edu/asu/diging/citesphere/core/service/jobs/impl/SyncJobManager.java b/citesphere/src/main/java/edu/asu/diging/citesphere/core/service/jobs/impl/SyncJobManager.java index fa4fb77df..f53ddf0be 100644 --- a/citesphere/src/main/java/edu/asu/diging/citesphere/core/service/jobs/impl/SyncJobManager.java +++ b/citesphere/src/main/java/edu/asu/diging/citesphere/core/service/jobs/impl/SyncJobManager.java @@ -1,6 +1,7 @@ package edu.asu.diging.citesphere.core.service.jobs.impl; import java.time.OffsetDateTime; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Optional; @@ -13,7 +14,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; -import edu.asu.diging.citesphere.core.model.jobs.IJob; import edu.asu.diging.citesphere.core.model.jobs.JobStatus; import edu.asu.diging.citesphere.core.model.jobs.impl.GroupSyncJob; import edu.asu.diging.citesphere.core.repository.jobs.GroupSyncJobRepository; @@ -64,7 +64,15 @@ public GroupSyncJob getMostRecentJob(String groupId) { @Override public List getJobs(IUser user, Pageable page) { List groups = citationManager.getGroups(user); - return jobRepo.findByGroupIdIn(groups.stream().map(g -> g.getGroupId() + "").collect(Collectors.toList()), page); + if (groups == null || groups.isEmpty()) { + return Collections.emptyList(); + } + Map groupNames = groups.stream().collect( + Collectors.toMap(g -> g.getGroupId() + "", ICitationGroup::getName, (existing, replacement) -> existing)); + List jobs = jobRepo.findByGroupIdIn( + groups.stream().map(g -> g.getGroupId() + "").collect(Collectors.toList()), page); + jobs.forEach(job -> job.setGroupName(groupNames.get(job.getGroupId()))); + return jobs; } @Override diff --git a/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html b/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html index bad98d32e..f2f321774 100644 --- a/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html +++ b/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html @@ -37,8 +37,10 @@

Jobs

[[${job.id}]] - - [[${job.groupId}]] + + + [[${job.groupId}]] [[${job.status}]] From 230c027fd9c4f73b9086dce85924f0d8cad23dd2 Mon Sep 17 00:00:00 2001 From: Rajvi Patel Date: Mon, 24 Nov 2025 17:19:27 -0700 Subject: [PATCH 2/6] [CITE-243] Add filter for group on job list pgae --- .../webapp/WEB-INF/views/auth/jobs/list.html | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html b/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html index f2f321774..ad3a8eab8 100644 --- a/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html +++ b/citesphere/src/main/webapp/WEB-INF/views/auth/jobs/list.html @@ -4,15 +4,28 @@