public String getTooltip(final Long duration, final Locale locale, final JiraDurationUtils utils) { if (duration != null) { return utils.getFormattedDuration(duration, locale); } return null; } }
public String getDuration(final Long duration, final Locale locale, final JiraDurationUtils utils) { if (duration != null) { return utils.getShortFormattedDuration(duration, locale); } return null; }
/** * Turn a duration string into the number of seconds that it represents, taking into account JIRA's configuration * (i.e. how many hours are in a day, how many days are in a week, etc) * * This uses the default locale of Locale.UK and is retained for backwards compatibility * * @param duration string in JIRA's duration format (i.e. "20h") * @return number of seconds in the duration string * @throws InvalidDurationException when the duration cannot be parsed * @deprecated since v4.4. Use {@link #parseDuration(String location, Locale locale)} instead. */ public Long parseDuration(final String duration) throws InvalidDurationException { return parseDuration(duration, Locale.UK); }
public String getTimeTrackingFormatSample() { return getText(jiraDurationUtils.getI18nKey(), jiraDurationUtils.getFormattedDuration(SAMPLE_DURATION)); }
@Override public FieldJsonRepresentation getJsonFromIssue(Issue issue, boolean renderedVersionRequested, @Nullable FieldLayoutItem fieldLayoutItem) { JiraDurationUtils jiraDurationUtils = ComponentAccessor.getComponent(JiraDurationUtils.class); String originalEstimate = issue.getOriginalEstimate() == null ? null : jiraDurationUtils.getShortFormattedDuration(issue.getOriginalEstimate()); String estimate = issue.getEstimate() == null ? null : jiraDurationUtils.getShortFormattedDuration(issue.getEstimate()); String timeSpent = issue.getTimeSpent() == null ? null : jiraDurationUtils.getShortFormattedDuration(issue.getTimeSpent()); TimeTrackingJsonBean timeTrackingJsonBean = TimeTrackingJsonBean.shortBean(originalEstimate, estimate, timeSpent, issue.getOriginalEstimate(), issue.getEstimate(), issue.getTimeSpent()); if (renderedVersionRequested) { String renderedOriginalEstimate = issue.getOriginalEstimate() == null ? null : jiraDurationUtils.getFormattedDuration(issue.getOriginalEstimate(), authenticationContext.getLocale()); String renderedEstimate = issue.getEstimate() == null ? null : jiraDurationUtils.getFormattedDuration(issue.getEstimate(), authenticationContext.getLocale()); String renderedTimeSpent = issue.getTimeSpent() == null ? null : jiraDurationUtils.getFormattedDuration(issue.getTimeSpent(), authenticationContext.getLocale()); TimeTrackingJsonBean renderedTimeTrackingJsonBean = TimeTrackingJsonBean.shortBean(renderedOriginalEstimate, renderedEstimate, renderedTimeSpent, issue.getOriginalEstimate(), issue.getEstimate(), issue.getTimeSpent()); return new FieldJsonRepresentation(new JsonData(timeTrackingJsonBean), new JsonData(renderedTimeTrackingJsonBean)); } else { return new FieldJsonRepresentation(new JsonData(timeTrackingJsonBean)); } }
final TimeFormatWithPrecision result = calculateFractionalTimeUnit(duration, (int) DateUtils.Duration.HOUR.getSeconds(), i18nBean, UNIT_HOUR, scale, userLocale); if (result.remainder == 0) return calculateFractionalTimeUnit(result.remainder, (int) DateUtils.Duration.MINUTE.getSeconds(), i18nBean, UNIT_MINUTE, scale, userLocale).formatted; return result.formatted + ' ' + calculateFractionalTimeUnit(result.remainder, (int) DateUtils.Duration.MINUTE.getSeconds(), i18nBean, UNIT_MINUTE, scale, userLocale).formatted;
applicationProperties.setOption(APKeys.JIRA_TIMETRACKING_COPY_COMMENT_TO_WORK_DESC_ON_TRANSITION, isCopyComment); jiraDurationUtils.updateFormatters(applicationProperties, authenticationContext); fieldManager.refresh();
final TimeFormatWithPrecision result = calculateFractionalTimeUnit(duration, hoursPerDay.multiply(BigDecimal.valueOf(DateUtils.Duration.HOUR.getSeconds())).intValueExact(), i18nBean, UNIT_DAY, scale, userLocale); if (result.remainder == 0)
public String getTooltip(final Long duration, final Locale locale, final JiraDurationUtils utils) { if (duration != null) { return utils.getFormattedDuration(duration, locale); } return null; } }
private String formatMillisIntoDisplayFormat(final Long estimate) { if (estimate == null) { return null; } //Note: we want English locale to format to w d h m correctly return jiraDurationUtils.getShortFormattedDuration(estimate, new Locale("en_UK")); }
@Override public Long apply(@Nullable String from) { try { return durationUtils.parseDuration(from, Locale.ENGLISH); } catch (InvalidDurationException e) { return null; } catch (NumberFormatException e) { return null; } } }
public String getDuration(final Long duration, final Locale locale, final JiraDurationUtils utils) { if (duration != null) { return utils.getFormattedDuration(duration, locale); } return null; }
public String shortFormat(Long duration) { if (duration == null) { return "-"; } duration = Math.abs(duration.longValue()); return jiraDurationUtils.getShortFormattedDuration(duration); } }
private Long convertDurationIntoSeconds(final String estimate) { try { return jiraDurationUtils.parseDuration(estimate, authenticationContext.getLocale()); } catch (InvalidDurationException e) { log.error("Error occurred while converting time estimates."); throw new IllegalArgumentException("Error occurred while converting time estimates:" + e.getMessage()); } }
public String getPrettyDuration(final Long v) { return jiraDurationUtils.getFormattedDuration(v); }
public String generateSectionLabel(PieDataset dataset, Comparable key) { Number value = dataset.getValue(key); String timeInDays = jiraDurationUtils.getShortFormattedDuration(value.longValue()); return key + ": " + timeInDays; } });
/** * @param duration the input duration * @return true only if the input duration is not blank and is not valid as deemed by {@link JiraDurationUtils#parseDuration(String, Locale)} */ boolean isDurationInvalid(final String duration) { if (StringUtils.isNotBlank(duration)) { try { jiraDurationUtils.parseDuration(duration, authenticationContext.getLocale()); } catch (InvalidDurationException e) { return true; } } return false; }
String getFormattedDuration(Long duration) { return jiraDurationUtils.getFormattedDuration(duration); }
public String generateToolTip(PieDataset dataset, Comparable key) { int convertToSec = 1; Number number = dataset.getValue(key); return key + ": " + jiraDurationUtils.getShortFormattedDuration(convertToSec * (number.longValue())) + " (" + (100 * number.longValue() / totalWorkload) + "%)"; } });
protected long getDurationForFormattedString(String timeSpent, JiraServiceContext jiraServiceContext) { try { return jiraDurationUtils.parseDuration(timeSpent, jiraServiceContext.getI18nBean().getLocale()); } catch (InvalidDurationException e) { // This should never happen since we have done the validation with isValid before this method is ever // called log.error("Trying to create/update a worklog with an invalid duration, this should never happen.", e); throw new RuntimeException(e); } }