]> source.dussan.org Git - sonarqube.git/commitdiff
[NO-JIRA] Fix QG issue on null-safety for TypeValidations
authorJacek <jacek.poreda@sonarsource.com>
Tue, 8 Feb 2022 09:49:58 +0000 (10:49 +0100)
committersonartech <sonartech@sonarsource.com>
Tue, 8 Feb 2022 20:03:05 +0000 (20:03 +0000)
server/sonar-webserver-api/src/main/java/org/sonar/server/util/TypeValidations.java

index dcde92a2ecacfa8f753362462075e8020da6862d..612a257f4c0a40cf1db671afb63affc183cc4a94 100644 (file)
  */
 package org.sonar.server.util;
 
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
 import java.util.List;
-import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import org.sonar.api.server.ServerSide;
+import org.sonar.server.exceptions.BadRequestException;
 
-import static org.sonar.server.exceptions.BadRequestException.checkRequest;
+import static java.lang.String.format;
 
 @ServerSide
 public class TypeValidations {
@@ -50,21 +48,7 @@ public class TypeValidations {
   }
 
   private TypeValidation findByKey(String key) {
-    TypeValidation typeValidation = Iterables.find(typeValidationList, new TypeValidationMatchKey(key), null);
-    checkRequest(typeValidation != null, "Type '%s' is not valid.", key);
-    return typeValidation;
-  }
-
-  private static class TypeValidationMatchKey implements Predicate<TypeValidation> {
-    private final String key;
-
-    public TypeValidationMatchKey(String key) {
-      this.key = key;
-    }
-
-    @Override
-    public boolean apply(@Nonnull TypeValidation input) {
-      return input.key().equals(key);
-    }
+    return typeValidationList.stream().filter(input -> input.key().equals(key)).findFirst()
+      .orElseThrow(() -> BadRequestException.create(format("Type '%s' is not valid.", key)));
   }
 }