/* * Copyright (c) 2015 BISON Schweiz AG, All Rights Reserved. */ package to.rtc.rtc2jira.exporter.jira.mapping; import java.util.EnumSet; import to.rtc.rtc2jira.exporter.jira.entities.Issue; import to.rtc.rtc2jira.exporter.jira.entities.IssueResolution; import to.rtc.rtc2jira.exporter.jira.entities.ResolutionEnum; import to.rtc.rtc2jira.exporter.jira.entities.Timetracking; import to.rtc.rtc2jira.storage.StorageEngine; /** * @author gustaf.hansen * */ public class EstimatedHoursMapping implements Mapping { static final EnumSet<ResolutionEnum> NO_REMAINING_TIME = EnumSet.of(ResolutionEnum.cannotReproduce, ResolutionEnum.done, ResolutionEnum.duplicate, ResolutionEnum.fixed, ResolutionEnum.wont_fix, ResolutionEnum.wontDo); @Override public void map(Object value, Issue issue, StorageEngine storage) { if (value == null) { Timetracking timetracking = new Timetracking(); timetracking.setOriginalEstimate("0m"); } else { int hours = ((Integer) value).intValue(); if (hours <= 0) { Timetracking timetracking = new Timetracking(); timetracking.setOriginalEstimate("0m"); } else { int minutes = hours * 360; Timetracking timetracking = new Timetracking(); timetracking.setOriginalEstimate(minutes + "m"); IssueResolution resolution = issue.getFields().getResolution(); if (resolution != null && NO_REMAINING_TIME.contains(resolution.getEnum())) { timetracking.setRemainingEstimate("0m"); } issue.getFields().setTimetracking(timetracking); } } } }