Example usage for org.joda.time LocalDate toLocalDateTime

List of usage examples for org.joda.time LocalDate toLocalDateTime

Introduction

In this page you can find the example usage for org.joda.time LocalDate toLocalDateTime.

Prototype

public LocalDateTime toLocalDateTime(LocalTime time) 

Source Link

Document

Converts this object to a LocalDateTime using a LocalTime to fill in the missing fields.

Usage

From source file:divconq.scheduler.Scheduler.java

License:Open Source License

public ISchedule runAt(Task work, LocalDate date, Period period) {
    LocalDateTime ldt = date.toLocalDateTime(new LocalTime(0, 0).plus(period));
    return this.runAt(work, ldt.toDateTime());
}

From source file:energy.usef.core.util.DateTimeUtil.java

License:Apache License

/**
 * Creates a LocalDateTime set to the start of the given date (date at 00:00:00.000)
 *
 * @param date - the date for which to determine the start of day.
 * @return LocalDateTime set to the start of the given date.
 *///from w  ww . j  av a2 s  . com
public static LocalDateTime getStartOfDay(LocalDate date) {
    return date.toLocalDateTime(new LocalTime()).withTime(0, 0, 0, 0);
}

From source file:energy.usef.core.util.PtuUtil.java

License:Apache License

/**
 * Return the number of PTU's between two {@link LocalDate}'s based on the ptuDuration and ptuIndex of the end date.
 *
 * @param startDate     Start date for the difference (starting with ptu index 1)
 * @param endDate       End date for the difference (ending at parameter ptuIndex)
 * @param ptuStartIndex The ptu index of the start date
 * @param ptuEndIndex   The ptu index of the end date
 * @param ptuDuration   Number of minutes per PTU
 * @return/* ww w .j  av  a 2  s  .c  o  m*/
 */
public static Integer numberOfPtusBetween(LocalDate startDate, LocalDate endDate, int ptuStartIndex,
        int ptuEndIndex, int ptuDuration) {
    Double ptusPassed = Math
            .floor(Minutes.minutesBetween(startDate.toLocalDateTime(LocalTime.MIDNIGHT),
                    endDate.toLocalDateTime(LocalTime.MIDNIGHT)).getMinutes() / ptuDuration)
            - ptuStartIndex + ptuEndIndex;
    return ptusPassed.intValue();
}

From source file:org.openhat.androPDI.ports.editors.DialPortDateTimeEditor.java

License:Open Source License

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.date_time_editor, container);
    tvDate = (TextView) view.findViewById(R.id.date_time_editor_date);
    tvDate.setText(DateTimeFormat.mediumDate().print(currentDate));
    tvTime = (TextView) view.findViewById(R.id.date_time_editor_time);
    tvTime.setText(DateTimeFormat.mediumTime().print(currentDate));
    btnDate = (Button) view.findViewById(R.id.date_time_editor_select_date_button);
    btnTime = (Button) view.findViewById(R.id.date_time_editor_select_time_button);
    spSelect = (Spinner) view.findViewById(R.id.date_time_editor_spinner);
    btnOk = (Button) view.findViewById(R.id.date_time_editor_ok_button);
    btnCancel = (Button) view.findViewById(R.id.date_time_editor_cancel_button);

    getDialog().setTitle("Select date and time");

    btnTime.setOnClickListener(new View.OnClickListener() {
        @Override// ww  w  .j  a v  a2 s.c  o m
        public void onClick(View v) {
            timePicker = new TimePickerDialogFragment(currentDate, tvTime);
            timePicker.show(getFragmentManager(), "timePicker");
        }
    });

    btnDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            datePicker = new DatePickerDialogFragment(currentDate, tvDate);
            datePicker.show(getFragmentManager(), "datePicker");

        }
    });

    spSelect.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            setEventTime(position);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

    btnOk.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // parse date
            LocalDate date = null;
            LocalTime time = null;
            date = DateTimeFormat.mediumDate().parseLocalDate(tvDate.getText().toString());
            String t = tvTime.getText().toString();
            /*
            // add seconds to time if they're missing
            if (t.split(":").length <= 2)
               t += ":00";
            */
            time = DateTimeFormat.mediumTime().parseLocalTime(t);
            LocalDateTime result = date.toLocalDateTime(time);
            dismiss();
            dismissedListener.dismissed(result);
        }
    });

    btnCancel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dismiss();
        }
    });

    return view;
}

