Java 类org.joda.time.DateMidnight 实例源码
项目:Rapture
文件:ScheduleApiImpl.java
private TimedEventRecord getEventRecordForJob(CallingContext context, String jobUri) {
RaptureJob job = retrieveJob(context, jobUri);
CronParser parser = MultiCronParser.create(job.getCronSpec());
DateTime midnight = DateMidnight.now().toDateTime(DateTimeZone.forID(job.getTimeZone()));
DateTime nextRunDate = parser.nextRunDate(midnight);
if (nextRunDate != null) {
TimedEventRecord record = new TimedEventRecord();
record.setEventName(job.getDescription());
record.setEventContext(jobUri);
record.setInfoContext(job.getActivated().toString());
record.setWhen(nextRunDate.toDate());
return record;
} else {
return null;
}
}
项目:Hammerhead-StatsCollector
文件:GerritReviewController.java
public GerritAuthorsAndReviewersList getCommitAuthors(final String changeStatus, String projectFilterString,
final String projectFilterOutString,
DateTime startDate, DateTime endDate) throws IOException, URISyntaxException {
if(null == changeStatus || changeStatus.isEmpty()) {
throw new RuntimeException("Error change status cannot be null");
}
if(null == projectFilterString) {
projectFilterString = ALL_REGEX;
}
if(null == startDate) {
startDate = new DateTime(0);
}
if(null == endDate) {
// Search far enough into future to offset any chance of incorrect
// time syncs between servers.
endDate = new DateMidnight().plusYears(CURRENT_TIME_OFFSET).toDateTime();
}
return statisticsService.getCommitAuthors(changeStatus, projectFilterString, projectFilterOutString, startDate,
endDate);
}
项目:Hammerhead-StatsCollector
文件:GerritReviewController.java
public GerritReviewStats getReviewStatistics(final String changeStatus, String projectFilterString,
String projectFilterOutString,
DateTime startDate, DateTime endDate) throws IOException, URISyntaxException {
if(null == changeStatus || changeStatus.isEmpty()) {
throw new RuntimeException("Error change status cannot be null");
}
if(null == projectFilterString) {
projectFilterString = ALL_REGEX;
}
if(null == projectFilterOutString) {
projectFilterOutString = "";
}
if(null == startDate) {
startDate = new DateTime(0);
}
if(null == endDate) {
// Search far enough into future to offset any chance of incorrect
// time syncs between servers.
endDate = new DateMidnight().plusYears(CURRENT_TIME_OFFSET).toDateTime();
}
return statisticsService.getReviewStatistics(changeStatus, projectFilterString, projectFilterOutString,
startDate, endDate);
}
项目:welshare
文件:ActivitySessionService.java
/**
* static method for calculating the current value of the "onlineSecondsToday" field. Usually returns the same value, unless
* @param user
* @return
*/
public static boolean shouldResetOnlineSecondsToday(User user) {
DateTimeZone timeZone = null;
try {
timeZone = DateTimeZone.forID(user.getProfile().getTimeZoneId());
} catch (IllegalArgumentException ex) {
logger.warn("No time zone found for ID=" + user.getProfile().getTimeZoneId());
// zone not found
timeZone = DateTimeZone.UTC;
}
// if the last login is yesterday, set the secondsToday to zero
if (new DateTime(user.getLastLogin(), DateTimeZone.forID("GMT")).isBefore(new DateMidnight(timeZone))) {
return true;
}
return false;
}
项目:astor
文件:TestConverterSet.java
public void testBigHashtable() {
Converter[] array = new Converter[] {
c1, c2, c3, c4,
};
ConverterSet set = new ConverterSet(array);
set.select(Boolean.class);
set.select(Character.class);
set.select(Byte.class);
set.select(Short.class);
set.select(Integer.class);
set.select(Long.class);
set.select(Float.class);
set.select(Double.class);
set.select(null);
set.select(Calendar.class);
set.select(GregorianCalendar.class);
set.select(DateTime.class);
set.select(DateMidnight.class);
set.select(ReadableInstant.class);
set.select(ReadableDateTime.class);
set.select(ReadWritableInstant.class); // 16
set.select(ReadWritableDateTime.class);
set.select(DateTime.class);
assertEquals(4, set.size());
}
项目:astor
文件:TestConverterSet.java
public void testBigHashtable() {
Converter[] array = new Converter[] {
c1, c2, c3, c4,
};
ConverterSet set = new ConverterSet(array);
set.select(Boolean.class);
set.select(Character.class);
set.select(Byte.class);
set.select(Short.class);
set.select(Integer.class);
set.select(Long.class);
set.select(Float.class);
set.select(Double.class);
set.select(null);
set.select(Calendar.class);
set.select(GregorianCalendar.class);
set.select(DateTime.class);
set.select(DateMidnight.class);
set.select(ReadableInstant.class);
set.select(ReadableDateTime.class);
set.select(ReadWritableInstant.class); // 16
set.select(ReadWritableDateTime.class);
set.select(DateTime.class);
assertEquals(4, set.size());
}
项目:edemocracia
文件:ContadorAcessoLocalServiceImpl.java
/**
* @param companyId
* @return
* @throws SystemException
*/
private DateMidnight getMenorMes(long companyId) throws SystemException {
Date menorDataMessage = buscaData(
"select min(createDate) from MBMessage where companyId = ?",
companyId);
Date menorDataChat = buscaData(
"select min(a.messageTS) from CDChat_ChatRoomMessage a "
+ "JOIN CDChat_ChatRoom b ON a.chatRoomId = b.roomId "
+ "JOIN Group_ c on b.groupId = c.groupId "
+ "WHERE a.messageType = 0 and a.messageStatus = 1 and c.companyId = ?",
companyId);
if (menorDataMessage == null) // Se não tiver nenhuma mensagem
menorDataMessage = new Date();
if (menorDataChat == null)
menorDataChat = new Date();
Date menorData = menorDataMessage.before(menorDataChat) ? menorDataMessage
: menorDataChat;
DateMidnight mes = new DateMidnight(menorData.getTime(),
DateTimeZone.forTimeZone(TimeZoneUtil.getDefault()));
mes = mes.withDayOfMonth(1);
return mes;
}
项目:btrbck
文件:StreamServiceUnitTest.java
@SuppressWarnings("deprecation")
@Test
public void testIsSnapshotRequired() throws Exception {
StreamService service = new StreamService();
Period period = Period.days(2);
Collection<Snapshot> snapshots = new ArrayList<>();
snapshots.add(new Snapshot(0, new DateTime(2014, 1, 1, 0, 0), null));
snapshots.add(new Snapshot(0, new DateTime(2014, 1, 2, 0, 0), null));
snapshots.add(new Snapshot(0, new DateTime(2014, 1, 3, 0, 0), null));
assertThat(service.isSnapshotRequired(
new DateMidnight(2014, 1, 3).toInstant(), period, snapshots),
is(false));
assertThat(service.isSnapshotRequired(
new DateMidnight(2014, 1, 4).toInstant(), period, snapshots),
is(false));
assertThat(service.isSnapshotRequired(
new DateMidnight(2014, 1, 5).toInstant(), period, snapshots),
is(true));
}
项目:manydesigns.cn
文件:AbstractWeek.java
public AbstractWeek(DateMidnight weekStart, DateMidnight weekEnd) {
this.weekStart = weekStart;
this.weekEnd = weekEnd;
weekInterval = new Interval(weekStart, weekEnd);
AbstractMonthView.logger.debug("Week interval: {}", weekInterval);
AbstractMonthView.logger.debug("Initializing days");
days = createDaysArray(7);
DateMidnight dayStart = weekStart;
for (int i = 0; i < 7; i++) {
DateMidnight dayEnd = dayStart.plusDays(1);
days[i] = createDay(dayStart, dayEnd);
dayStart = dayEnd;
}
}
项目:manydesigns.cn
文件:AbstractMonth.java
public AbstractMonth(DateMidnight referenceDateMidnight) {
logger.debug("Initializing month");
this.referenceDateMidnight = referenceDateMidnight;
logger.debug("Reference date midnight: {}", referenceDateMidnight);
monthStart = referenceDateMidnight.withDayOfMonth(1);
monthEnd = monthStart.plusMonths(1);
monthInterval = new Interval(monthStart, monthEnd);
logger.debug("Month interval: {}", monthInterval);
daysCount = Days.daysIn(monthInterval).getDays();
logger.debug("Initializing {} days", daysCount);
days = createDaysArray(daysCount);
DateMidnight dayStart = monthStart;
for (int i = 0; i < daysCount; i++) {
DateMidnight dayEnd = dayStart.plusDays(1);
days[i] = createDay(dayStart, dayEnd);
// advance to next day
dayStart = dayEnd;
}
}
项目:kha
文件:GetProbeDataCommand.java
public GetProbeDataCommand(String probeID, String token, ZibaseDeviceConfiguration configuration,
CloseableHttpAsyncClient httpClient, ObjectMapper mapper, DateMidnight... date) {
super(Setter
.withGroupKey(HystrixCommandGroupKey.Factory.asKey("Zibase"))
.andCommandKey(HystrixCommandKey.Factory.asKey("GetProbeData"))
);
this.probeID = probeID;
if (date.length == 1) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy").withLocale(Locale.FRENCH);
String dateString = formatter.print(date[0]);
this.requestURL = String.format("%s?zibase=%s&token=%s&service=get&target=probe&id=%s&historic=%s",
configuration.getUrl(), configuration.getZibaseID(), token, probeID, dateString);
} else {
this.requestURL = String.format("%s?zibase=%s&token=%s&service=get&target=probe&id=%s",
configuration.getUrl(), configuration.getZibaseID(), token, probeID);
}
this.httpClient = httpClient;
this.mapper = mapper;
}
项目:common-resteasy
文件:DateConverterTest.java
@Test
public void testConvertFromString() {
Date date = new DateMidnight(2013, 12, 11).toDate();
Date seconds = new DateTime(2013, 12, 11, 5, 35, 22).toDate();
Date minutes = new DateTime(2013, 12, 11, 5, 35).toDate();
assertThat(dateConverter.fromString("2013-12-11 5:35")).isEqualTo(minutes);
assertThat(dateConverter.fromString("2013-12-11 05:35:22")).isEqualTo(seconds);
assertThat(dateConverter.fromString("2013-12-11T05:35:22")).isEqualTo(seconds);
assertThat(dateConverter.fromString("2013-12-11")).isEqualTo(date);
assertThat(dateConverter.fromString("11/12/2013")).isEqualTo(date);
assertThat(dateConverter.fromString("20131211053522")).isEqualTo(seconds);
assertThat(dateConverter.fromString("Wed Dec 11 05:35:22 2013")).isEqualTo(seconds); // ASCTIME
assertThat(dateConverter.fromString(null)).isNull();
}
项目:common-resteasy
文件:RestJsonMapperTest.java
@Test
public void testSerialization() throws Exception {
RestJsonMapper mapper = new RestJsonMapper();
DatesAndTimesTo to = new DatesAndTimesTo();
to.setDate(new Date(114 /*+1900 = 2014*/, 1 /* this is februari */, 14, 10, 11, 12));
to.setLocalDate(LocalDate.of(2014, 2, 14));
to.setLocalDateTime(LocalDateTime.of(2014, 2, 14, 10, 11, 12));
to.setJodaDateTime(new DateTime(2014, 2, 14, 10, 11, 12));
to.setJodaDate(new DateMidnight(2014, 2, 14));
String res = mapper.writeValueAsString(to);
System.out.println(res);
assertThat(res).contains("\"date\":\"2014-02-14T10:11:12\"");
assertThat(res).contains("\"localDate\":\"2014-02-14\"");
assertThat(res).contains("\"localDateTime\":\"2014-02-14T10:11:12\"");
assertThat(res).contains("\"jodaDateTime\":\"2014-02-14T"); // ignore time as this changes with timezone
assertThat(res).contains("\"jodaDate\":\"2014-02-"); // ignore date as this is the date after conversion to GMT
}
项目:urlaubsverwaltung
文件:SickNoteValidatorTest.java
@Test
public void ensureWorkingTimeConfigurationMustExistForPeriodOfSickNote() {
DateMidnight startDate = new DateMidnight(2015, DateTimeConstants.MARCH, 1);
DateMidnight endDate = new DateMidnight(2015, DateTimeConstants.MARCH, 10);
sickNote.setStartDate(startDate);
sickNote.setEndDate(endDate);
Mockito.when(workingTimeService.getByPersonAndValidityDateEqualsOrMinorDate(Mockito.any(Person.class),
Mockito.any(DateMidnight.class)))
.thenReturn(Optional.empty());
validator.validate(sickNote, errors);
Mockito.verify(workingTimeService).getByPersonAndValidityDateEqualsOrMinorDate(sickNote.getPerson(), startDate);
Mockito.verify(errors).reject("sicknote.error.noValidWorkingTime");
}
项目:urlaubsverwaltung
文件:VacationControllerTest.java
@Test
public void ensureCorrectConversionOfVacations() throws Exception {
Application vacation1 = TestDataCreator.createApplication(TestDataCreator.createPerson("foo"),
new DateMidnight(2016, 5, 19), new DateMidnight(2016, 5, 20), DayLength.FULL);
vacation1.setStatus(ApplicationStatus.ALLOWED);
Application vacation2 = TestDataCreator.createApplication(TestDataCreator.createPerson("bar"),
new DateMidnight(2016, 4, 5), new DateMidnight(2016, 4, 10), DayLength.FULL);
Mockito.when(applicationServiceMock.getApplicationsForACertainPeriodAndState(Mockito.any(DateMidnight.class),
Mockito.any(DateMidnight.class), Mockito.any(ApplicationStatus.class)))
.thenReturn(Arrays.asList(vacation1, vacation2));
mockMvc.perform(get("/api/vacations").param("from", "2016-01-01").param("to", "2016-12-31"))
.andExpect(status().isOk())
.andExpect(content().contentType("application/json;charset=UTF-8"))
.andExpect(jsonPath("$.response").exists())
.andExpect(jsonPath("$.response.vacations").exists())
.andExpect(jsonPath("$.response.vacations", hasSize(2)))
.andExpect(jsonPath("$.response.vacations[0].from", is("2016-05-19")))
.andExpect(jsonPath("$.response.vacations[0].to", is("2016-05-20")))
.andExpect(jsonPath("$.response.vacations[0].person").exists())
.andExpect(jsonPath("$.response.vacations[0].person.ldapName", is("foo")));
}
项目:urlaubsverwaltung
文件:VacationDaysServiceTest.java
@Before
public void setUp() throws IOException {
applicationService = Mockito.mock(ApplicationService.class);
nowService = Mockito.mock(NowService.class);
WorkingTimeService workingTimeService = Mockito.mock(WorkingTimeService.class);
// create working time object (MON-FRI)
WorkingTime workingTime = new WorkingTime();
List<Integer> workingDays = Arrays.asList(DateTimeConstants.MONDAY, DateTimeConstants.TUESDAY,
DateTimeConstants.WEDNESDAY, DateTimeConstants.THURSDAY, DateTimeConstants.FRIDAY);
workingTime.setWorkingDays(workingDays, DayLength.FULL);
Mockito.when(workingTimeService.getByPersonAndValidityDateEqualsOrMinorDate(Mockito.any(Person.class),
Mockito.any(DateMidnight.class)))
.thenReturn(Optional.of(workingTime));
SettingsService settingsService = Mockito.mock(SettingsService.class);
Mockito.when(settingsService.getSettings()).thenReturn(new Settings());
WorkDaysService calendarService = new WorkDaysService(new PublicHolidaysService(settingsService),
workingTimeService, settingsService);
vacationDaysService = new VacationDaysService(calendarService, nowService, applicationService);
}
项目:replyit-master-3.2-final
文件:PriceModelDTOTest.java
public void testGetPriceForDate() {
SortedMap<Date, PriceModelDTO> prices = new TreeMap<Date, PriceModelDTO>();
prices.put(CommonConstants.EPOCH_DATE, new PriceModelDTO(PriceModelStrategy.METERED, new BigDecimal("0.10"), null));
prices.put(new DateMidnight(2011, 6, 1).toDate(), new PriceModelDTO(PriceModelStrategy.METERED, new BigDecimal("0.20"), null));
prices.put(new DateMidnight(2011, 8, 1).toDate(), new PriceModelDTO(PriceModelStrategy.METERED, new BigDecimal("0.30"), null));
// a price sometime after 1970-1-1 (epoch)
PriceModelDTO model = PriceModelBL.getPriceForDate(prices, new DateMidnight(1985, 2, 4).toDate());
assertEquals("should get epoch pricing", new BigDecimal("0.10"), model.getRate());
// price model the day before the june price takes effect
model = PriceModelBL.getPriceForDate(prices, new DateMidnight(2011, 5, 31).toDate());
assertEquals("should get epoch pricing", new BigDecimal("0.10"), model.getRate());
// price model on the day that the june price takes effect (date/times equal)
model = PriceModelBL.getPriceForDate(prices, new DateMidnight(2011, 6, 1).toDate());
assertEquals("should get june pricing", new BigDecimal("0.20"), model.getRate());
// price model some day in august
model = PriceModelBL.getPriceForDate(prices, new DateMidnight(2011, 8, 15).toDate());
assertEquals("should get august pricing", new BigDecimal("0.30"), model.getRate());
}
项目:urlaubsverwaltung
文件:MailServiceImpl.java
@Override
public void sendSuccessfullyUpdatedAccountsNotification(List<Account> updatedAccounts) {
Map<String, Object> model = new HashMap<>();
model.put("accounts", updatedAccounts);
model.put("year", DateMidnight.now().getYear());
String text = mailBuilder.buildMailBody("updated_accounts", model);
// send email to office for printing statistic
mailSender.sendEmail(getMailSettings(),
RecipientUtil.getMailAddresses(
recipientService.getRecipientsWithNotificationType(MailNotification.NOTIFICATION_OFFICE)),
getTranslation("subject.account.updatedRemainingDays"), text);
// send email to manager to notify about update of accounts
sendTechnicalNotification(getTranslation("subject.account.updatedRemainingDays"), text);
}
项目:urlaubsverwaltung
文件:ApplicationInteractionServiceImplTest.java
@Test
public void ensureCancellingNotYetAllowedApplicationForLeaveChangesStateAndOtherAttributesButSendsNoEmail() {
Person person = TestDataCreator.createPerson();
Optional<String> comment = Optional.of("Foo");
Application applicationForLeave = getDummyApplication(person);
applicationForLeave.setStatus(ApplicationStatus.WAITING);
service.cancel(applicationForLeave, person, comment);
Assert.assertEquals("Wrong state", ApplicationStatus.REVOKED, applicationForLeave.getStatus());
Assert.assertEquals("Wrong person", person, applicationForLeave.getPerson());
Assert.assertEquals("Wrong canceller", person, applicationForLeave.getCanceller());
Assert.assertEquals("Wrong cancelled date", DateMidnight.now(), applicationForLeave.getCancelDate());
Assert.assertFalse("Must not be formerly allowed", applicationForLeave.isFormerlyAllowed());
Mockito.verify(applicationService).save(applicationForLeave);
Mockito.verify(commentService)
.create(eq(applicationForLeave), eq(ApplicationAction.REVOKED), eq(comment), eq(person));
Mockito.verifyZeroInteractions(mailService);
}
项目:projectforge-webapp
文件:JodaDateConverterTest.java
@Test
public void convertToString()
{
final PFUserDO user = new PFUserDO();
user.setTimeZone(DateHelper.EUROPE_BERLIN);
user.setLocale(Locale.GERMAN);
user.setDateFormat("dd.MM.yyyy");
PFUserContext.setUser(user);
JodaDateConverter conv = new JodaDateConverter();
DateMidnight testDate = createDate(1970, DateTimeConstants.NOVEMBER, 21, EUROPE_BERLIN);
assertEquals("21.11.1970", conv.convertToString(testDate, Locale.GERMAN));
user.setLocale(Locale.ENGLISH);
user.setDateFormat("MM/dd/yyyy");
conv = new JodaDateConverter();
assertEquals("11/21/1970", conv.convertToString(testDate, Locale.GERMAN));
user.setLocale(Locale.GERMAN);
user.setDateFormat("dd.MM.yyyy");
conv = new JodaDateConverter();
testDate = createDate(2009, DateTimeConstants.FEBRUARY, 1, EUROPE_BERLIN);
assertEquals("01.02.2009", conv.convertToString(testDate, Locale.GERMAN));
user.setLocale(Locale.ENGLISH);
user.setDateFormat("MM/dd/yyyy");
conv = new JodaDateConverter();
assertEquals("02/01/2009", conv.convertToString(testDate, Locale.GERMAN));
}
项目:urlaubsverwaltung
文件:VacationDaysServiceTest.java
@Test
public void testGetTotalVacationDaysForThisYearBeforeApril() {
Mockito.when(nowService.now()).thenReturn(new DateMidnight(2015, 3, 2));
initCustomService("4", "1");
Account account = new Account();
account.setValidFrom(new DateMidnight(2015, 1, 1));
account.setAnnualVacationDays(new BigDecimal("30"));
account.setVacationDays(new BigDecimal("30"));
account.setRemainingVacationDays(new BigDecimal("7"));
account.setRemainingVacationDaysNotExpiring(new BigDecimal("3"));
BigDecimal leftDays = vacationDaysService.calculateTotalLeftVacationDays(account);
Assert.assertNotNull("Should not be null", leftDays);
// total number = left vacation days + left remaining vacation days
// 32 = 30 + 2
Assert.assertEquals("Wrong number of total vacation days", new BigDecimal("32"), leftDays);
}
项目:urlaubsverwaltung
文件:ApplicationInteractionServiceImpl.java
@Override
public Application remind(Application application) throws RemindAlreadySentException,
ImpatientAboutApplicationForLeaveProcessException {
DateMidnight remindDate = application.getRemindDate();
if (remindDate == null) {
DateMidnight minDateForNotification = application.getApplicationDate()
.plusDays(MIN_DAYS_LEFT_BEFORE_REMINDING_IS_POSSIBLE);
if (minDateForNotification.isAfterNow()) {
throw new ImpatientAboutApplicationForLeaveProcessException("It's too early to remind the bosses!");
}
}
if (remindDate != null && remindDate.isEqual(DateMidnight.now())) {
throw new RemindAlreadySentException("Reminding is possible maximum one time per day!");
}
mailService.sendRemindBossNotification(application);
application.setRemindDate(DateMidnight.now());
applicationService.save(application);
return application;
}
项目:urlaubsverwaltung
文件:PersonDataProvider.java
Person createTestPerson(String login, String password, String firstName, String lastName, String email,
Role... roles) throws NoSuchAlgorithmException {
List<Role> permissions = Arrays.asList(roles);
List<MailNotification> notifications = getNotificationsForRoles(permissions);
Person person = personService.create(login, lastName, firstName, email, notifications, permissions);
// workaround for non generated password
person.setPassword(CryptoUtil.encodePassword(password));
personService.save(person);
int currentYear = DateMidnight.now().getYear();
workingTimeService.touch(
Arrays.asList(WeekDay.MONDAY.getDayOfWeek(), WeekDay.TUESDAY.getDayOfWeek(),
WeekDay.WEDNESDAY.getDayOfWeek(), WeekDay.THURSDAY.getDayOfWeek(), WeekDay.FRIDAY.getDayOfWeek()),
Optional.empty(), new DateMidnight(currentYear - 1, 1, 1), person);
accountInteractionService.createHolidaysAccount(person, DateUtil.getFirstDayOfYear(currentYear),
DateUtil.getLastDayOfYear(currentYear), new BigDecimal("30"), new BigDecimal("30"), new BigDecimal("5"),
BigDecimal.ZERO, null);
return person;
}
项目:urlaubsverwaltung
文件:ApplicationForLeaveStatisticsBuilderTest.java
@Test
public void ensureCalculatesLeftVacationDaysAndLeftOvertimeCorrectly() {
DateMidnight from = new DateMidnight(2015, 1, 1);
DateMidnight to = new DateMidnight(2015, 12, 31);
Person person = Mockito.mock(Person.class);
Account account = Mockito.mock(Account.class);
Mockito.when(accountService.getHolidaysAccount(2015, person)).thenReturn(Optional.of(account));
Mockito.when(overtimeService.getLeftOvertimeForPerson(person)).thenReturn(new BigDecimal("6.5"));
Mockito.when(vacationDaysService.calculateTotalLeftVacationDays(account)).thenReturn(new BigDecimal("8.5"));
ApplicationForLeaveStatistics statistics = builder.build(person, from, to);
Assert.assertEquals("Wrong left overtime", new BigDecimal("6.5"), statistics.getLeftOvertime());
Assert.assertEquals("Wrong left vacation days", new BigDecimal("8.5"), statistics.getLeftVacationDays());
Mockito.verify(overtimeService).getLeftOvertimeForPerson(person);
Mockito.verify(vacationDaysService).calculateTotalLeftVacationDays(account);
}
项目:urlaubsverwaltung
文件:SickNoteControllerTest.java
@Test
public void ensureCorrectConversionOfSickNotes() throws Exception {
SickNote sickNote1 = TestDataCreator.createSickNote(TestDataCreator.createPerson("foo"),
new DateMidnight(2016, 5, 19), new DateMidnight(2016, 5, 20), DayLength.FULL);
SickNote sickNote2 = TestDataCreator.createSickNote(TestDataCreator.createPerson("bar"));
SickNote sickNote3 = TestDataCreator.createSickNote(TestDataCreator.createPerson("baz"));
Mockito.when(sickNoteServiceMock.getByPeriod(Mockito.any(DateMidnight.class), Mockito.any(DateMidnight.class)))
.thenReturn(Arrays.asList(sickNote1, sickNote2, sickNote3));
mockMvc.perform(get("/api/sicknotes").param("from", "2016-01-01").param("to", "2016-12-31"))
.andExpect(status().isOk())
.andExpect(content().contentType("application/json;charset=UTF-8"))
.andExpect(jsonPath("$.response").exists())
.andExpect(jsonPath("$.response.sickNotes").exists())
.andExpect(jsonPath("$.response.sickNotes", hasSize(3)))
.andExpect(jsonPath("$.response.sickNotes[0].from", is("2016-05-19")))
.andExpect(jsonPath("$.response.sickNotes[0].to", is("2016-05-20")))
.andExpect(jsonPath("$.response.sickNotes[0].person").exists())
.andExpect(jsonPath("$.response.sickNotes[0].person.ldapName", is("foo")));
}
项目:urlaubsverwaltung
文件:ApplicationInteractionServiceImplTest.java
@Test
public void ensureRejectingApplicationForLeaveChangesStateAndOtherAttributesAndSavesTheApplicationForLeave() {
Person person = TestDataCreator.createPerson("muster");
Person boss = TestDataCreator.createPerson("boss");
Optional<String> comment = Optional.of("Foo");
Application applicationForLeave = getDummyApplication(person);
applicationForLeave.setStatus(ApplicationStatus.WAITING);
service.reject(applicationForLeave, boss, comment);
Assert.assertEquals("Wrong state", ApplicationStatus.REJECTED, applicationForLeave.getStatus());
Assert.assertEquals("Wrong person", person, applicationForLeave.getPerson());
Assert.assertEquals("Wrong boss", boss, applicationForLeave.getBoss());
Assert.assertEquals("Wrong edited date", DateMidnight.now(), applicationForLeave.getEditedDate());
Mockito.verify(applicationService).save(applicationForLeave);
Mockito.verify(commentService)
.create(eq(applicationForLeave), eq(ApplicationAction.REJECTED), eq(comment), eq(boss));
}
项目:urlaubsverwaltung
文件:SickNoteInteractionServiceImplTest.java
@Test
public void ensureConvertedSickNoteIsPersisted() {
Application applicationForLeave = new Application();
applicationForLeave.setStartDate(DateMidnight.now());
applicationForLeave.setEndDate(DateMidnight.now());
applicationForLeave.setStatus(ApplicationStatus.ALLOWED);
applicationForLeave.setDayLength(DayLength.FULL);
applicationForLeave.setPerson(TestDataCreator.createPerson());
SickNote convertedSickNote = sickNoteInteractionService.convert(sickNote, applicationForLeave, person);
// assert sick note correctly updated
Mockito.verify(sickNoteService).save(sickNote);
Mockito.verify(commentService)
.create(sickNote, SickNoteAction.CONVERTED_TO_VACATION, Optional.<String>empty(), person);
Assert.assertNotNull("Should not be null", convertedSickNote);
Assert.assertNotNull("Last edited date should be set", convertedSickNote.getLastEdited());
Assert.assertEquals("Wrong status", SickNoteStatus.CONVERTED_TO_VACATION, convertedSickNote.getStatus());
// assert application for leave correctly created
Mockito.verify(applicationInteractionService).createFromConvertedSickNote(applicationForLeave, person);
}
项目:urlaubsverwaltung
文件:OverlapService.java
/**
* Check if there are any overlapping applications for leave or sick notes for the given sick note.
*
* @param sickNote to be checked if there are any overlaps
*
* @return {@link OverlapCase} - none, partly, fully
*/
public OverlapCase checkOverlap(final SickNote sickNote) {
Person person = sickNote.getPerson();
DateMidnight startDate = sickNote.getStartDate();
DateMidnight endDate = sickNote.getEndDate();
List<Application> applications = getRelevantApplicationsForLeave(person, startDate, endDate,
sickNote.getDayLength());
List<SickNote> sickNotes = getRelevantSickNotes(person, startDate, endDate);
if (!sickNote.isNew()) {
sickNotes = FluentIterable.from(sickNotes).filter(new Predicate<SickNote>() {
@Override
public boolean apply(SickNote input) {
// the same sick note should not be recognized as overlapping
return input.getId() != null && !input.getId().equals(sickNote.getId());
}
}).toList();
}
return getOverlapCase(startDate, endDate, applications, sickNotes);
}
项目:urlaubsverwaltung
文件:OvertimeTest.java
@Test
public void ensureCallingOnUpdateChangesLastModificationDate() throws IllegalAccessException {
Person person = TestDataCreator.createPerson();
DateMidnight now = DateMidnight.now();
Overtime overtime = new Overtime(person, now.minusDays(2), now, BigDecimal.ONE);
// Simulate that the overtime record has been created to an earlier time
Field lastModificationDateField = ReflectionUtils.findField(Overtime.class, "lastModificationDate");
lastModificationDateField.setAccessible(true);
lastModificationDateField.set(overtime, now.minusDays(3).toDate());
Assert.assertEquals("Wrong initial last modification date", now.minusDays(3),
overtime.getLastModificationDate());
overtime.onUpdate();
Assert.assertEquals("Last modification date should be set to now", now, overtime.getLastModificationDate());
}
项目:urlaubsverwaltung
文件:HolidayAbsenceProvider.java
private Optional<TimedAbsence> checkForHolidays(DateMidnight currentDay, Person person) {
BigDecimal expectedWorkingDuration = publicHolidaysService.getWorkingDurationOfDate(currentDay,
getFederalState(currentDay, person));
boolean fullDayHoliday = expectedWorkingDuration.compareTo(DayLength.ZERO.getDuration()) == 0;
boolean halfDayHoliday = expectedWorkingDuration.compareTo(DayLength.NOON.getDuration()) == 0;
TimedAbsence absence = null;
if (fullDayHoliday) {
absence = new TimedAbsence(DayLength.FULL, TimedAbsence.Type.HOLIDAY);
} else if (halfDayHoliday) {
absence = new TimedAbsence(DayLength.NOON, TimedAbsence.Type.HOLIDAY);
}
return Optional.ofNullable(absence);
}
项目:urlaubsverwaltung
文件:ApplicationInteractionServiceImpl.java
@Override
public Application reject(Application application, Person privilegedUser, Optional<String> comment) {
application.setStatus(ApplicationStatus.REJECTED);
application.setBoss(privilegedUser);
application.setEditedDate(DateMidnight.now());
applicationService.save(application);
LOG.info("Rejected application for leave: " + application.toString());
ApplicationComment createdComment = commentService.create(application, ApplicationAction.REJECTED, comment,
privilegedUser);
mailService.sendRejectedNotification(application, createdComment);
Optional<AbsenceMapping> absenceMapping = absenceMappingService.getAbsenceByIdAndType(application.getId(),
AbsenceType.VACATION);
if (absenceMapping.isPresent()) {
calendarSyncService.deleteAbsence(absenceMapping.get().getEventId());
absenceMappingService.delete(absenceMapping.get());
}
return application;
}
项目:snake-yaml
文件:JodaTimeExampleTest.java
/**
* test issue 109
*/
public void test109() {
Date someDate = new DateMidnight(9, 2, 21, DateTimeZone.forID("Europe/Amsterdam")).toDate();
Yaml yaml = new Yaml();
String timestamp = yaml.dump(someDate);
assertEquals("0009-02-22T23:40:28Z\n", timestamp);
// System.out.println(timestamp);
Object o = yaml.load(timestamp);
assertEquals(someDate, o);
}
项目:kc-rice
文件:StandardGenericXMLSearchableAttributeTest.java
@Test public void testExtractDocumentAttributes() throws ParseException {
//Filling in a random document type name... Revisit
String documentTypeName = "SearchDocType";
String key = "givenname";
String value = "jack";
assertExtractDocumentAttributes(documentTypeName, "XMLSearchableAttribute", key, value, "<putWhateverWordsIwantInsideThisTag>" + "<" + key + ">" + "<value>" + value + "</value>" + "</" + key+ ">" + "</putWhateverWordsIwantInsideThisTag>");
// test general operation
key = "testLongKey";
value = "123458";
assertExtractDocumentAttributes(documentTypeName, "XMLSearchableAttributeStdLong", key, new BigInteger(value), "<putWhateverWordsIwantInsideThisTag>" + "<" + key + ">" + "<value>" + value + "</value>" + "</" + key+ ">" + "</putWhateverWordsIwantInsideThisTag>");
// test operation with leading and trailing spaces in xml doc content
assertExtractDocumentAttributes(documentTypeName, "XMLSearchableAttributeStdLong", key, new BigInteger(value), "<putWhateverWordsIwantInsideThisTag>" + "<" + key + ">" + "<value>" + " " + value + " " + "</value>" + "</" + key + ">" + "</putWhateverWordsIwantInsideThisTag>");
key = "testFloatKey";
value = "2568.204154796";
assertExtractDocumentAttributes(documentTypeName, "XMLSearchableAttributeStdFloat", key, new BigDecimal(value), "<putWhateverWordsIwantInsideThisTag>" + "<" + key+ ">" + "<value>" + value + "</value>" + "</" + key + ">" + "</putWhateverWordsIwantInsideThisTag>");
key = "testDateTimeKey";
value = DocumentSearchInternalUtils.getDisplayValueWithDateOnly(TestXMLSearchableAttributeDateTime.SEARCH_STORAGE_VALUE);
// value is coerced to Date without time
DateMidnight expected = TestXMLSearchableAttributeDateTime.SEARCH_STORAGE_VALUE.toDateMidnight();
assertExtractDocumentAttributes(documentTypeName, "XMLSearchableAttributeStdDateTime", key, expected, "<putWhateverWordsIwantInsideThisTag>" + "<" + key + ">" + "<value>" + value + "</value>" + "</" + key + ">" + "</putWhateverWordsIwantInsideThisTag>");
// test for kuali xstream formatted dates
value = "02/20/2007";
String returnValue = "02/20/2007";
// value is coerced to Date without time
Date d = RiceConstants.getDefaultDateFormat().parse(returnValue);
expected = new DateTime(d.getTime()).toDateMidnight();
assertExtractDocumentAttributes(documentTypeName, "XMLSearchableAttributeStdDateTime", key, expected, "<putWhateverWordsIwantInsideThisTag>" + "<" + key + ">" + "<value>" + value + "</value>" + "</" + key + ">" + "</putWhateverWordsIwantInsideThisTag>");
}
项目:ModularityCheck
文件:VersionControlManager.java
/**
* Transforma duas datas textuais (ex: "2008-06-14") em um objeto Interval,
* que representa um intervalo de tempo.
*/
private Interval getIntervalFromParams(String start_date_str,
String end_date_str) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("y-M-d");
// DateMidnight e um DateTime onde a hora e sempre 00:00.
DateMidnight start_date = new DateMidnight(
formatter.parseDateTime(start_date_str));
DateMidnight end_date = new DateMidnight(
formatter.parseDateTime(end_date_str));
return new Interval(start_date, end_date);
}
项目:openhab-hdl
文件:ScriptExtensionClassNameProvider.java
@Override
protected Collection<String> computeLiteralClassNames() {
// we completely define the content ourselves, but need the collection
// instance from the super class as it is a private field
Collection<String> literalClassNames = super.getLiteralClassNames();
if(literalClassNames==null) {
literalClassNames = super.computeLiteralClassNames();
}
literalClassNames.clear();
// add all actions that are contributed as OSGi services
Object[] services = ScriptActivator.actionServiceTracker.getServices();
if(services!=null) {
for(Object service : services) {
ActionService actionService = (ActionService) service;
literalClassNames.add(actionService.getActionClassName());
}
}
literalClassNames.add(CollectionLiterals.class.getName());
literalClassNames.add(InputOutput.class.getName());
literalClassNames.add(BusEvent.class.getCanonicalName());
literalClassNames.add(ScriptExecution.class.getCanonicalName());
literalClassNames.add(LogAction.class.getCanonicalName());
// jodatime static functions
literalClassNames.add(DateTime.class.getCanonicalName());
literalClassNames.add(DateMidnight.class.getCanonicalName());
return literalClassNames;
}
项目:openhab-hdl
文件:PersistenceExtensionsTest.java
@Test
public void testHistoricState() {
HistoricItem historicItem = PersistenceExtensions.historicState(item, new DateMidnight(2012, 1, 1), "test");
assertEquals("2012", historicItem.getState().toString());
historicItem = PersistenceExtensions.historicState(item, new DateMidnight(2011, 12, 31), "test");
assertEquals("2011", historicItem.getState().toString());
historicItem = PersistenceExtensions.historicState(item, new DateMidnight(2011, 1, 1), "test");
assertEquals("2011", historicItem.getState().toString());
historicItem = PersistenceExtensions.historicState(item, new DateMidnight(2000, 1, 1), "test");
assertEquals("2000", historicItem.getState().toString());
}
项目:openhab-hdl
文件:PersistenceExtensionsTest.java
@Test
public void testMinimumSince() {
item.setState(new DecimalType(5000));
HistoricItem historicItem = PersistenceExtensions.minimumSince(item, new DateMidnight(1940, 1, 1), "test");
assertNotNull(historicItem);
assertEquals("5000", historicItem.getState().toString());
historicItem = PersistenceExtensions.minimumSince(item, new DateMidnight(2005, 1, 1), "test");
assertEquals("2005", historicItem.getState().toString());
assertEquals(new DateMidnight(2005, 1, 1).toDate(), historicItem.getTimestamp());
}
项目:openhab-hdl
文件:PersistenceExtensionsTest.java
@Test
public void testMaximumSince() {
item.setState(new DecimalType(1));
HistoricItem historicItem = PersistenceExtensions.maximumSince(item, new DateMidnight(2012, 1, 1), "test");
assertNotNull(historicItem);
assertEquals("1", historicItem.getState().toString());
historicItem = PersistenceExtensions.maximumSince(item, new DateMidnight(2005, 1, 1), "test");
assertEquals("2012", historicItem.getState().toString());
assertEquals(new DateMidnight(2012, 1, 1).toDate(), historicItem.getTimestamp());
}
项目:presto
文件:TestDateTimeFunctions.java
@Test
public void testCurrentDate()
throws Exception
{
// current date is the time at midnight in the session time zone
DateMidnight dateMidnight = new DateMidnight(session.getStartTime(), DATE_TIME_ZONE);
int days = (int) TimeUnit.MILLISECONDS.toDays(dateMidnight.getMillis());
assertFunction("CURRENT_DATE", DateType.DATE, new SqlDate(days));
}
项目:snakeyaml
文件:JodaTimeExampleTest.java
/**
* test issue 109
*/
public void test109() {
Date someDate = new DateMidnight(9, 2, 21, DateTimeZone.forID("Europe/Amsterdam")).toDate();
Yaml yaml = new Yaml();
String timestamp = yaml.dump(someDate);
assertEquals("0009-02-22T23:40:28Z\n", timestamp);
// System.out.println(timestamp);
Object o = yaml.load(timestamp);
assertEquals(someDate, o);
}