From 4059f4150caa41e61034a19e830dba1f2ca01544 Mon Sep 17 00:00:00 2001 From: George Aristy Date: Tue, 9 Jan 2018 23:15:42 -0400 Subject: [PATCH] (#138) TimeTrackEntry: description should not be optional (REF) TimeTrackEntry.description: now returns String instead of Optional (REF) EntrySpec: no longer assuming that user provided 'null' value for description (REF) refactor: XmlTimeTrackEntry, XmlTimeTrackEntryTest --- .../java/org/llorllale/youtrack/api/IssueTimeTracking.java | 6 +++--- .../java/org/llorllale/youtrack/api/TimeTrackEntry.java | 4 ++-- .../java/org/llorllale/youtrack/api/XmlTimeTrackEntry.java | 4 ++-- .../org/llorllale/youtrack/api/XmlTimeTrackEntryTest.java | 3 +-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/llorllale/youtrack/api/IssueTimeTracking.java b/src/main/java/org/llorllale/youtrack/api/IssueTimeTracking.java index 8c5b77c..d6dc6e3 100644 --- a/src/main/java/org/llorllale/youtrack/api/IssueTimeTracking.java +++ b/src/main/java/org/llorllale/youtrack/api/IssueTimeTracking.java @@ -79,7 +79,7 @@ final class EntrySpec { * * @param date the date when the entry was worked * @param duration the duration for the work - * @param description description for the work (may be {@code null}) + * @param description description for the work * @param type the work type (eg. "Development") (may be {@code null}) * @since 0.4.0 */ @@ -182,7 +182,7 @@ public Xml asXml() { .append(String.valueOf(this.duration.toMinutes())) .append("") .append("") - .append(Optional.ofNullable(this.description).orElse("")) + .append(this.description) .append(""); Optional.ofNullable(this.type).ifPresent(t -> @@ -207,7 +207,7 @@ public Xml asXml() { public int hashCode() { return this.duration.hashCode() ^ this.date.hashCode() - ^ Optional.ofNullable(this.description).hashCode() + ^ this.description.hashCode() ^ Optional.ofNullable(this.type).hashCode(); } diff --git a/src/main/java/org/llorllale/youtrack/api/TimeTrackEntry.java b/src/main/java/org/llorllale/youtrack/api/TimeTrackEntry.java index 2bae42c..988f43f 100644 --- a/src/main/java/org/llorllale/youtrack/api/TimeTrackEntry.java +++ b/src/main/java/org/llorllale/youtrack/api/TimeTrackEntry.java @@ -54,10 +54,10 @@ public interface TimeTrackEntry { /** * The item's description. * - * @return the item's description (if any was entered) + * @return the item's description * @since 0.4.0 */ - Optional description(); + String description(); /** * The entry's {@link TimeTrackEntryType type}. diff --git a/src/main/java/org/llorllale/youtrack/api/XmlTimeTrackEntry.java b/src/main/java/org/llorllale/youtrack/api/XmlTimeTrackEntry.java index d384338..f43bdf5 100644 --- a/src/main/java/org/llorllale/youtrack/api/XmlTimeTrackEntry.java +++ b/src/main/java/org/llorllale/youtrack/api/XmlTimeTrackEntry.java @@ -64,8 +64,8 @@ public Duration duration() { } @Override - public Optional description() { - return this.xml.textOf("description"); + public String description() { + return this.xml.textOf("description").get(); } @Override diff --git a/src/test/java/org/llorllale/youtrack/api/XmlTimeTrackEntryTest.java b/src/test/java/org/llorllale/youtrack/api/XmlTimeTrackEntryTest.java index 2be5ef3..5c3a2d7 100644 --- a/src/test/java/org/llorllale/youtrack/api/XmlTimeTrackEntryTest.java +++ b/src/test/java/org/llorllale/youtrack/api/XmlTimeTrackEntryTest.java @@ -18,7 +18,6 @@ import java.time.Duration; import java.time.Instant; -import java.time.ZoneId; import static org.hamcrest.CoreMatchers.is; import org.junit.Test; import static org.junit.Assert.*; @@ -76,7 +75,7 @@ public void testDuration() { @Test public void testDescription() { assertThat( - new XmlTimeTrackEntry(issue(), xml).description().get(), + new XmlTimeTrackEntry(issue(), xml).description(), is("first work item") ); }