From source file:org.smartdeveloperhub.harvesters.it.testing.generator.ProjectActivityGenerator.java

License:Apache License

private void createNewIssues(final LocalDate today) {
    final int inProgressIssues = findIssuesByStatus(Status.IN_PROGRESS).size();
    final int openIssues = findIssuesByStatus(Status.OPEN).size();

    final int base = this.participants.size() > 3 ? this.participants.size() : 3;

    int newIssues = 0;
    if (openIssues < inProgressIssues) {
        newIssues = this.random.nextInt(base) + this.random.nextInt(base * 3) / 4;
    } else if (openIssues * 2 < inProgressIssues) {
        newIssues = this.random.nextInt(base * 3) / 4;
    } else if (openIssues * 3 < inProgressIssues) {
        newIssues = this.random.nextInt(base * 2) / 3;
    } else {/*  ww  w  . j a va  2 s.  co  m*/
        newIssues = this.random.nextBoolean() ? 1 : 0;
    }

    final Iterator<LocalTime> time = this.workDay.workingTimes();
    int start = this.issues.size();
    for (int i = 0; i < newIssues; i++) {
        createIssue(Integer.toString(++start), today.toLocalDateTime(time.next()));
    }
}

From source file:org.smartdeveloperhub.harvesters.it.testing.generator.ProjectActivityGenerator.java

License:Apache License

private void evaluate(final Issue issue, final LocalDate today) {
    final Set<Item> changes = Sets.newLinkedHashSet();
    final LocalDateTime now = today.toLocalDateTime(this.workDay.workingTime());
    LOGGER.trace("   * Evaluated issue {} at {}", issue.getId(), now);

    if (issue.getAssignee() == null) {
        final Contributor assignee = selectContributor();
        issue.setAssignee(assignee.getId());

        final AssigneeChangeItem item = new AssigneeChangeItem();
        item.setOldValue(null);/*from  w  w  w  .  j a  v a2 s  . co m*/
        item.setNewValue(issue.getAssignee());
        changes.add(item);

        LOGGER.trace("     + Assigned to {}", assignee.getName());
    }

    if (issue.getType() == null) {
        issue.setType(selectType());

        final TypeChangeItem item = new TypeChangeItem();
        item.setOldValue(null);
        item.setNewValue(issue.getType());
        changes.add(item);

        LOGGER.trace("     + Type: {}", issue.getType());
    }

    if (this.random.nextInt(100) < 10) {
        issue.setStatus(Status.CLOSED);
        issue.setClosed(now.toDateTime());

        final ClosedChangeItem item = new ClosedChangeItem();
        item.setOldValue(null);
        item.setNewValue(issue.getClosed());
        changes.add(item);

        LOGGER.trace("     + Action: close");
    } else {
        issue.setStatus(Status.IN_PROGRESS);
        LOGGER.trace("     + Action: start work");
    }

    final StatusChangeItem item = new StatusChangeItem();
    item.setOldValue(Status.OPEN);
    item.setNewValue(issue.getStatus());
    changes.add(item);

    final Entry entry = new Entry();
    entry.setTimeStamp(now.toDateTime());
    entry.setAuthor(issue.getAssignee());
    entry.getItems().addAll(changes);

    final ChangeLog changeLog = new ChangeLog();
    changeLog.getEntries().add(entry);

    issue.setChanges(changeLog);
}

From source file:org.smartdeveloperhub.harvesters.it.testing.generator.ProjectActivityGenerator.java

License:Apache License

