Remove dependency on joda-time
This commit is contained in:
parent
92d12bd5b2
commit
264fcb754a
core/src
main/java/se/su/dsv/scipro
peer
project
projectpartner
reviewing
workerthreads
test/java/se/su/dsv/scipro
activityplan
finalseminar
milestones/service/impl
misc
peer
project
projectpartner
report
daisy-integration/src/main/java/se/su/dsv/scipro/integration/daisy/workers
pom.xmlview/src
main/java/se/su/dsv/scipro
admin/panels
components
date
match
peer
statistics
test/java/se/su/dsv/scipro
finalseminar
DownloadPdfReportPanelTest.javaMoveFinalSeminarPanelTest.javaOppositionReportPageTest.javaSeminarActiveParticipantsPanelTest.javaSeminarCRUDPanelTest.javaSeminarOppositionPanelTest.javaSeminarOppositionReportPanelTest.javaSeminarPanelTest.javaSeminarRespondentsPanelTest.javaSeminarThesisPanelTest.java
firstmeeting
milestones/panels
peer
@ -1,15 +1,15 @@
|
||||
package se.su.dsv.scipro.peer;
|
||||
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import org.joda.time.DateTime;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.system.ProjectTypeSettings;
|
||||
import se.su.dsv.scipro.workerthreads.AbstractWorker;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
|
||||
public class ExpiredRequestWorker extends AbstractWorker {
|
||||
|
||||
@ -26,11 +26,11 @@ public class ExpiredRequestWorker extends AbstractWorker {
|
||||
try {
|
||||
List<PeerRequest> requests = peerRequestService.findByStatus(RequestStatus.WAITING);
|
||||
|
||||
final DateTime now = new DateTime();
|
||||
final Instant now = Instant.now();
|
||||
for (PeerRequest request : requests) {
|
||||
|
||||
ProjectTypeSettings settings = request.getProject().getProjectType().getProjectTypeSettings();
|
||||
Date expirationDate = now.minusDays(settings.getNumDaysBeforePeerGetsCancelled()).toDate();
|
||||
Date expirationDate = Date.from(now.minus(Duration.ofDays(settings.getNumDaysBeforePeerGetsCancelled())));
|
||||
|
||||
if (request.getDateCreated().compareTo(expirationDate) < 0) {
|
||||
LOGGER.info("Peer Request: " + request + " has now been waiting for " + settings.getNumDaysBeforePeerGetsCancelled() + " days and has been removed.");
|
||||
|
@ -1,14 +1,11 @@
|
||||
package se.su.dsv.scipro.peer;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.system.ProjectTypeSettings;
|
||||
import se.su.dsv.scipro.workerthreads.AbstractWorker;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
public class ExpiredReviewResetWorker extends AbstractWorker {
|
||||
|
||||
|
@ -2,18 +2,24 @@ package se.su.dsv.scipro.peer;
|
||||
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import org.joda.time.DateTime;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.file.*;
|
||||
import se.su.dsv.scipro.file.FileDescription;
|
||||
import se.su.dsv.scipro.file.FileReference;
|
||||
import se.su.dsv.scipro.file.FileService;
|
||||
import se.su.dsv.scipro.file.FileSource;
|
||||
import se.su.dsv.scipro.file.FileUpload;
|
||||
import se.su.dsv.scipro.file.ProjectFileService;
|
||||
import se.su.dsv.scipro.misc.DaysService;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.ProjectTypeSettings;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
import java.time.Clock;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static com.querydsl.core.types.dsl.Expressions.allOf;
|
||||
@ -28,6 +34,7 @@ public class PeerPortalImpl implements PeerPortal, PerformReviewService {
|
||||
private final EventBus eventBus;
|
||||
private final ProjectFileService projectFileService;
|
||||
private final DaysService daysService;
|
||||
private final Clock clock;
|
||||
|
||||
@Inject
|
||||
public PeerPortalImpl(FileService fileDescriptionService,
|
||||
@ -35,7 +42,8 @@ public class PeerPortalImpl implements PeerPortal, PerformReviewService {
|
||||
PeerRequestRepository peerRequestRepository,
|
||||
EventBus eventBus,
|
||||
final ProjectFileService projectFileService,
|
||||
final DaysService daysService)
|
||||
final DaysService daysService,
|
||||
Clock clock)
|
||||
{
|
||||
this.fileDescriptionService = fileDescriptionService;
|
||||
this.peerReviewRepository = peerReviewRepository;
|
||||
@ -43,6 +51,7 @@ public class PeerPortalImpl implements PeerPortal, PerformReviewService {
|
||||
this.eventBus = eventBus;
|
||||
this.projectFileService = projectFileService;
|
||||
this.daysService = daysService;
|
||||
this.clock = clock;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -99,9 +108,8 @@ public class PeerPortalImpl implements PeerPortal, PerformReviewService {
|
||||
ProjectTypeSettings settings = requestingProject.getProjectType().getProjectTypeSettings();
|
||||
int daysBetweenReviewsOnSameProject = settings.getNumDaysBetweenPeerReviewsOnSameProject();
|
||||
|
||||
DateTime earliestPermissibleDateSinceReview = new DateTime();
|
||||
earliestPermissibleDateSinceReview = earliestPermissibleDateSinceReview
|
||||
.minusDays(daysBetweenReviewsOnSameProject);
|
||||
Instant earliestPermissibleDateSinceReview = clock.instant()
|
||||
.minus(Duration.ofDays(daysBetweenReviewsOnSameProject));
|
||||
|
||||
QPeerReview qReview = QPeerReview.peerReview;
|
||||
Iterable<PeerReview> performedReviews = peerReviewRepository.findAll(
|
||||
@ -111,8 +119,7 @@ public class PeerPortalImpl implements PeerPortal, PerformReviewService {
|
||||
for (PeerReview pr : performedReviews) {
|
||||
boolean sameProject = pr.getPeerRequest().getProject().equals(requestingProject);
|
||||
if (sameProject) {
|
||||
boolean reviewPerformedBeforeLimit = pr.getLastModified().compareTo(
|
||||
earliestPermissibleDateSinceReview.toDate()) > 0;
|
||||
boolean reviewPerformedBeforeLimit = pr.getLastModified().after(Date.from(earliestPermissibleDateSinceReview));
|
||||
if (reviewPerformedBeforeLimit) {
|
||||
return true;
|
||||
}
|
||||
|
@ -5,27 +5,35 @@ import com.google.inject.persist.Transactional;
|
||||
import com.querydsl.core.BooleanBuilder;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
import org.joda.time.DateTime;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import se.su.dsv.scipro.data.dataobjects.Member;
|
||||
import se.su.dsv.scipro.reusable.SciProUtilities;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.system.AbstractServiceImpl;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.QUser;
|
||||
import se.su.dsv.scipro.system.Unit;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.persistence.EntityManager;
|
||||
import java.time.Clock;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
|
||||
public class ProjectServiceImpl extends AbstractServiceImpl<Project, Long> implements ProjectService {
|
||||
|
||||
public static final int MIN_TITLE_LENGTH = 3;
|
||||
private final ProjectRepo projectRepo;
|
||||
private final Clock clock;
|
||||
private final EventBus eventBus;
|
||||
|
||||
@Inject
|
||||
public ProjectServiceImpl(ProjectRepo projectRepo, EventBus eventBus, Provider<EntityManager> em) {
|
||||
public ProjectServiceImpl(ProjectRepo projectRepo, Clock clock, EventBus eventBus, Provider<EntityManager> em) {
|
||||
super(em, Project.class, QProject.project);
|
||||
this.projectRepo = projectRepo;
|
||||
this.clock = clock;
|
||||
this.eventBus = eventBus;
|
||||
}
|
||||
|
||||
@ -173,7 +181,7 @@ public class ProjectServiceImpl extends AbstractServiceImpl<Project, Long> imple
|
||||
return count(toPredicate(filter));
|
||||
}
|
||||
|
||||
protected static Predicate toPredicate(Filter filter) {
|
||||
protected Predicate toPredicate(Filter filter) {
|
||||
BooleanBuilder predicate = new BooleanBuilder();
|
||||
if (filter.getProjectTypes() != null) {
|
||||
predicate.and(levelFilter(filter.getProjectTypes()));
|
||||
@ -291,9 +299,11 @@ public class ProjectServiceImpl extends AbstractServiceImpl<Project, Long> imple
|
||||
return QProject.project.title.containsIgnoreCase(searchTerm);
|
||||
}
|
||||
|
||||
private static BooleanExpression hasBeenRedForTime(Integer redStateTime) {
|
||||
private BooleanExpression hasBeenRedForTime(Integer redStateTime) {
|
||||
if (redStateTime != null) {
|
||||
return QProject.project.stateOfMindDate.before(new DateTime().minusDays(redStateTime).toDate()).and(QProject.project.stateOfMind.eq(StateOfMind.NEEDHELP));
|
||||
final Instant now = clock.instant()
|
||||
.minus(Duration.ofDays(redStateTime));
|
||||
return QProject.project.stateOfMindDate.before(Date.from(now)).and(QProject.project.stateOfMind.eq(StateOfMind.NEEDHELP));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package se.su.dsv.scipro.projectpartner;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import com.querydsl.core.types.dsl.Expressions;
|
||||
import com.querydsl.jpa.JPAExpressions;
|
||||
import org.joda.time.DateTime;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import se.su.dsv.scipro.match.ApplicationPeriod;
|
||||
import se.su.dsv.scipro.match.QIdea;
|
||||
@ -14,8 +13,9 @@ import se.su.dsv.scipro.system.ProjectType;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.persistence.EntityManager;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
|
||||
public class ProjectPartnerServiceImpl extends AbstractServiceImpl<ProjectPartner,Long> implements ProjectPartnerService {
|
||||
|
||||
@ -29,7 +29,8 @@ public class ProjectPartnerServiceImpl extends AbstractServiceImpl<ProjectPartne
|
||||
if (days == 0) {
|
||||
return findAll(QProjectPartner.projectPartner.projectType.eq(projectType), pageable);
|
||||
}
|
||||
Date date = new DateTime().minusDays(days).toDate();
|
||||
// TODO pull up as parameter to remove dependency on clock (Instant.now)
|
||||
Date date = Date.from(Instant.now().minus(Duration.ofDays(days)));
|
||||
return findAll(Expressions.allOf(
|
||||
QProjectPartner.projectPartner.dateCreated.after(date),
|
||||
QProjectPartner.projectPartner.projectType.eq(projectType),
|
||||
@ -43,7 +44,8 @@ public class ProjectPartnerServiceImpl extends AbstractServiceImpl<ProjectPartne
|
||||
if (days == 0) {
|
||||
return count(QProjectPartner.projectPartner.projectType.eq(projectType));
|
||||
}
|
||||
Date date = new DateTime().minusDays(days).toDate();
|
||||
// TODO pull up as parameter to remove dependency on clock (Instant.now)
|
||||
Date date = Date.from(Instant.now().minus(Duration.ofDays(days)));
|
||||
return count(Expressions.allOf(
|
||||
QProjectPartner.projectPartner.dateCreated.after(date),
|
||||
QProjectPartner.projectPartner.projectType.eq(projectType),
|
||||
|
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.reviewing;
|
||||
|
||||
import org.joda.time.Instant;
|
||||
import se.su.dsv.scipro.file.FileReference;
|
||||
|
||||
import javax.persistence.Basic;
|
||||
@ -15,6 +14,7 @@ import javax.persistence.OneToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
|
||||
@Entity
|
||||
@ -66,7 +66,7 @@ public class Decision {
|
||||
Decision(ReviewerApproval reviewerApproval, final FileReference thesis, final Instant requested, final String comment, final Date deadline) {
|
||||
this.reviewerApproval = reviewerApproval;
|
||||
this.thesis = thesis;
|
||||
this.requested = requested.toDate();
|
||||
this.requested = Date.from(requested);
|
||||
this.deadline = deadline;
|
||||
this.comment = comment;
|
||||
}
|
||||
@ -139,7 +139,7 @@ public class Decision {
|
||||
if (this.status != Status.UNDECIDED) {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
this.decisionDate = decisionDate.toDate();
|
||||
this.decisionDate = Date.from(decisionDate);
|
||||
this.status = status;
|
||||
this.reason = reason;
|
||||
this.attachment = attachment.orElse(null);
|
||||
|
@ -1,11 +1,14 @@
|
||||
package se.su.dsv.scipro.workerthreads;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import se.su.dsv.scipro.finalseminar.FinalSeminar;
|
||||
import se.su.dsv.scipro.finalseminar.FinalSeminarService;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.Month;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
|
||||
public class ThesisUploadDeadlineWorker extends AbstractWorker {
|
||||
|
||||
@ -21,15 +24,17 @@ public class ThesisUploadDeadlineWorker extends AbstractWorker {
|
||||
/**
|
||||
* Feature should not look at seminars held before this date
|
||||
*/
|
||||
DateTime validFrom = new DateTime();
|
||||
validFrom = validFrom.withDate(2013, 8, 8);
|
||||
Date validFrom = Date.from(Instant.now()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.with(LocalDate.of(2013, Month.AUGUST, 8))
|
||||
.toInstant());
|
||||
|
||||
try {
|
||||
FinalSeminarService.Filter params = new FinalSeminarService.Filter();
|
||||
if (now.after(validFrom.toDate())) {
|
||||
if (now.after(validFrom)) {
|
||||
params.setFromDate(now);
|
||||
} else {
|
||||
params.setFromDate(validFrom.toDate());
|
||||
params.setFromDate(validFrom);
|
||||
}
|
||||
params.setExempted(Boolean.FALSE);
|
||||
params.setLazyDeleted(Boolean.FALSE);
|
||||
|
@ -1,7 +1,6 @@
|
||||
package se.su.dsv.scipro.activityplan;
|
||||
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import org.joda.time.MutableDateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
@ -20,11 +19,10 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.IntegrationTest;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
@ -68,9 +66,7 @@ public class ActivityPlanFacadeImplIntegrationTest extends IntegrationTest {
|
||||
}
|
||||
|
||||
private Date getRelativeDate(int daysFromNow) {
|
||||
MutableDateTime dateTime = new MutableDateTime();
|
||||
dateTime.addDays(daysFromNow);
|
||||
return dateTime.toDate();
|
||||
return Date.from(Instant.now().plus(Duration.ofDays(daysFromNow)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,7 +1,6 @@
|
||||
package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@ -11,17 +10,25 @@ import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.report.GradingReportTemplate;
|
||||
import se.su.dsv.scipro.report.OppositionReport;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.system.DegreeType;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.Unit;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.IntegrationTest;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.hamcrest.CoreMatchers.anything;
|
||||
import static org.hamcrest.CoreMatchers.hasItem;
|
||||
import static org.hamcrest.CoreMatchers.instanceOf;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static se.su.dsv.scipro.test.Matchers.isLeft;
|
||||
import static se.su.dsv.scipro.test.Matchers.isRight;
|
||||
|
||||
@ -197,7 +204,8 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
|
||||
addOpposition(unfinished, null);
|
||||
addOpposition(unfinishedTooEarly, null);
|
||||
|
||||
List<FinalSeminar> seminars = finalSeminarService.findUnfinishedSeminars(null,new DateTime().plusDays(-5).toDate() , new PageRequest(0, 5) );
|
||||
final Date before = Date.from(ZonedDateTime.now().minusDays(5).toInstant());
|
||||
List<FinalSeminar> seminars = finalSeminarService.findUnfinishedSeminars(null, before, new PageRequest(0, 5) );
|
||||
assertEquals(1, seminars.size());
|
||||
assertThat(seminars, hasItem(unfinished));
|
||||
}
|
||||
@ -211,7 +219,8 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
|
||||
addActiveParticipant(unfinished, null);
|
||||
addActiveParticipant(unfinishedTooEarly, null);
|
||||
|
||||
List<FinalSeminar> seminars = finalSeminarService.findUnfinishedSeminars(null, new DateTime().plusDays(-5).toDate(), new PageRequest(0, 5));
|
||||
final Date before = Date.from(ZonedDateTime.now().minusDays(5).toInstant());
|
||||
List<FinalSeminar> seminars = finalSeminarService.findUnfinishedSeminars(null, before, new PageRequest(0, 5));
|
||||
assertEquals(1, seminars.size());
|
||||
assertThat(seminars, hasItem(unfinished));
|
||||
}
|
||||
@ -225,7 +234,8 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
|
||||
addRespondent(unfinished, null);
|
||||
addRespondent(unfinishedTooEarly, null);
|
||||
|
||||
List<FinalSeminar> seminars = finalSeminarService.findUnfinishedSeminars(null, new DateTime().plusDays(-5).toDate(), new PageRequest(0, 5));
|
||||
final Date before = Date.from(ZonedDateTime.now().minusDays(5).toInstant());
|
||||
List<FinalSeminar> seminars = finalSeminarService.findUnfinishedSeminars(null, before, new PageRequest(0, 5));
|
||||
assertEquals(1, seminars.size());
|
||||
assertThat(seminars, hasItem(unfinished));
|
||||
}
|
||||
@ -239,7 +249,8 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
|
||||
addRespondent(unfinished, null);
|
||||
addRespondent(unfinishedTooEarly, null);
|
||||
|
||||
assertEquals(1, finalSeminarService.countUnfinishedSeminars(null, new DateTime().plusDays(-5).toDate()));
|
||||
final Date before = Date.from(ZonedDateTime.now().minusDays(5).toInstant());
|
||||
assertEquals(1, finalSeminarService.countUnfinishedSeminars(null, before));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -269,7 +280,8 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
|
||||
|
||||
private FinalSeminar createFutureFinalSeminarSomeDaysAgo(final int daysAgo) {
|
||||
FinalSeminar finalSeminar = initFinalSeminar(createProject(), 5);
|
||||
finalSeminar.setDateCreated(new DateTime().minusDays(daysAgo).toDate());
|
||||
final Date dateCreated = Date.from(ZonedDateTime.now().minusDays(daysAgo).toInstant());
|
||||
finalSeminar.setDateCreated(dateCreated);
|
||||
return save(finalSeminar);
|
||||
}
|
||||
|
||||
@ -324,7 +336,8 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
|
||||
private FinalSeminar initFinalSeminar(Project project, int relativeDays) {
|
||||
FinalSeminar finalSeminar = new FinalSeminar();
|
||||
finalSeminar.setProject(project);
|
||||
finalSeminar.setStartDate(new DateTime().plusDays(relativeDays).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().plusDays(relativeDays).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
finalSeminar.setRoom("room");
|
||||
finalSeminar.setPresentationLanguage(english);
|
||||
project.setLanguage(english);
|
||||
|
@ -1,7 +1,6 @@
|
||||
package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@ -28,6 +27,7 @@ import se.su.dsv.scipro.test.InstanceProvider;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import java.lang.reflect.Field;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
@ -89,8 +89,9 @@ public class FinalSeminarServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void hasDeadlinePassed() {
|
||||
finalSeminar.setStartDate(new DateTime().minusDays(2).toDate());
|
||||
Date date = new DateTime().minusDays(1).toDate();
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(2).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
Date date = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
FinalSeminarSettings finalSeminarSettings = new FinalSeminarSettings();
|
||||
finalSeminarSettings.setDaysAheadToUploadThesis(5);
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.milestones.service.impl;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@ -9,6 +8,7 @@ import se.su.dsv.scipro.test.IntegrationTest;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.hasItem;
|
||||
@ -27,7 +27,8 @@ public class MilestonePhaseTemplateServiceImplTest extends IntegrationTest {
|
||||
public void setUp() throws Exception {
|
||||
first = service.save(new MilestonePhaseTemplate("Title", "Description"));
|
||||
second = service.save(new MilestonePhaseTemplate("Title", "Description"));
|
||||
second.setDateCreated(new DateTime().plusDays(1).toDate());
|
||||
final Date dateCreated = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
second.setDateCreated(dateCreated);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -1,18 +1,19 @@
|
||||
package se.su.dsv.scipro.misc;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.ArgumentMatchers;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import se.su.dsv.scipro.nonworkperiod.NonWorkDayPeriodService;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class DaysServiceImplTest {
|
||||
@ -21,8 +22,8 @@ public class DaysServiceImplTest {
|
||||
NonWorkDayPeriodService nonWorkDays;
|
||||
@InjectMocks
|
||||
DaysServiceImpl service;
|
||||
private DateTime now;
|
||||
private DateTime then;
|
||||
private ZonedDateTime now;
|
||||
private ZonedDateTime then;
|
||||
|
||||
@Test
|
||||
public void testAfterWeekends() {
|
||||
@ -146,18 +147,18 @@ public class DaysServiceImplTest {
|
||||
}
|
||||
|
||||
private void then(int year, int month, int day) {
|
||||
then = new DateTime(year, month, day, 13, 14, 15, 0);
|
||||
then = ZonedDateTime.of(year, month, day, 13, 14, 15, 0, ZoneId.systemDefault());
|
||||
}
|
||||
|
||||
private Date then() {
|
||||
return then.toDate();
|
||||
return Date.from(then.toInstant());
|
||||
}
|
||||
|
||||
private void now(int year, int month, int day) {
|
||||
now = new DateTime(year, month, day, 13, 14, 15, 0);
|
||||
now = ZonedDateTime.of(year, month, day, 13, 14, 15, 0, ZoneId.systemDefault());
|
||||
}
|
||||
|
||||
private Date now() {
|
||||
return now.toDate();
|
||||
return Date.from(now.toInstant());
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package se.su.dsv.scipro.peer;
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.*;
|
||||
@ -24,6 +25,7 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.Dates;
|
||||
import se.su.dsv.scipro.test.ObjectMother;
|
||||
|
||||
import java.time.Clock;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collections;
|
||||
import java.util.Optional;
|
||||
@ -54,9 +56,14 @@ public class PeerPortalImplTest {
|
||||
private ProjectFileService projectFileService;
|
||||
@Mock
|
||||
private DaysService daysService;
|
||||
@InjectMocks
|
||||
|
||||
private PeerPortalImpl peerPortalController;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
peerPortalController = new PeerPortalImpl(fileDescriptionService, peerReviewRepository, peerRequestRepository, eventBus, projectFileService, daysService, Clock.systemDefaultZone());
|
||||
}
|
||||
|
||||
private void mockSavingPeerRequest() {
|
||||
when(peerRequestRepository.save(ArgumentMatchers.isA(PeerRequest.class))).thenAnswer(new org.mockito.stubbing.Answer<PeerRequest>() {
|
||||
@Override
|
||||
|
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.project;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@ -12,14 +11,14 @@ import se.su.dsv.scipro.test.IntegrationTest;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
public class ProjectServiceImplIntegrationTest extends IntegrationTest {
|
||||
|
||||
@ -111,8 +110,10 @@ public class ProjectServiceImplIntegrationTest extends IntegrationTest {
|
||||
params.setSupervisor(employee);
|
||||
params.setFilterSupervisor(true);
|
||||
params.setTitleContains("Some");
|
||||
params.setCreatedAfter(new DateTime().minusDays(1).toDate());
|
||||
params.setCreatedBefore(new DateTime().plusDays(1).toDate());
|
||||
final Date createdAfter = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
params.setCreatedAfter(createdAfter);
|
||||
final Date createdBefore = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
params.setCreatedBefore(createdBefore);
|
||||
|
||||
long expected = 1L;
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.projectpartner;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@ -11,11 +10,13 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.IntegrationTest;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.hasItem;
|
||||
import static org.hamcrest.CoreMatchers.not;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class ProjectPartnerServiceImplTest extends IntegrationTest {
|
||||
public static final PageRequest ALL = new PageRequest(0, Long.MAX_VALUE);
|
||||
@ -70,7 +71,8 @@ public class ProjectPartnerServiceImplTest extends IntegrationTest {
|
||||
private ProjectPartner newProjectPartner(int daysOld) {
|
||||
ProjectPartner projectPartner = new ProjectPartner(user);
|
||||
projectPartner.setInfotext("Hi I need a thesis writing partner");
|
||||
projectPartner.setDateCreated(new DateTime().minusDays(daysOld).toDate());
|
||||
final Date dateCreated = Date.from(ZonedDateTime.now().minusDays(daysOld).toInstant());
|
||||
projectPartner.setDateCreated(dateCreated);
|
||||
projectPartner.setProjectType(projectType);
|
||||
projectPartner.setApplicationPeriod(applicationPeriod);
|
||||
return save(projectPartner);
|
||||
|
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.report;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@ -22,6 +21,7 @@ import se.su.dsv.scipro.test.DomainObjects;
|
||||
import se.su.dsv.scipro.test.ObjectMother;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
@ -116,7 +116,8 @@ public class OppositionReportServiceImplTest {
|
||||
private FinalSeminar createFinalSeminar() {
|
||||
FinalSeminar finalSeminar = new FinalSeminar();
|
||||
finalSeminar.setProject(ObjectMother.SOME_PROJECT);
|
||||
finalSeminar.setStartDate(new DateTime().minusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
finalSeminar.setRoom("room");
|
||||
return finalSeminar;
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package se.su.dsv.scipro.integration.daisy.workers;
|
||||
|
||||
import org.joda.time.LocalDateTime;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.daisyExternal.http.DaisyAPI;
|
||||
@ -10,7 +9,15 @@ import se.su.dsv.scipro.finalseminar.FinalSeminarService;
|
||||
import se.su.dsv.scipro.finalthesis.FinalThesis;
|
||||
import se.su.dsv.scipro.finalthesis.FinalThesisService;
|
||||
import se.su.dsv.scipro.io.ExternalExporter;
|
||||
import se.su.dsv.scipro.io.dto.*;
|
||||
import se.su.dsv.scipro.io.dto.Person;
|
||||
import se.su.dsv.scipro.io.dto.ProjectParticipant;
|
||||
import se.su.dsv.scipro.io.dto.ResearchAreaWithID;
|
||||
import se.su.dsv.scipro.io.dto.ResearchAreas;
|
||||
import se.su.dsv.scipro.io.dto.Role;
|
||||
import se.su.dsv.scipro.io.dto.StudentProjectParticipant;
|
||||
import se.su.dsv.scipro.io.dto.Thesis;
|
||||
import se.su.dsv.scipro.io.dto.ThesisToBeUpdated;
|
||||
import se.su.dsv.scipro.io.dto.UnitWithID;
|
||||
import se.su.dsv.scipro.io.exceptions.ExternalExportException;
|
||||
import se.su.dsv.scipro.io.facade.ExporterFacade;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
@ -24,10 +31,9 @@ import se.su.dsv.scipro.workerthreads.AbstractWorker;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.time.Instant;
|
||||
import java.time.Period;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Stream;
|
||||
@ -87,7 +93,7 @@ public class ProjectExporter extends AbstractWorker {
|
||||
}
|
||||
|
||||
private static Date oneWeekAgo() {
|
||||
return new LocalDateTime().minusWeeks(1).toDate();
|
||||
return Date.from(Instant.now().minus(Period.ofWeeks(1)));
|
||||
}
|
||||
|
||||
private void exportProject(Project project) throws ExternalExportException {
|
||||
|
9
pom.xml
9
pom.xml
@ -167,11 +167,6 @@
|
||||
</dependency>
|
||||
|
||||
<!-- Additional dependencies -->
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>2.9.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
@ -243,10 +238,6 @@
|
||||
</dependency>
|
||||
|
||||
<!-- Additional dependencies -->
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.inject</groupId>
|
||||
<artifactId>javax.inject</artifactId>
|
||||
|
@ -13,23 +13,38 @@ import org.apache.wicket.feedback.FencedFeedbackPanel;
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.basic.EnclosureContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.*;
|
||||
import org.apache.wicket.markup.html.form.Button;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.IChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.form.LambdaChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.form.RadioChoice;
|
||||
import org.apache.wicket.markup.html.form.TextArea;
|
||||
import org.apache.wicket.markup.html.form.TextField;
|
||||
import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.validation.validator.StringValidator;
|
||||
import org.joda.time.DateTime;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.components.*;
|
||||
import se.su.dsv.scipro.components.AjaxCheckBoxMultipleChoice;
|
||||
import se.su.dsv.scipro.components.BootstrapRadioChoice;
|
||||
import se.su.dsv.scipro.components.CSPPalette;
|
||||
import se.su.dsv.scipro.components.IdeaMailChoice;
|
||||
import se.su.dsv.scipro.components.ModalWindowPlus;
|
||||
import se.su.dsv.scipro.components.ProjectMailChoiceNew;
|
||||
import se.su.dsv.scipro.data.enums.MailChoice;
|
||||
import se.su.dsv.scipro.data.facade.MailFacade;
|
||||
import se.su.dsv.scipro.date.DatePickerPanel;
|
||||
import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettings;
|
||||
import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettingsService;
|
||||
import se.su.dsv.scipro.mail.*;
|
||||
import se.su.dsv.scipro.mail.EmailRecipient;
|
||||
import se.su.dsv.scipro.mail.MailEvent;
|
||||
import se.su.dsv.scipro.mail.MailEventService;
|
||||
import se.su.dsv.scipro.mail.Recipient;
|
||||
import se.su.dsv.scipro.mail.RecipientVisitor;
|
||||
import se.su.dsv.scipro.mail.UserRecipient;
|
||||
import se.su.dsv.scipro.reusable.SciProUtilities;
|
||||
import se.su.dsv.scipro.system.DegreeType;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
@ -38,6 +53,8 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.util.CopyTextPanel;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.Instant;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class AdminMailPanel extends Panel {
|
||||
@ -136,9 +153,8 @@ public class AdminMailPanel extends Panel {
|
||||
labelContainer.add(ideaPickerLabel);
|
||||
filterContainer.add(labelContainer);
|
||||
|
||||
DateTime start = new DateTime();
|
||||
start = start.minusMonths(MONTHS);
|
||||
dpp = new DatePickerPanel("datePanel", start.toDate(), null) {
|
||||
final Instant start = ZonedDateTime.now().minusMonths(1).toInstant();
|
||||
dpp = new DatePickerPanel("datePanel", Date.from(start), null) {
|
||||
@Override
|
||||
public void updateStartDate(AjaxRequestTarget target) {
|
||||
updateUserSet(target);
|
||||
|
@ -2,23 +2,12 @@ package se.su.dsv.scipro.components;
|
||||
|
||||
import org.apache.wicket.extensions.markup.html.form.DateTextField;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.request.Response;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.LocalDateTime;
|
||||
import org.joda.time.LocalTime;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
|
||||
public class BootstrapDateField extends DateTextField {
|
||||
private static final String DATE_PATTERN = "yyyy-MM-dd";
|
||||
|
||||
private java.time.LocalDate endDate;
|
||||
private java.time.LocalDate startDate;
|
||||
|
||||
public BootstrapDateField(final String id) {
|
||||
super(id, DATE_PATTERN);
|
||||
}
|
||||
|
||||
public BootstrapDateField(final String id, final IModel<Date> model) {
|
||||
super(id, model, DATE_PATTERN);
|
||||
}
|
||||
@ -27,28 +16,6 @@ public class BootstrapDateField extends DateTextField {
|
||||
protected void onInitialize() {
|
||||
super.onInitialize();
|
||||
setOutputMarkupId(true);
|
||||
add(new BootstrapDatePicker(startDate, endDate));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateModel() {
|
||||
Date currentDate = getModelObject();
|
||||
if (currentDate == null || getConvertedInput() == null) {
|
||||
super.updateModel();
|
||||
}
|
||||
else {
|
||||
LocalDate date = new LocalDate(getConvertedInput());
|
||||
LocalTime time = new LocalTime(currentDate);
|
||||
LocalDateTime dateTime = date.toLocalDateTime(time);
|
||||
setModelObject(dateTime.toDate());
|
||||
}
|
||||
}
|
||||
|
||||
public void setEndDate(final java.time.LocalDate endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
|
||||
public void setStartDate(final java.time.LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
add(new BootstrapDatePicker());
|
||||
}
|
||||
}
|
||||
|
@ -3,17 +3,21 @@ package se.su.dsv.scipro.components;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.FormComponent;
|
||||
import org.apache.wicket.markup.html.form.FormComponentPanel;
|
||||
import org.apache.wicket.markup.html.form.TextField;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.LocalTime;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
|
||||
public class BootstrapDateTimeComponent extends FormComponentPanel<Date> {
|
||||
|
||||
private FormComponent<Date> dateField;
|
||||
private FormComponent<Date> timeField;
|
||||
private FormComponent<LocalDate> dateField;
|
||||
private FormComponent<LocalTime> timeField;
|
||||
|
||||
public BootstrapDateTimeComponent(final String id) {
|
||||
super(id);
|
||||
@ -26,14 +30,15 @@ public class BootstrapDateTimeComponent extends FormComponentPanel<Date> {
|
||||
@Override
|
||||
protected void onInitialize() {
|
||||
super.onInitialize();
|
||||
dateField = new BootstrapDateField("date") {
|
||||
dateField = new TextField<>("date", new Model<>(), LocalDate.class) {
|
||||
@Override
|
||||
protected void onConfigure() {
|
||||
super.onConfigure();
|
||||
setRequired(BootstrapDateTimeComponent.this.isRequired());
|
||||
}
|
||||
};
|
||||
dateField.setModel(getModel());
|
||||
dateField.setModelObject(toLocalDate(getModelObject()));
|
||||
dateField.add(new BootstrapDatePicker());
|
||||
add(dateField);
|
||||
|
||||
add(new Label("dateHelp", dateHelpText()) {
|
||||
@ -44,26 +49,44 @@ public class BootstrapDateTimeComponent extends FormComponentPanel<Date> {
|
||||
}
|
||||
});
|
||||
|
||||
timeField = new BootstrapTimeField("time") {
|
||||
timeField = new TextField<>("time", new Model<>(), LocalTime.class) {
|
||||
@Override
|
||||
protected void onConfigure() {
|
||||
super.onConfigure();
|
||||
setRequired(BootstrapDateTimeComponent.this.isRequired());
|
||||
}
|
||||
};
|
||||
timeField.setModel(getModel());
|
||||
timeField.setModelObject(toLocalTime(getModelObject()));
|
||||
timeField.add(new BootstrapTimePicker());
|
||||
add(timeField);
|
||||
}
|
||||
|
||||
private LocalDate toLocalDate(Date date) {
|
||||
if (date == null) return null;
|
||||
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||
}
|
||||
|
||||
private LocalTime toLocalTime(Date date) {
|
||||
if (date == null) return null;
|
||||
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalTime();
|
||||
}
|
||||
|
||||
protected IModel<String> dateHelpText() {
|
||||
return new Model<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertInput() {
|
||||
LocalDate date = new LocalDate(dateField.getConvertedInput());
|
||||
LocalTime time = new LocalTime(timeField.getConvertedInput());
|
||||
Date datetime = date.toLocalDateTime(time).toDate();
|
||||
setConvertedInput(datetime);
|
||||
LocalDate date = dateField.getConvertedInput();
|
||||
LocalTime time = timeField.getConvertedInput();
|
||||
if (date == null || time == null) {
|
||||
setConvertedInput(null);
|
||||
}
|
||||
else {
|
||||
Instant instant = LocalDateTime.of(date, time)
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toInstant();
|
||||
setConvertedInput(Date.from(instant));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +0,0 @@
|
||||
package se.su.dsv.scipro.components;
|
||||
|
||||
import org.apache.wicket.extensions.markup.html.form.DateTextField;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.LocalDateTime;
|
||||
import org.joda.time.LocalTime;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class BootstrapTimeField extends DateTextField {
|
||||
public BootstrapTimeField(String id) {
|
||||
super(id, "HH:mm");
|
||||
setOutputMarkupId(true);
|
||||
add(new BootstrapTimePicker());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateModel() {
|
||||
Date currentDate = getModelObject();
|
||||
if (currentDate == null) {
|
||||
super.updateModel();
|
||||
} else {
|
||||
LocalDate date = new LocalDate(currentDate);
|
||||
LocalTime time = new LocalTime(getConvertedInput());
|
||||
LocalDateTime dateTime = date.toLocalDateTime(time);
|
||||
setModelObject(dateTime.toDate());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,9 +1,12 @@
|
||||
package se.su.dsv.scipro.date;
|
||||
|
||||
import org.apache.wicket.util.io.IClusterable;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public final class DatePickerModel implements IClusterable {
|
||||
|
||||
@ -26,8 +29,10 @@ public final class DatePickerModel implements IClusterable {
|
||||
|
||||
public void setStartDate(Date startDate) {
|
||||
if (startDate != null) {
|
||||
DateTime tmp = new DateTime(startDate);
|
||||
this.startDate = tmp.withTimeAtStartOfDay().toDate();
|
||||
Instant tmp = ZonedDateTime.ofInstant(startDate.toInstant(), ZoneId.systemDefault())
|
||||
.with(LocalTime.MIDNIGHT)
|
||||
.toInstant();
|
||||
this.startDate = Date.from(tmp);
|
||||
} else {
|
||||
this.startDate = null;
|
||||
}
|
||||
@ -39,11 +44,10 @@ public final class DatePickerModel implements IClusterable {
|
||||
|
||||
public void setEndDate(Date endDate) {
|
||||
if (endDate != null) {
|
||||
DateTime tmp = new DateTime(endDate);
|
||||
tmp = tmp.withTimeAtStartOfDay();
|
||||
tmp = tmp.minusSeconds(1);
|
||||
tmp = tmp.plusDays(1);
|
||||
this.endDate = tmp.toDate();
|
||||
final Instant tmp = ZonedDateTime.ofInstant(endDate.toInstant(), ZoneId.systemDefault())
|
||||
.with(LocalTime.MAX)
|
||||
.toInstant();
|
||||
this.endDate = Date.from(tmp);
|
||||
} else {
|
||||
this.endDate = null;
|
||||
}
|
||||
|
@ -11,13 +11,25 @@ import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LambdaModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import se.su.dsv.scipro.components.*;
|
||||
import se.su.dsv.scipro.components.AjaxCheckBoxMultipleChoice;
|
||||
import se.su.dsv.scipro.components.AjaxDropDownChoice;
|
||||
import se.su.dsv.scipro.components.AjaxRadioChoice;
|
||||
import se.su.dsv.scipro.components.AuthorAutoComplete;
|
||||
import se.su.dsv.scipro.components.EmployeeAutoComplete;
|
||||
import se.su.dsv.scipro.components.ProgramAutoComplete;
|
||||
import se.su.dsv.scipro.date.DeactivatableDatePickerPanel;
|
||||
import se.su.dsv.scipro.springdata.services.UnitService;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.system.Program;
|
||||
import se.su.dsv.scipro.system.ProjectModule;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.ProjectTypeService;
|
||||
import se.su.dsv.scipro.system.ResearchArea;
|
||||
import se.su.dsv.scipro.system.ResearchAreaService;
|
||||
import se.su.dsv.scipro.system.Unit;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
@ -184,7 +196,7 @@ public abstract class AjaxIdeaFilterPanel extends GenericPanel<IdeaService.Filte
|
||||
}
|
||||
|
||||
private void dateFilter() {
|
||||
Date startDate = new DateTime().minusYears(1).toDate();
|
||||
Date startDate = Date.from(ZonedDateTime.now().minusYears(1).toInstant());
|
||||
add(new DeactivatableDatePickerPanel("dateContainer", Model.of(startDate), new Model<>()) {
|
||||
@Override
|
||||
protected void datesChanged(final AjaxRequestTarget target) {
|
||||
|
@ -13,21 +13,27 @@ import org.apache.wicket.markup.html.link.Link;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.*;
|
||||
import org.joda.time.DateTime;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LambdaModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.model.ResourceModel;
|
||||
import se.su.dsv.scipro.components.AjaxCheckBoxMultipleChoice;
|
||||
import se.su.dsv.scipro.components.AuthorAutoComplete;
|
||||
import se.su.dsv.scipro.date.DeactivatableDatePickerPanel;
|
||||
import se.su.dsv.scipro.peer.PeerReview.ReviewStatus;
|
||||
import se.su.dsv.scipro.session.SciProSession;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.system.DegreeType;
|
||||
import se.su.dsv.scipro.system.Language;
|
||||
import se.su.dsv.scipro.system.ProjectModule;
|
||||
import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.ProjectTypeService;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.io.Serializable;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class PeerReviewStatisticsPanel extends Panel {
|
||||
|
||||
@ -61,7 +67,7 @@ public class PeerReviewStatisticsPanel extends Panel {
|
||||
private void prepareDefaultFilter() {
|
||||
filter.setProjectTypes(projectTypeService.findByDegreeTypes(EnumSet.of(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)));
|
||||
filter.setCreatedBefore(new Date());
|
||||
filter.setCreatedAfter(DateTime.now().minusMonths(6).toDate());
|
||||
filter.setCreatedAfter(Date.from(ZonedDateTime.now().minusMonths(6).toInstant()));
|
||||
}
|
||||
|
||||
private void addAuthorFilter() {
|
||||
|
@ -13,10 +13,15 @@ import org.apache.wicket.markup.html.form.EnumChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.LambdaChoiceRenderer;
|
||||
import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.model.*;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LambdaModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import se.su.dsv.scipro.components.*;
|
||||
import se.su.dsv.scipro.components.AjaxCheckBoxMultipleChoice;
|
||||
import se.su.dsv.scipro.components.EnumLambdaColumn;
|
||||
import se.su.dsv.scipro.components.ExportableDataPanel;
|
||||
import se.su.dsv.scipro.components.TemporalColumn;
|
||||
import se.su.dsv.scipro.components.datatables.UserColumn;
|
||||
import se.su.dsv.scipro.data.DetachableServiceModel;
|
||||
import se.su.dsv.scipro.dataproviders.PageAdapter;
|
||||
@ -33,6 +38,7 @@ import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.ProjectTypeService;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
@ -140,7 +146,7 @@ public class AdminFinalSeminarStatisticsPage extends AbstractAdminStatisticsPage
|
||||
|
||||
filter = new ProjectFinalSeminarStatisticsService.Filter();
|
||||
filter.setFinalSeminarCreatedBefore(new Date());
|
||||
filter.setFinalSeminarCreatedAfter(new LocalDate().minusMonths(6).toDate());
|
||||
filter.setFinalSeminarCreatedAfter(Date.from(ZonedDateTime.now().minusMonths(6).toInstant()));
|
||||
|
||||
AjaxCheckBoxMultipleChoice<ProjectType> projectType = new AjaxCheckBoxMultipleChoice<>("projectTypeFilter",
|
||||
projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)),
|
||||
|
@ -15,8 +15,6 @@ import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.LocalDate;
|
||||
import se.su.dsv.scipro.components.DateLabel;
|
||||
import se.su.dsv.scipro.date.DatePickerPanel;
|
||||
import se.su.dsv.scipro.misc.DaysService;
|
||||
@ -30,8 +28,8 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.util.Pair;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class AdminReviewerDeadlinesPage extends AbstractAdminStatisticsPage {
|
||||
private DatePickerPanel datePicker;
|
||||
@ -87,8 +85,8 @@ public class AdminReviewerDeadlinesPage extends AbstractAdminStatisticsPage {
|
||||
}
|
||||
|
||||
private void addDatePickerForm() {
|
||||
Date startDate = new DateTime().minusMonths(1).toDate();
|
||||
Date endDate = new DateTime().minusDays(1).toDate();
|
||||
Date startDate = Date.from(ZonedDateTime.now().minusMonths(1).toInstant());
|
||||
Date endDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
datePicker = new DatePickerPanel("filter", startDate, endDate);
|
||||
add(new Form<Integer>("form") {
|
||||
{
|
||||
@ -123,7 +121,7 @@ public class AdminReviewerDeadlinesPage extends AbstractAdminStatisticsPage {
|
||||
}
|
||||
|
||||
private int getLateLabel(IModel<Date> deadline, Date decisionDate) {
|
||||
Date endDate = (decisionDate == null) ? LocalDate.now().toDate() : LocalDate.fromDateFields(decisionDate).toDate();
|
||||
Date endDate = Objects.requireNonNullElseGet(decisionDate, Date::new);
|
||||
return daysService.workDaysBetween(deadline.getObject(), endDate) + 1;
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,6 @@ import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.danekja.java.util.function.serializable.SerializableFunction;
|
||||
import org.joda.time.DateTime;
|
||||
import se.su.dsv.scipro.components.DateColumn;
|
||||
import se.su.dsv.scipro.components.ExportableDataPanel;
|
||||
import se.su.dsv.scipro.components.ListAdapterModel;
|
||||
@ -26,16 +25,14 @@ import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
|
||||
public class AdminUnfinishedFinalSeminarsPage extends AbstractAdminStatisticsPage {
|
||||
private static Date SIX_MONTHS_AGO = new DateTime().plusMonths(-6).toDate();
|
||||
private static Date SEVEN_DAYS_AGO = new DateTime().plusDays(-7).toDate();
|
||||
private static Date SIX_MONTHS_AGO = Date.from(ZonedDateTime.now().minusMonths(6).toInstant());
|
||||
private static Date SEVEN_DAYS_AGO = Date.from(ZonedDateTime.now().minusDays(7).toInstant());
|
||||
@Inject
|
||||
private FinalSeminarService finalSeminarService;
|
||||
|
||||
|
@ -9,14 +9,13 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.LambdaColumn;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.form.LambdaChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import se.su.dsv.scipro.components.AjaxCheckBoxMultipleChoice;
|
||||
import se.su.dsv.scipro.components.ExportableDataPanel;
|
||||
import org.apache.wicket.markup.html.form.LambdaChoiceRenderer;
|
||||
import se.su.dsv.scipro.dataproviders.GenericDataProvider;
|
||||
import se.su.dsv.scipro.date.DatePickerPanel;
|
||||
import se.su.dsv.scipro.match.Idea;
|
||||
@ -31,6 +30,7 @@ import se.su.dsv.scipro.system.ProjectTypeService;
|
||||
import se.su.dsv.scipro.system.Unit;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class AdminUnitStatisticsPanel extends Panel {
|
||||
@ -106,7 +106,7 @@ public class AdminUnitStatisticsPanel extends Panel {
|
||||
}
|
||||
|
||||
private void addDateFilter() {
|
||||
Date countFrom = new DateTime().minusMonths(MONTHS).toDate();
|
||||
Date countFrom = Date.from(ZonedDateTime.now().minusMonths(MONTHS).toInstant());
|
||||
initParams(countFrom);
|
||||
add(new DatePickerPanel("dateFilter", countFrom) {
|
||||
@Override
|
||||
|
@ -11,8 +11,10 @@ import org.apache.wicket.markup.html.link.Link;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.*;
|
||||
import org.joda.time.DateTime;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LambdaModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import se.su.dsv.scipro.components.AjaxCheckBoxMultipleChoice;
|
||||
import se.su.dsv.scipro.components.BootstrapDateField;
|
||||
import se.su.dsv.scipro.date.DeactivatableDatePickerPanel;
|
||||
@ -28,10 +30,8 @@ import se.su.dsv.scipro.system.ProjectTypeService;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.io.Serializable;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class MilestoneStatisticsPanel extends Panel {
|
||||
|
||||
@ -88,7 +88,7 @@ public class MilestoneStatisticsPanel extends Panel {
|
||||
filter.setProjectStatuses(EnumSet.of(ProjectStatus.ACTIVE));
|
||||
filter.setMileStoneCompletedBefore(new Date());
|
||||
filter.setProjectStartedBefore(new Date());
|
||||
filter.setProjectStartedAfter(DateTime.now().minusMonths(6).toDate());
|
||||
filter.setProjectStartedAfter(Date.from(ZonedDateTime.now().minusMonths(6).toInstant()));
|
||||
}
|
||||
|
||||
private void addProjectTypeFilter() {
|
||||
|
@ -3,7 +3,6 @@ package se.su.dsv.scipro.finalseminar;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.link.ResourceLink;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import se.su.dsv.scipro.SciProTest;
|
||||
@ -19,8 +18,8 @@ import se.su.dsv.scipro.test.ObjectMother;
|
||||
import se.su.dsv.scipro.test.SeminarBuilder;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class DownloadPdfReportPanelTest extends SciProTest {
|
||||
|
||||
@ -35,7 +34,8 @@ public class DownloadPdfReportPanelTest extends SciProTest {
|
||||
uploader = new UserBuilder().create();
|
||||
setLoggedInAs(uploader);
|
||||
seminar = new SeminarBuilder().create();
|
||||
seminar.setStartDate(new DateTime().plusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
seminar.setStartDate(startDate);
|
||||
List<FinalSeminarOpposition> oppositions = new ArrayList<>();
|
||||
FinalSeminarOpposition e = new FinalSeminarOpposition();
|
||||
e.setUser(ObjectMother.SOME_USER);
|
||||
|
@ -2,7 +2,6 @@ package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.util.tester.FormTester;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentMatchers;
|
||||
@ -17,7 +16,9 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.DomainObjects;
|
||||
import se.su.dsv.scipro.util.Either;
|
||||
|
||||
import java.util.Date;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@ -49,7 +50,7 @@ public class MoveFinalSeminarPanelTest extends SciProTest {
|
||||
project.setHeadSupervisor(supervisor);
|
||||
seminar = new FinalSeminar();
|
||||
seminar.setProject(project);
|
||||
seminar.setStartDate(calculateDateByInterval(365).toDate());
|
||||
seminar.setStartDate(calculateDateByInterval(365));
|
||||
seminar.setRoom("6405");
|
||||
seminar.setPresentationLanguage(Language.ENGLISH);
|
||||
project.setLanguage(Language.ENGLISH);
|
||||
@ -59,7 +60,8 @@ public class MoveFinalSeminarPanelTest extends SciProTest {
|
||||
public void changing_date_should_send_notification() {
|
||||
DomainObjects.injectId(seminar, 3232L);
|
||||
FormTester formTester = tester.newFormTester(path(panel, MOVE_FORM));
|
||||
formTester.setValue(DATE, calculateDateByInterval(100).toString(DateStyle.DATETIME.getFormat()));
|
||||
final SimpleDateFormat dateFormat = new SimpleDateFormat(DateStyle.DATETIME.getFormat());
|
||||
formTester.setValue(DATE, dateFormat.format(calculateDateByInterval(100)));
|
||||
formTester.submit();
|
||||
tester.assertNoErrorMessage();
|
||||
verifyNotificationSent(SeminarEvent.Event.DATE_CHANGED);
|
||||
@ -69,9 +71,7 @@ public class MoveFinalSeminarPanelTest extends SciProTest {
|
||||
verify(notificationController).notifySeminar(ArgumentMatchers.eq(seminar), ArgumentMatchers.eq(event), any(NotificationSource.class));
|
||||
}
|
||||
|
||||
private DateTime calculateDateByInterval(int numberOfDays) {
|
||||
DateTime startDate = new DateTime();
|
||||
startDate.plusDays(numberOfDays);
|
||||
return startDate;
|
||||
private Date calculateDateByInterval(int numberOfDays) {
|
||||
return Date.from(ZonedDateTime.now().plusDays(numberOfDays).toInstant());
|
||||
}
|
||||
}
|
@ -4,7 +4,6 @@ import org.apache.wicket.markup.html.border.Border;
|
||||
import org.apache.wicket.markup.html.form.TextArea;
|
||||
import org.apache.wicket.request.mapper.parameter.PageParameters;
|
||||
import org.apache.wicket.util.tester.FormTester;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@ -30,9 +29,8 @@ import se.su.dsv.scipro.test.UserBuilder;
|
||||
import se.su.dsv.scipro.util.PageParameterKeys;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static se.su.dsv.scipro.finalseminar.OppositionReportPage.FILL_OUT_REPORT;
|
||||
@ -173,7 +171,8 @@ public class OppositionReportPageTest extends SciProTest {
|
||||
FinalSeminar finalSeminar = new FinalSeminar();
|
||||
finalSeminar.setProject(project);
|
||||
finalSeminar.setDocument(createFileDescription());
|
||||
finalSeminar.setStartDate(new DateTime().plusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
return finalSeminar;
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,6 @@ import org.apache.wicket.feedback.FencedFeedbackPanel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.hamcrest.MatcherAssert;
|
||||
import org.hamcrest.core.StringContains;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
@ -23,7 +22,8 @@ import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.Matchers.hasItem;
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarActiveParticipantsPanel.*;
|
||||
@ -43,7 +43,8 @@ public class SeminarActiveParticipantsPanelTest extends SciProTest {
|
||||
finalSeminarActiveParticipation.setUser(new UserBuilder().create());
|
||||
participants = Lists.newArrayList(finalSeminarActiveParticipation);
|
||||
finalSeminar = new FinalSeminar();
|
||||
finalSeminar.setStartDate(new DateTime().minusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
User supervisorUser = new UserBuilder().create();
|
||||
finalSeminar.setProject(Project.builder()
|
||||
.title("title")
|
||||
@ -105,7 +106,8 @@ public class SeminarActiveParticipantsPanelTest extends SciProTest {
|
||||
|
||||
@Test
|
||||
public void radios_invisible_if_seminar_is_in_the_future() {
|
||||
finalSeminar.setStartDate(new DateTime().plusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
startPanel();
|
||||
tester.assertInvisible(path(panel, PARTICIPANTS, 0, RADIOS));
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import org.apache.wicket.feedback.FeedbackMessage;
|
||||
import org.apache.wicket.markup.html.form.RequiredTextField;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.util.tester.FormTester;
|
||||
import org.joda.time.MutableDateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
@ -24,14 +23,16 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.DomainObjects;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.hasItem;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarCRUDPanel.*;
|
||||
|
||||
public class SeminarCRUDPanelTest extends SciProTest {
|
||||
@ -253,8 +254,7 @@ public class SeminarCRUDPanelTest extends SciProTest {
|
||||
}
|
||||
|
||||
private Date oneYearFromNow() {
|
||||
MutableDateTime startDate = new MutableDateTime();
|
||||
startDate.addDays(365);
|
||||
return SciProUtilities.setTimeOfDayTo0000(startDate.toDate());
|
||||
final Date date = Date.from(ZonedDateTime.now().plusYears(1).toInstant());
|
||||
return SciProUtilities.setTimeOfDayTo0000(date);
|
||||
}
|
||||
}
|
@ -3,7 +3,6 @@ package se.su.dsv.scipro.finalseminar;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.wicket.feedback.FencedFeedbackPanel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
@ -18,7 +17,8 @@ import se.su.dsv.scipro.test.DomainObjects;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarOppositionPanel.*;
|
||||
|
||||
@ -44,7 +44,8 @@ public class SeminarOppositionPanelTest extends SciProTest {
|
||||
|
||||
finalSeminar = new FinalSeminar();
|
||||
opposition.setFinalSeminar(finalSeminar);
|
||||
finalSeminar.setStartDate(new DateTime().minusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
finalSeminar.setOppositions(opponents);
|
||||
|
||||
supervisorUser = new UserBuilder().create();
|
||||
|
@ -3,7 +3,6 @@ package se.su.dsv.scipro.finalseminar;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
@ -20,9 +19,8 @@ import se.su.dsv.scipro.test.DomainObjects;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.TreeSet;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
public class SeminarOppositionReportPanelTest extends SciProTest {
|
||||
|
||||
@ -48,7 +46,8 @@ public class SeminarOppositionReportPanelTest extends SciProTest {
|
||||
|
||||
finalSeminar = new FinalSeminar();
|
||||
opposition.setFinalSeminar(finalSeminar);
|
||||
finalSeminar.setStartDate(new DateTime().minusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
finalSeminar.setOppositions(opponents);
|
||||
|
||||
User supervisorUser = new UserBuilder().create();
|
||||
|
@ -1,7 +1,6 @@
|
||||
package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
@ -18,10 +17,8 @@ import se.su.dsv.scipro.test.DomainObjects;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
|
||||
@ -55,7 +52,8 @@ public class SeminarPanelTest extends SciProTest {
|
||||
|
||||
addCoSupervisorToProject();
|
||||
|
||||
SOME_FINAL_SEMINAR = mockSeminar(new DateTime().minusDays(1).toDate(), null);
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
SOME_FINAL_SEMINAR = mockSeminar(startDate, null);
|
||||
SOME_FINAL_SEMINAR.setDocument(addThesis());
|
||||
Mockito.when(finalSeminarSettingsService.getInstance()).thenReturn(finalSeminarSettings);
|
||||
Mockito.when(finalSeminarSettings.getDaysAheadToCreate()).thenReturn(1);
|
||||
|
@ -2,7 +2,6 @@ package se.su.dsv.scipro.finalseminar;
|
||||
|
||||
import org.apache.wicket.feedback.FencedFeedbackPanel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentMatchers;
|
||||
@ -16,10 +15,13 @@ import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarRespondentsPanel.*;
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarRespondentsPanel.FEEDBACK;
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarRespondentsPanel.RADIOS;
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarRespondentsPanel.RESPONDENTS;
|
||||
import static se.su.dsv.scipro.finalseminar.SeminarRespondentsPanel.USER;
|
||||
|
||||
public class SeminarRespondentsPanelTest extends SciProTest {
|
||||
|
||||
@ -30,7 +32,8 @@ public class SeminarRespondentsPanelTest extends SciProTest {
|
||||
@BeforeEach
|
||||
public void setUp() throws Exception {
|
||||
finalSeminar = new FinalSeminar();
|
||||
finalSeminar.setStartDate(new DateTime().minusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().minusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
User supervisorUser = new UserBuilder().create();
|
||||
finalSeminar.setProject(Project.builder()
|
||||
.title("title")
|
||||
@ -90,7 +93,8 @@ public class SeminarRespondentsPanelTest extends SciProTest {
|
||||
|
||||
@Test
|
||||
public void radios_invisible_if_seminar_is_in_the_future() {
|
||||
finalSeminar.setStartDate(new DateTime().plusDays(1).toDate());
|
||||
final Date startDate = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
finalSeminar.setStartDate(startDate);
|
||||
startPanel();
|
||||
tester.assertInvisible(path(panel, RESPONDENTS, 0, RADIOS));
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ package se.su.dsv.scipro.finalseminar;
|
||||
import org.apache.wicket.Component;
|
||||
import org.apache.wicket.feedback.FencedFeedbackPanel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.jfree.data.time.Month;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@ -22,6 +22,8 @@ import se.su.dsv.scipro.test.ObjectMother;
|
||||
import se.su.dsv.scipro.test.UserBuilder;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.isA;
|
||||
@ -66,7 +68,7 @@ public class SeminarThesisPanelTest extends SciProTest {
|
||||
@Test
|
||||
public void DeadlineInformationContainsDeadlineDate() {
|
||||
// given
|
||||
DateTime seminarDate = new DateTime(2012, 4, 21, 10, 10, 0, 0);
|
||||
ZonedDateTime seminarDate = ZonedDateTime.of(2012, Month.APRIL, 21, 10, 10, 0, 0, ZoneId.systemDefault());
|
||||
int daysAhead = 10;
|
||||
|
||||
FinalSeminarSettings settings = new FinalSeminarSettings();
|
||||
@ -74,10 +76,11 @@ public class SeminarThesisPanelTest extends SciProTest {
|
||||
|
||||
FinalSeminar seminar = new FinalSeminar();
|
||||
seminar.setDocument(null);
|
||||
seminar.setStartDate(seminarDate.toDate());
|
||||
seminar.setStartDate(Date.from(seminarDate.toInstant()));
|
||||
|
||||
// when
|
||||
when(finalSeminarService.thesisUploadDeadline(isA(FinalSeminar.class))).thenReturn(seminarDate.minusDays(daysAhead).toDate());
|
||||
Date deadline = Date.from(seminarDate.minusDays(daysAhead).toInstant());
|
||||
when(finalSeminarService.thesisUploadDeadline(isA(FinalSeminar.class))).thenReturn(deadline);
|
||||
|
||||
startPanel(seminar);
|
||||
|
||||
@ -89,7 +92,7 @@ public class SeminarThesisPanelTest extends SciProTest {
|
||||
Assertions.assertTrue(modelObject instanceof Date, "Date components model is not a date");
|
||||
|
||||
Date date = (Date) modelObject;
|
||||
Assertions.assertEquals(seminarDate.minusDays(daysAhead).toDate(), date, "Does not display correct date");
|
||||
Assertions.assertEquals(deadline, date, "Does not display correct date");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -2,7 +2,6 @@ package se.su.dsv.scipro.firstmeeting;
|
||||
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.util.tester.FormTester;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@ -23,7 +22,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
|
||||
import static java.lang.String.format;
|
||||
import static se.su.dsv.scipro.firstmeeting.FirstMeetingPanel.*;
|
||||
@ -117,7 +116,7 @@ public class FirstMeetingPanelTest extends SciProTest {
|
||||
@Test
|
||||
public void not_able_to_submit_a_date_before_today() {
|
||||
startPanel();
|
||||
Date notAllowedDate = new DateTime().minusDays(3).toDate();
|
||||
Date notAllowedDate = Date.from(ZonedDateTime.now().minusDays(3).toInstant());
|
||||
submitForm(notAllowedDate);
|
||||
|
||||
tester.assertErrorMessages(panel.getString("DateValidator.minimum"));
|
||||
@ -137,7 +136,7 @@ public class FirstMeetingPanelTest extends SciProTest {
|
||||
}
|
||||
|
||||
private Date createDateThreeDaysFromNow() {
|
||||
return new DateTime().plusDays(3).toDate();
|
||||
return Date.from(ZonedDateTime.now().plusDays(3).toInstant());
|
||||
}
|
||||
|
||||
private void submitForm(Date meetingDate) {
|
||||
|
@ -2,7 +2,6 @@ package se.su.dsv.scipro.milestones.panels;
|
||||
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import se.su.dsv.scipro.SciProTest;
|
||||
|
@ -1,7 +1,6 @@
|
||||
package se.su.dsv.scipro.peer;
|
||||
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@ -15,11 +14,13 @@ import se.su.dsv.scipro.system.ProjectType;
|
||||
import se.su.dsv.scipro.system.ProjectTypeSettings;
|
||||
import se.su.dsv.scipro.test.DomainObjects;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class ExpiredRequestWorkerTest {
|
||||
@ -73,7 +74,8 @@ public class ExpiredRequestWorkerTest {
|
||||
project.setProjectType(pClass);
|
||||
|
||||
expiredRequest.setProject(project);
|
||||
expiredRequest.setDateCreated(new DateTime().minusDays(expirationDays + 1).toDate());
|
||||
final Date dateCreated = Date.from(ZonedDateTime.now().minusDays(expirationDays + 1).toInstant());
|
||||
expiredRequest.setDateCreated(dateCreated);
|
||||
currentRequest.setProject(project);
|
||||
currentRequest.setDateCreated(new Date());
|
||||
|
||||
|
@ -3,7 +3,6 @@ package se.su.dsv.scipro.peer;
|
||||
import org.apache.wicket.feedback.FeedbackMessage;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.request.mapper.parameter.PageParameters;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import se.su.dsv.scipro.SciProTest;
|
||||
@ -15,6 +14,7 @@ import se.su.dsv.scipro.util.PageParameterKeys;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
@ -37,7 +37,7 @@ public class MyPeerPanelTest extends SciProTest {
|
||||
@BeforeEach
|
||||
public void setUp() throws Exception {
|
||||
requestDate = new Date();
|
||||
reviewDate = new DateTime().plusDays(3).toDate();
|
||||
reviewDate = Date.from(ZonedDateTime.now().plusDays(3).toInstant());
|
||||
mockExistingPeers(getRequests(RequestStatus.WAITING), getReviews());
|
||||
startPanel();
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package se.su.dsv.scipro.peer;
|
||||
import org.apache.wicket.markup.html.WebPage;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.request.mapper.parameter.PageParameters;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import se.su.dsv.scipro.SciProTest;
|
||||
@ -13,10 +12,8 @@ import se.su.dsv.scipro.test.ObjectMother;
|
||||
import se.su.dsv.scipro.util.PageParameterKeys;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.*;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
import static se.su.dsv.scipro.peer.PeerSummaryPanel.*;
|
||||
@ -33,8 +30,10 @@ public class PeerSummaryPanelTest extends SciProTest {
|
||||
public void setUp() throws Exception {
|
||||
User author = User.builder().firstName("author").lastName("author").emailAddress("author@author.com").build();
|
||||
author.setId(4L);
|
||||
reviewReceived = createReview(1L, new DateTime().plusDays(1).toDate(), User.builder().firstName("reviewer").lastName("1").emailAddress("reviewer@example.com").build());
|
||||
reviewPerformed = createReview(2L, new DateTime().plusDays(3).toDate(), User.builder().firstName("reviewer").lastName("2").emailAddress("reviewer@example.com").build());
|
||||
Date reviewReceivedDate = Date.from(ZonedDateTime.now().plusDays(1).toInstant());
|
||||
reviewReceived = createReview(1L, reviewReceivedDate, User.builder().firstName("reviewer").lastName("1").emailAddress("reviewer@example.com").build());
|
||||
Date reviewPerformedDate = Date.from(ZonedDateTime.now().plusDays(3).toInstant());
|
||||
reviewPerformed = createReview(2L, reviewPerformedDate, User.builder().firstName("reviewer").lastName("2").emailAddress("reviewer@example.com").build());
|
||||
project = Project.builder().title("title").projectType(ObjectMother.BACHELOR).startDate(LocalDate.now()).build();
|
||||
project.addProjectParticipant(author);
|
||||
setLoggedInAs(author);
|
||||
|
Loading…
x
Reference in New Issue
Block a user