diff --git a/.baseline/checkstyle/checkstyle.xml b/.baseline/checkstyle/checkstyle.xml index efc641dfd..268ebe3fc 100644 --- a/.baseline/checkstyle/checkstyle.xml +++ b/.baseline/checkstyle/checkstyle.xml @@ -127,6 +127,11 @@ + + + + + @@ -417,6 +422,7 @@ + @@ -430,7 +436,7 @@ - + diff --git a/build.gradle b/build.gradle index 28abb7be5..de9ffa0f7 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ buildscript { classpath 'com.netflix.nebula:gradle-info-plugin:5.0.3' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath 'com.netflix.nebula:nebula-publishing-plugin:13.4.0' - classpath 'com.palantir.baseline:gradle-baseline-java:0.51.1' + classpath 'com.palantir.baseline:gradle-baseline-java:2.2.0' classpath 'com.palantir.gradle.conjure:gradle-conjure:4.13.1' classpath 'com.palantir.gradle.gitversion:gradle-git-version:0.12.2' classpath 'gradle.plugin.org.inferred:gradle-processors:3.1.0' diff --git a/conjure-core/src/main/java/com/palantir/conjure/defs/ConjureParserUtils.java b/conjure-core/src/main/java/com/palantir/conjure/defs/ConjureParserUtils.java index 73da9db35..ca9c7b788 100644 --- a/conjure-core/src/main/java/com/palantir/conjure/defs/ConjureParserUtils.java +++ b/conjure-core/src/main/java/com/palantir/conjure/defs/ConjureParserUtils.java @@ -72,6 +72,7 @@ import com.palantir.conjure.spec.UnionDefinition; import com.palantir.conjure.visitor.DealiasingTypeVisitor; import com.palantir.conjure.visitor.TypeDefinitionVisitor; +import com.palantir.logsafe.exceptions.SafeIllegalArgumentException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -97,7 +98,7 @@ public static String parsePackageOrElseThrow( Optional defaultPackage) { String packageName = conjurePackage .map(p -> p.name()) - .orElseGet(() -> defaultPackage.orElseThrow(() -> new IllegalArgumentException( + .orElseGet(() -> defaultPackage.orElseThrow(() -> new SafeIllegalArgumentException( // TODO(rfink): Better errors: Can we provide context on where exactly no package was provided? "Must provide default conjure package or " + "explicit conjure package for every object and service"))); @@ -373,7 +374,7 @@ private static Optional parseAuthType( case NONE: return Optional.empty(); default: - throw new IllegalArgumentException("Unrecognized auth type."); + throw new SafeIllegalArgumentException("Unrecognized auth type."); } } @@ -415,14 +416,14 @@ private static ParameterType parseParameterType( return ParameterType.body(BodyParameterType.of()); } case HEADER: - String headerParamId = argumentDef.paramId().map(id -> id.name()).orElse(argName.get()); + String headerParamId = argumentDef.paramId().map(id -> id.name()).orElseGet(() -> argName.get()); return ParameterType.header(HeaderParameterType.of(ParameterId.of(headerParamId))); case PATH: return ParameterType.path(PathParameterType.of()); case BODY: return ParameterType.body(BodyParameterType.of()); case QUERY: - String queryParamId = argumentDef.paramId().map(id -> id.name()).orElse(argName.get()); + String queryParamId = argumentDef.paramId().map(id -> id.name()).orElseGet(() -> argName.get()); return ParameterType.query(QueryParameterType.of(ParameterId.of(queryParamId))); default: throw new IllegalArgumentException("Unknown parameter type: " + argumentDef.paramType()); diff --git a/conjure-core/src/main/java/com/palantir/conjure/defs/validator/EndpointDefinitionValidator.java b/conjure-core/src/main/java/com/palantir/conjure/defs/validator/EndpointDefinitionValidator.java index c38fe80e3..320d4aaf2 100644 --- a/conjure-core/src/main/java/com/palantir/conjure/defs/validator/EndpointDefinitionValidator.java +++ b/conjure-core/src/main/java/com/palantir/conjure/defs/validator/EndpointDefinitionValidator.java @@ -39,6 +39,7 @@ import com.palantir.conjure.visitor.ParameterTypeVisitor; import com.palantir.conjure.visitor.TypeDefinitionVisitor; import com.palantir.conjure.visitor.TypeVisitor; +import com.palantir.logsafe.exceptions.SafeRuntimeException; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -306,17 +307,17 @@ public Boolean visitMap(MapType value) { // DealiasingTypeVisitor above @Override public Boolean visitReference(TypeName value) { - throw new RuntimeException("Unexpected type when validating query parameters"); + throw new SafeRuntimeException("Unexpected type when validating query parameters"); } @Override public Boolean visitExternal(ExternalReference value) { - throw new RuntimeException("Unexpected type when validating query parameters"); + throw new SafeRuntimeException("Unexpected type when validating query parameters"); } @Override public Boolean visitUnknown(String unknownType) { - throw new RuntimeException("Unexpected type when validating query parameters"); + throw new SafeRuntimeException("Unexpected type when validating query parameters"); } })); } diff --git a/conjure-core/src/main/java/com/palantir/conjure/defs/validator/UnionDefinitionValidator.java b/conjure-core/src/main/java/com/palantir/conjure/defs/validator/UnionDefinitionValidator.java index 1acfe5b42..c5c40197a 100644 --- a/conjure-core/src/main/java/com/palantir/conjure/defs/validator/UnionDefinitionValidator.java +++ b/conjure-core/src/main/java/com/palantir/conjure/defs/validator/UnionDefinitionValidator.java @@ -74,7 +74,7 @@ private static boolean isValidJavaIdentifier(String key) { @Override public void validate(UnionDefinition definition) { definition.getUnion().stream().forEach(fieldDef -> { - Preconditions.checkArgument(!Strings.isNullOrEmpty(fieldDef.getFieldName().get()), + com.palantir.logsafe.Preconditions.checkArgument(!Strings.isNullOrEmpty(fieldDef.getFieldName().get()), "Union member key must not be empty"); Preconditions.checkArgument(isValidJavaIdentifier(fieldDef.getFieldName().get()), "Union member key must be a valid Java identifier: %s", diff --git a/conjure-core/src/main/java/com/palantir/conjure/parser/services/AuthDefinition.java b/conjure-core/src/main/java/com/palantir/conjure/parser/services/AuthDefinition.java index 2c767b10a..858da55dd 100644 --- a/conjure-core/src/main/java/com/palantir/conjure/parser/services/AuthDefinition.java +++ b/conjure-core/src/main/java/com/palantir/conjure/parser/services/AuthDefinition.java @@ -16,12 +16,12 @@ package com.palantir.conjure.parser.services; -import static com.google.common.base.Preconditions.checkArgument; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.palantir.conjure.defs.ConjureImmutablesStyle; +import com.palantir.logsafe.Preconditions; import java.util.Locale; import org.immutables.value.Value; @@ -81,7 +81,7 @@ static AuthDefinition fromString(String value) { id = "NONE"; break; case COOKIE: - checkArgument(parts.length == 2, "Cookie authorization type must include a cookie name"); + Preconditions.checkArgument(parts.length == 2, "Cookie authorization type must include a cookie name"); id = parts[1]; break; default: diff --git a/conjure-core/src/main/java/com/palantir/conjure/parser/types/BaseObjectTypeDefinition.java b/conjure-core/src/main/java/com/palantir/conjure/parser/types/BaseObjectTypeDefinition.java index 13479fcd5..de65e46ad 100644 --- a/conjure-core/src/main/java/com/palantir/conjure/parser/types/BaseObjectTypeDefinition.java +++ b/conjure-core/src/main/java/com/palantir/conjure/parser/types/BaseObjectTypeDefinition.java @@ -29,6 +29,7 @@ import com.palantir.conjure.parser.types.complex.UnionTypeDefinition; import com.palantir.conjure.parser.types.names.ConjurePackage; import com.palantir.conjure.parser.types.reference.AliasTypeDefinition; +import com.palantir.logsafe.exceptions.SafeIllegalArgumentException; import java.io.IOException; import java.util.Optional; @@ -57,7 +58,7 @@ public BaseObjectTypeDefinition deserialize(JsonParser parser, DeserializationCo } else if (tree.get("namespace") != null) { return ErrorTypeDefinition.fromJson(parser, tree); } else { - throw new IllegalArgumentException( + throw new SafeIllegalArgumentException( "Unrecognized definition, types must have either fields, values or an alias defined."); } } diff --git a/conjure-core/src/test/java/com/palantir/conjure/defs/ConjureSpecTest.java b/conjure-core/src/test/java/com/palantir/conjure/defs/ConjureSpecTest.java index 80712fb80..be94910f8 100644 --- a/conjure-core/src/test/java/com/palantir/conjure/defs/ConjureSpecTest.java +++ b/conjure-core/src/test/java/com/palantir/conjure/defs/ConjureSpecTest.java @@ -69,7 +69,7 @@ public ConjureSpecTest(TestCaseDefinition testCaseDef) { @Test public void testConjureSpec() { // test positive cases - testCaseDef.positive().orElse(new TreeMap<>()).entrySet().stream().forEach(entry -> { + testCaseDef.positive().orElseGet(() -> new TreeMap<>()).entrySet().stream().forEach(entry -> { String testName = String.format("positive case %s", entry.getKey()); String yml = getYmlAsString(testName, entry.getValue().conjure()); try { @@ -80,7 +80,7 @@ public void testConjureSpec() { }); // test negative cases - testCaseDef.negative().orElse(new TreeMap<>()).entrySet().stream().forEach(entry -> { + testCaseDef.negative().orElseGet(() -> new TreeMap<>()).entrySet().stream().forEach(entry -> { String testName = String.format("negative case %s", entry.getKey()); String yml = getYmlAsString(testName, entry.getValue().conjure()); try {