private void workOn(final Issue issue, final LocalDate today) {
    final Set<Item> changes = Sets.newLinkedHashSet();
    final LocalDateTime now = today.toLocalDateTime(this.workDay.workingTime());
    LOGGER.trace("   * Worked on issue {} at {}", issue.getId(), now);

    // Bounce assignment
    if (this.random.nextBoolean()) {
        final Contributor oldValue = findContributor(issue.getAssignee());
        final Contributor newValue = selectAlternativeContributor(issue.getAssignee());
        if (newValue != null) {
            issue.setAssignee(newValue.getId());

            final AssigneeChangeItem item = new AssigneeChangeItem();
            item.setOldValue(oldValue.getId());
            item.setNewValue(issue.getAssignee());
            changes.add(item);/*from  w  w w  . java2 s .c  om*/

            LOGGER.trace("     + Changed assignment from {} to {}", oldValue.getName(), newValue.getName());
        }
    }

    // Change type
    if (this.random.nextBoolean()) {
        final Type oldValue = issue.getType();
        final Type newValue = selectAlternativeType(oldValue);

        issue.setType(newValue);

        final TypeChangeItem item = new TypeChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(newValue);
        changes.add(item);

        LOGGER.trace("     + Changed type from {} to {}", oldValue, newValue);
    }

    // Change title
    if (this.random.nextBoolean()) {
        final String oldValue = issue.getName();
        final String newValue = StateUtil.generateSentence();

        issue.setName(newValue);

        final TitleChangeItem item = new TitleChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(newValue);
        changes.add(item);

        LOGGER.trace("     + Changed title from '{}' to '{}'", oldValue, newValue);
    }

    // Change description
    if (this.random.nextBoolean()) {
        final String oldValue = issue.getName();
        final String newValue = StateUtil.generateSentences(1, 2 + this.random.nextInt(8));

        issue.setDescription(newValue);

        final DescriptionChangeItem item = new DescriptionChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(newValue);
        changes.add(item);

        LOGGER.trace("     + Changed description from '{}' to '{}'", oldValue, newValue);
    }

    // Change severity
    if (this.random.nextBoolean()) {
        final Severity oldValue = issue.getSeverity();
        final Severity newValue = selectAlternativeSeverity(oldValue);

        issue.setSeverity(newValue);

        final SeverityChangeItem item = new SeverityChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(newValue);
        changes.add(item);

        LOGGER.trace("     + Changed severity from {} to {}", oldValue, newValue);
    }

    // Change priority
    if (this.random.nextBoolean()) {
        final Priority oldValue = issue.getPriority();
        final Priority newValue = selectAlternativePriority(oldValue);

        issue.setPriority(newValue);

        final PriorityChangeItem item = new PriorityChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(newValue);
        changes.add(item);

        LOGGER.trace("     + Changed priority from {} to {}", oldValue, newValue);
    }

    // Change due to
    boolean reescheduled = false;
    boolean isCloseable = true;
    if (this.random.nextBoolean()) {
        isCloseable = false;
        reescheduled = scheduleIssue(issue, changes, now);
    }

    // Change effort, if required or decided to.
    if (reescheduled || issue.getDueTo() != null && this.random.nextBoolean()) {
        isCloseable = false;
        estimateIssue(issue, changes, now);
    }

    final ChangeDecissionPoint cdp = new ChangeDecissionPoint(this.random);

    // Add/remove components
    final ChangeInformationPoint ccip = new ComponentChangeInformationPoint(issue);
    if (ccip.canModify() && this.random.nextBoolean()) {
        final ComponentManager pep = new ComponentManager(issue, changes);
        final int affectedComponents = 1 + this.random.nextInt(Math.max(2, issue.getComponents().size() - 1));
        for (int i = 0; i < affectedComponents; i++) {
            cdp.decide(ccip).apply(pep);
        }
        pep.logActivity();
    }

    // Add/remove versions
    final ChangeInformationPoint vcip = new VersionsChangeInformationPoint(issue);
    if (vcip.canModify() && this.random.nextBoolean()) {
        final VersionManager pep = new VersionManager(issue, changes);
        final int affectedVersions = 1 + this.random.nextInt(Math.max(2, issue.getVersions().size() - 1));
        for (int i = 0; i < affectedVersions; i++) {
            cdp.decide(vcip).apply(pep);
        }
        pep.logActivity();
    }

    /**
     * TODO: Add logic for adding commits
     */
    /**
     * TODO: Add logic for adding sub-issues
     */
    /**
     * TODO: Add logic for adding blocked-issues
     */

    // Add/remove tags
    final ChangeInformationPoint tcip = new TagsChangeInformationPoint(issue);
    if (tcip.canModify() && this.random.nextBoolean()) {
        final TagManager pep = new TagManager(issue, changes);
        final int affectedTags = 1 + this.random.nextInt(Math.max(2, issue.getTags().size() - 1));
        for (int i = 0; i < affectedTags; i++) {
            cdp.decide(tcip).apply(pep);
        }
        pep.logActivity();
    }

    if (isCloseable && mustCloseIssue(issue, now)) {
        issue.setStatus(Status.CLOSED);
        issue.setClosed(now.toDateTime());

        final StatusChangeItem sChange = new StatusChangeItem();
        sChange.setOldValue(Status.IN_PROGRESS);
        sChange.setNewValue(Status.CLOSED);
        changes.add(sChange);

        final ClosedChangeItem cdChange = new ClosedChangeItem();
        cdChange.setOldValue(null);
        cdChange.setNewValue(issue.getClosed());
        changes.add(cdChange);

        LOGGER.trace("     + Action: close");
    }

    final Entry entry = new Entry();
    entry.setTimeStamp(now.toDateTime());
    entry.setAuthor(issue.getAssignee());
    entry.getItems().addAll(changes);

    final ChangeLog changeLog = issue.getChanges();
    changeLog.getEntries().add(entry);
}

