diff --git a/logbook-api/src/main/java/org/zalando/logbook/Logbook.java b/logbook-api/src/main/java/org/zalando/logbook/Logbook.java index 885ec53da..ebd08af53 100644 --- a/logbook-api/src/main/java/org/zalando/logbook/Logbook.java +++ b/logbook-api/src/main/java/org/zalando/logbook/Logbook.java @@ -20,7 +20,6 @@ * #L% */ -import com.google.gag.annotation.remark.Hack; import lombok.Singular; import javax.annotation.Nullable; @@ -37,60 +36,48 @@ static Logbook create() { return builder().build(); } - static Creator.Builder builder() { - return Creator.builder(); + @lombok.Builder(builderClassName = "Builder") + static Logbook create( + @Nullable final Predicate condition, + @Singular final List queryObfuscators, + @Singular final List headerObfuscators, + @Singular final List bodyObfuscators, + @Singular final List requestObfuscators, + @Singular final List responseObfuscators, + @Nullable final HttpLogFormatter formatter, + @Nullable final HttpLogWriter writer) { + + final LogbookFactory factory = LogbookFactory.INSTANCE; + + final QueryObfuscator queryObfuscator = queryObfuscators.stream() + .reduce(QueryObfuscator::merge) + .orElse(null); + + final HeaderObfuscator headerObfuscator = headerObfuscators.stream() + .reduce(HeaderObfuscator::merge) + .orElse(null); + + final BodyObfuscator bodyObfuscator = bodyObfuscators.stream() + .reduce(BodyObfuscator::merge) + .orElse(null); + + final RequestObfuscator requestObfuscator = requestObfuscators.stream() + .reduce(RequestObfuscator::merge) + .orElse(null); + + final ResponseObfuscator responseObfuscator = responseObfuscators.stream() + .reduce(ResponseObfuscator::merge) + .orElse(null); + + return factory.create( + condition, + queryObfuscator, + headerObfuscator, + bodyObfuscator, + requestObfuscator, + responseObfuscator, + formatter, + writer); } - @Hack("The Lombok IDEA plugin doesn't like @Builder on static interface methods") - final class Creator { - - Creator() { - // package private so we can trick code coverage - } - - @lombok.Builder(builderClassName = "Builder") - static Logbook create( - @Nullable final Predicate condition, - @Singular final List queryObfuscators, - @Singular final List headerObfuscators, - @Singular final List bodyObfuscators, - @Singular final List requestObfuscators, - @Singular final List responseObfuscators, - @Nullable final HttpLogFormatter formatter, - @Nullable final HttpLogWriter writer) { - - final LogbookFactory factory = LogbookFactory.INSTANCE; - - final QueryObfuscator queryObfuscator = queryObfuscators.stream() - .reduce(QueryObfuscator::merge) - .orElse(null); - - final HeaderObfuscator headerObfuscator = headerObfuscators.stream() - .reduce(HeaderObfuscator::merge) - .orElse(null); - - final BodyObfuscator bodyObfuscator = bodyObfuscators.stream() - .reduce(BodyObfuscator::merge) - .orElse(null); - - final RequestObfuscator requestObfuscator = requestObfuscators.stream() - .reduce(RequestObfuscator::merge) - .orElse(null); - - final ResponseObfuscator responseObfuscator = responseObfuscators.stream() - .reduce(ResponseObfuscator::merge) - .orElse(null); - - return factory.create( - condition, - queryObfuscator, - headerObfuscator, - bodyObfuscator, - requestObfuscator, - responseObfuscator, - formatter, - writer); - } - - } } diff --git a/logbook-api/src/test/java/org/zalando/logbook/EnforceCoverageTest.java b/logbook-api/src/test/java/org/zalando/logbook/EnforceCoverageTest.java index 6ab9692a2..5341d0c2e 100644 --- a/logbook-api/src/test/java/org/zalando/logbook/EnforceCoverageTest.java +++ b/logbook-api/src/test/java/org/zalando/logbook/EnforceCoverageTest.java @@ -40,11 +40,6 @@ public void shouldUseRequestURIConstructor() { new RequestURI(); } - @Test - public void shouldUseCreatorConstructor() { - new Logbook.Creator(); - } - @Test public void shouldUseHeadersConstructor() { new BaseHttpMessage.Headers();