diff --git a/src/main/java/de/hftstuttgart/unifiedticketing/core/TicketBuilder.java b/src/main/java/de/hftstuttgart/unifiedticketing/core/TicketBuilder.java index 85160a7221156b1bfb8196dfa475f011a912fe22..8f571e1d95d08ae7c805f54bbe6d745beaebac50 100644 --- a/src/main/java/de/hftstuttgart/unifiedticketing/core/TicketBuilder.java +++ b/src/main/java/de/hftstuttgart/unifiedticketing/core/TicketBuilder.java @@ -20,7 +20,7 @@ public abstract class TicketBuilder<B extends TicketBuilder, T extends Ticket, T public final TS parent; - protected Set<Integer> assignees; + protected Set<String> assignees; protected String description; protected Set<String> labels; protected String title; @@ -37,7 +37,11 @@ public abstract class TicketBuilder<B extends TicketBuilder, T extends Ticket, T logger.log(Level.FINEST, String.format("%s instantiated", this.getClass().getSimpleName())); } - public abstract B assignees(String... identifiers); + public B assignees(String... identifiers) + { + this.assignees = new HashSet<>(Arrays.asList(identifiers)); + return (B) this; + } public B description(String description) { diff --git a/src/main/java/de/hftstuttgart/unifiedticketing/systems/gitlab/GitlabTicketBuilder.java b/src/main/java/de/hftstuttgart/unifiedticketing/systems/gitlab/GitlabTicketBuilder.java index 52741fabeb98c51181a9c29b46149773ea3fd12e..ff0bed076434d65e96415273d1f3776d2f5dc84e 100644 --- a/src/main/java/de/hftstuttgart/unifiedticketing/systems/gitlab/GitlabTicketBuilder.java +++ b/src/main/java/de/hftstuttgart/unifiedticketing/systems/gitlab/GitlabTicketBuilder.java @@ -29,12 +29,10 @@ public class GitlabTicketBuilder extends TicketBuilder<GitlabTicketBuilder, Gitl @Override public GitlabTicketBuilder assignees(String... identifiers) { - try { - assignees(Arrays.stream(identifiers) - .mapToInt(Integer::parseInt) - .toArray()); + Arrays.stream(identifiers) + .forEach(Integer::parseInt); } catch (NumberFormatException e) { @@ -42,15 +40,14 @@ public class GitlabTicketBuilder extends TicketBuilder<GitlabTicketBuilder, Gitl throw new AssertionException(e); } - return this; + return super.assignees(identifiers); } public GitlabTicketBuilder assignees(int... identifiers) { - assignees = Arrays.stream(identifiers) - .mapToObj(i -> (Integer) i) - .collect(Collectors.toSet()); - return this; + return super.assignees(Arrays.stream(identifiers) + .mapToObj(String::valueOf) + .toArray(String[]::new)); } protected OkHttpClient getHttpClient() { return new OkHttpClient(); } @@ -83,7 +80,10 @@ public class GitlabTicketBuilder extends TicketBuilder<GitlabTicketBuilder, Gitl if (this.assignees != null) { ArrayNode ids = body.putArray("assignee_ids"); - assignees.forEach(ids::add); + assignees + .stream() + .mapToInt(Integer::parseInt) + .forEach(ids::add); logger.log(Level.FINEST, "assignees set"); }