From source file:org.smartdeveloperhub.harvesters.it.testing.generator.ProjectActivityGenerator.java

License:Apache License

private void reopen(final Issue issue, final LocalDate today) {
    final Set<Item> changes = Sets.newLinkedHashSet();
    final LocalDateTime now = today.toLocalDateTime(this.workDay.workingTime());
    LOGGER.trace("   * Reopened issue {} at {}", issue.getId(), now);

    // Bounce assignment
    if (this.random.nextBoolean()) {
        final Contributor oldValue = findContributor(issue.getAssignee());
        final Contributor newValue = selectContributor();

        issue.setAssignee(newValue.getId());

        final AssigneeChangeItem item = new AssigneeChangeItem();
        item.setOldValue(oldValue.getId());
        item.setNewValue(issue.getAssignee());
        changes.add(item);/*from  w ww.jav a2s  . c om*/

        LOGGER.trace("     + Changed assignment from {} to {}", oldValue.getName(), newValue.getName());
    }

    {
        issue.setStatus(Status.OPEN);

        final StatusChangeItem item = new StatusChangeItem();
        item.setOldValue(Status.CLOSED);
        item.setNewValue(Status.OPEN);
        changes.add(item);
    }
    {
        final DateTime oldValue = issue.getOpened();
        issue.setOpened(now.toDateTime());

        final OpenedChangeItem item = new OpenedChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(issue.getOpened());
        changes.add(item);
    }
    {
        final DateTime oldValue = issue.getClosed();
        issue.setClosed(null);

        final ClosedChangeItem item = new ClosedChangeItem();
        item.setOldValue(oldValue);
        item.setNewValue(issue.getClosed());
        changes.add(item);
    }
    {
        boolean scheduled = false;
        if (this.random.nextBoolean()) {
            scheduled = true;
            scheduleIssue(issue, changes, now);
        } else {
            final DateTime oldValue = issue.getDueTo();
            if (oldValue != null) {
                final DueToDateChangeItem item = new DueToDateChangeItem();
                item.setOldValue(oldValue);
                item.setNewValue(null);
                changes.add(item);
            }
        }

        if (scheduled && this.random.nextBoolean()) {
            estimateIssue(issue, changes, now);
        } else {
            final Duration oldValue = issue.getEstimatedTime();
            if (oldValue != null) {
                final EstimatedTimeChangeItem item = new EstimatedTimeChangeItem();
                item.setOldValue(oldValue);
                item.setNewValue(null);
                changes.add(item);
            }
        }
    }

    final Entry entry = new Entry();
    entry.setTimeStamp(now.toDateTime());
    entry.setAuthor(issue.getAssignee());
    entry.getItems().addAll(changes);

    final ChangeLog changeLog = issue.getChanges();
    changeLog.getEntries().add(entry);
}

From source file:org.smartdeveloperhub.harvesters.it.testing.generator.ProjectActivityGenerator.java

License:Apache License

private LocalDateTime createDueTo(final LocalDateTime dateTime) {
    LocalDate localDate = dateTime.toLocalDate().plusDays(1 + this.random.nextInt(15));
    while (Utils.isWorkingDay(localDate)) {
        localDate = localDate.plusDays(1);
    }//  w  w w .  j a  v a  2 s  .c  o  m
    return localDate.toLocalDateTime(this.workDay.workingHour());
}

From source file:propel.core.validation.propertyMetadata.LocalDatePropertyMetadata.java

License:Open Source License

/**
 * Constructor/* w w w  .j  a  v  a2  s  .  co m*/
 */
public LocalDatePropertyMetadata(String name, LocalDate minValue, LocalDate maxValue, boolean notNull) {
    super(name, minValue.toLocalDateTime(LocalTime.MIDNIGHT), maxValue.toLocalDateTime(LocalTime.MIDNIGHT),
            notNull);

    setMinValue(minValue.toLocalDateTime(LocalTime.MIDNIGHT));
    setMaxValue(maxValue.toLocalDateTime(LocalTime.MIDNIGHT));
}