| /** |
| * |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| */ |
| package org.eclipse.osbp.xtext.entitymock.common.filler; |
| |
| import org.joda.time.DateTime; |
| |
| public class DateProvider { |
| |
| private final BaseProvider fBaseProvider; |
| |
| public DateProvider(BaseProvider baseProvider) { |
| fBaseProvider = baseProvider; |
| } |
| |
| public DateTime randomDateInThePast(int yearsToPast) { |
| DateTime now = DateTime.now(); |
| return randomDateBetweenTwoDates( |
| firstDayOfYear(now.getYear()-yearsToPast), |
| now |
| ); |
| } |
| |
| public DateTime randomDateInTheFuture(int yearsInFuture) { |
| DateTime now = DateTime.now(); |
| return randomDateBetweenTwoDates( |
| now, |
| new DateTime(firstDayOfYear(now.getYear()+yearsInFuture+1).getMillis() - 1) |
| ); |
| } |
| |
| public DateTime randomDateBetweenYears(int startYear, int endYear) { |
| return randomDateBetweenTwoDates( |
| firstDayOfYear(startYear), |
| new DateTime(firstDayOfYear(endYear+1).getMillis() - 1) |
| ); |
| } |
| |
| private DateTime firstDayOfYear(int year) { |
| return new DateTime(year, 1, 1, 0, 0); |
| } |
| |
| private DateTime randomDateBetweenTwoDates(DateTime from, DateTime to) { |
| return new DateTime(fBaseProvider.randomBetween(from.getMillis(), to.getMillis())); |
| } |
| } |