diff --git a/build-tools-internal/src/main/resources/forbidden/es-all-signatures.txt b/build-tools-internal/src/main/resources/forbidden/es-all-signatures.txt index b372f54d63bd8..4971dbc66cec2 100644 --- a/build-tools-internal/src/main/resources/forbidden/es-all-signatures.txt +++ b/build-tools-internal/src/main/resources/forbidden/es-all-signatures.txt @@ -35,6 +35,7 @@ java.nio.channels.SocketChannel#connect(java.net.SocketAddress) # org.elasticsearch.core.Booleans#parseBoolean(java.lang.String) directly on the string. @defaultMessage use org.elasticsearch.core.Booleans#parseBoolean(java.lang.String) java.lang.Boolean#getBoolean(java.lang.String) +java.lang.Boolean#parseBoolean(java.lang.String) org.apache.lucene.util.IOUtils @ use @org.elasticsearch.core.internal.io instead diff --git a/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java b/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java index 5e5c82af4807e..eaecc84ef6ed1 100644 --- a/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java +++ b/libs/core/src/main/java/org/elasticsearch/core/internal/provider/EmbeddedImplClassLoader.java @@ -9,6 +9,8 @@ package org.elasticsearch.core.internal.provider; +import org.elasticsearch.core.SuppressForbidden; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -465,6 +467,9 @@ private static CodeSource codeSource(URL baseURL, String jarName) throws Malform return new CodeSource(new URL(baseURL, jarName), (CodeSigner[]) null /*signers*/); } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) private static boolean isMultiRelease(ClassLoader parent, String jarPrefix) throws IOException { try (InputStream is = parent.getResourceAsStream(jarPrefix + "/META-INF/MANIFEST.MF")) { if (is != null) { diff --git a/libs/entitlement/tools/public-callers-finder/src/main/java/org/elasticsearch/entitlement/tools/publiccallersfinder/Main.java b/libs/entitlement/tools/public-callers-finder/src/main/java/org/elasticsearch/entitlement/tools/publiccallersfinder/Main.java index 60b3a3c9f3c8e..3c739d2cbd2f5 100644 --- a/libs/entitlement/tools/public-callers-finder/src/main/java/org/elasticsearch/entitlement/tools/publiccallersfinder/Main.java +++ b/libs/entitlement/tools/public-callers-finder/src/main/java/org/elasticsearch/entitlement/tools/publiccallersfinder/Main.java @@ -189,6 +189,9 @@ private static void parseCsv(Path csvPath, MethodDescriptorConsumer methodConsum } } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) public static void main(String[] args) throws IOException { var csvFilePath = Path.of(args[0]); boolean bubbleUpFromPublic = args.length >= 2 && Boolean.parseBoolean(args[1]); diff --git a/modules/aggregations/src/yamlRestTest/java/org/elasticsearch/aggregations/AggregationsClientYamlTestSuiteIT.java b/modules/aggregations/src/yamlRestTest/java/org/elasticsearch/aggregations/AggregationsClientYamlTestSuiteIT.java index c4f44bc3e4b3e..9c5d0afbcec5a 100644 --- a/modules/aggregations/src/yamlRestTest/java/org/elasticsearch/aggregations/AggregationsClientYamlTestSuiteIT.java +++ b/modules/aggregations/src/yamlRestTest/java/org/elasticsearch/aggregations/AggregationsClientYamlTestSuiteIT.java @@ -11,6 +11,7 @@ import com.carrotsearch.randomizedtesting.annotations.Name; import com.carrotsearch.randomizedtesting.annotations.ParametersFactory; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.FeatureFlag; import org.elasticsearch.test.rest.yaml.ClientYamlTestCandidate; @@ -26,8 +27,8 @@ private static ElasticsearchCluster makeCluster() { // On Serverless, we want to disallow scripted metrics aggs per default. // The following override allows us to still run the scripted metrics agg tests without breaking bwc. - boolean disableAllowListPerDefault = Boolean.parseBoolean( - System.getProperty("tests.disable_scripted_metric_allow_list_per_default") + boolean disableAllowListPerDefault = Booleans.parseBoolean( + System.getProperty("tests.disable_scripted_metric_allow_list_per_default", "false") ); if (disableAllowListPerDefault) { return cluster.setting("search.aggs.only_allowed_metric_scripts", "false").build(); diff --git a/modules/data-streams/src/yamlRestTest/java/org/elasticsearch/datastreams/DataStreamsClientYamlTestSuiteIT.java b/modules/data-streams/src/yamlRestTest/java/org/elasticsearch/datastreams/DataStreamsClientYamlTestSuiteIT.java index 36211e9a93750..a6c6cf6cb3319 100644 --- a/modules/data-streams/src/yamlRestTest/java/org/elasticsearch/datastreams/DataStreamsClientYamlTestSuiteIT.java +++ b/modules/data-streams/src/yamlRestTest/java/org/elasticsearch/datastreams/DataStreamsClientYamlTestSuiteIT.java @@ -13,6 +13,7 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.LocalClusterSpecBuilder; import org.elasticsearch.test.cluster.local.distribution.DistributionType; @@ -51,7 +52,7 @@ private static ElasticsearchCluster createCluster() { if (initTestSeed().nextBoolean()) { clusterBuilder.setting("xpack.license.self_generated.type", "trial"); } - boolean setNodes = Boolean.parseBoolean(System.getProperty("yaml.rest.tests.set_num_nodes", "true")); + boolean setNodes = Booleans.parseBoolean(System.getProperty("yaml.rest.tests.set_num_nodes", "true")); if (setNodes) { clusterBuilder.nodes(2); } diff --git a/modules/dot-prefix-validation/src/yamlRestTest/java/org/elasticsearch/validation/DotPrefixClientYamlTestSuiteIT.java b/modules/dot-prefix-validation/src/yamlRestTest/java/org/elasticsearch/validation/DotPrefixClientYamlTestSuiteIT.java index b00b5e54cb1d3..9e83287139747 100644 --- a/modules/dot-prefix-validation/src/yamlRestTest/java/org/elasticsearch/validation/DotPrefixClientYamlTestSuiteIT.java +++ b/modules/dot-prefix-validation/src/yamlRestTest/java/org/elasticsearch/validation/DotPrefixClientYamlTestSuiteIT.java @@ -14,6 +14,7 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.LocalClusterSpecBuilder; import org.elasticsearch.test.cluster.local.distribution.DistributionType; @@ -50,7 +51,7 @@ private static ElasticsearchCluster createCluster() { .setting("xpack.security.enabled", "true") .keystore("bootstrap.password", "x-pack-test-password") .user("x_pack_rest_user", "x-pack-test-password"); - boolean setNodes = Boolean.parseBoolean(System.getProperty("yaml.rest.tests.set_num_nodes", "true")); + boolean setNodes = Booleans.parseBoolean(System.getProperty("yaml.rest.tests.set_num_nodes", "true")); if (setNodes) { clusterBuilder.nodes(2); } diff --git a/modules/ingest-common/src/yamlRestTest/java/org/elasticsearch/ingest/common/IngestCommonClientYamlTestSuiteIT.java b/modules/ingest-common/src/yamlRestTest/java/org/elasticsearch/ingest/common/IngestCommonClientYamlTestSuiteIT.java index 8150b7cdd176f..fe87f81d93bfe 100644 --- a/modules/ingest-common/src/yamlRestTest/java/org/elasticsearch/ingest/common/IngestCommonClientYamlTestSuiteIT.java +++ b/modules/ingest-common/src/yamlRestTest/java/org/elasticsearch/ingest/common/IngestCommonClientYamlTestSuiteIT.java @@ -15,6 +15,7 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.LocalClusterSpecBuilder; import org.elasticsearch.test.cluster.local.distribution.DistributionType; @@ -48,7 +49,7 @@ private static ElasticsearchCluster createCluster() { .distribution(DistributionType.DEFAULT) .setting("xpack.security.enabled", "true") .user("x_pack_rest_user", "x-pack-test-password"); - boolean setNodes = Boolean.parseBoolean(System.getProperty("yaml.rest.tests.set_num_nodes", "true")); + boolean setNodes = Booleans.parseBoolean(System.getProperty("yaml.rest.tests.set_num_nodes", "true")); if (setNodes) { clusterBuilder.nodes(2); } diff --git a/modules/ingest-geoip/qa/geoip-reindexed/src/javaRestTest/java/org/elasticsearch/ingest/geoip/GeoIpReindexedIT.java b/modules/ingest-geoip/qa/geoip-reindexed/src/javaRestTest/java/org/elasticsearch/ingest/geoip/GeoIpReindexedIT.java index 67c34e0445b44..4c8cf07801d7b 100644 --- a/modules/ingest-geoip/qa/geoip-reindexed/src/javaRestTest/java/org/elasticsearch/ingest/geoip/GeoIpReindexedIT.java +++ b/modules/ingest-geoip/qa/geoip-reindexed/src/javaRestTest/java/org/elasticsearch/ingest/geoip/GeoIpReindexedIT.java @@ -20,6 +20,7 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.CollectionUtils; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.Nullable; import org.elasticsearch.rest.RestStatus; import org.elasticsearch.test.cluster.ElasticsearchCluster; @@ -52,7 +53,7 @@ public class GeoIpReindexedIT extends ParameterizedFullClusterRestartTestCase { // e.g. use ./gradlew -Dtests.jvm.argline="-Dgeoip_test_with_security=false" ":modules:ingest-geoip:qa:full-cluster-restart:check" // to set this to false, if you so desire - private static final boolean useSecurity = Boolean.parseBoolean(System.getProperty("geoip_test_with_security", "true")); + private static final boolean useSecurity = Booleans.parseBoolean(System.getProperty("geoip_test_with_security", "true")); private static final ElasticsearchCluster cluster = ElasticsearchCluster.local() .distribution(DistributionType.DEFAULT) diff --git a/modules/lang-painless/src/main/java/org/elasticsearch/painless/PainlessScriptEngine.java b/modules/lang-painless/src/main/java/org/elasticsearch/painless/PainlessScriptEngine.java index e350a5a1ec1da..cbb7b01b76392 100644 --- a/modules/lang-painless/src/main/java/org/elasticsearch/painless/PainlessScriptEngine.java +++ b/modules/lang-painless/src/main/java/org/elasticsearch/painless/PainlessScriptEngine.java @@ -11,6 +11,7 @@ import org.elasticsearch.SpecialPermission; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.painless.Compiler.Loader; import org.elasticsearch.painless.lookup.PainlessLookup; import org.elasticsearch.painless.lookup.PainlessLookupBuilder; @@ -414,7 +415,7 @@ private CompilerSettings buildCompilerSettings(Map params) { value = copy.remove(CompilerSettings.PICKY); if (value != null) { - compilerSettings.setPicky(Boolean.parseBoolean(value)); + compilerSettings.setPicky(Booleans.parseBoolean(value)); } value = copy.remove(CompilerSettings.INITIAL_CALL_SITE_DEPTH); diff --git a/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/NettyAllocator.java b/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/NettyAllocator.java index e8bd5514947d6..de6f1c289a2a0 100644 --- a/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/NettyAllocator.java +++ b/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/NettyAllocator.java @@ -26,11 +26,15 @@ import org.elasticsearch.common.util.PageCacheRecycler; import org.elasticsearch.core.Assertions; import org.elasticsearch.core.Booleans; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.monitor.jvm.JvmInfo; import java.util.Arrays; import java.util.concurrent.atomic.AtomicBoolean; +@SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" +) public class NettyAllocator { private static final Logger logger = LogManager.getLogger(NettyAllocator.class); diff --git a/qa/lucene-index-compatibility/src/javaRestTest/java/org/elasticsearch/lucene/AbstractIndexCompatibilityTestCase.java b/qa/lucene-index-compatibility/src/javaRestTest/java/org/elasticsearch/lucene/AbstractIndexCompatibilityTestCase.java index 1f30505e00104..b601bb9006821 100644 --- a/qa/lucene-index-compatibility/src/javaRestTest/java/org/elasticsearch/lucene/AbstractIndexCompatibilityTestCase.java +++ b/qa/lucene-index-compatibility/src/javaRestTest/java/org/elasticsearch/lucene/AbstractIndexCompatibilityTestCase.java @@ -21,6 +21,7 @@ import org.elasticsearch.common.Strings; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.test.XContentTestUtils; @@ -330,7 +331,7 @@ protected static List indexBlocks(String indexName) throws Excepti @SuppressWarnings("unchecked") protected static void assertIndexSetting(String indexName, Setting setting, Matcher matcher) throws Exception { var indexSettings = getIndexSettingsAsMap(indexName); - assertThat(Boolean.parseBoolean((String) indexSettings.get(setting.getKey())), matcher); + assertThat(Booleans.parseBoolean((String) indexSettings.get(setting.getKey())), matcher); } protected static ResponseException expectUpdateIndexSettingsThrows(String indexName, Settings.Builder settings) { diff --git a/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java b/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java index ea71308b11940..2b1c9ed140ee3 100644 --- a/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java +++ b/qa/packaging/src/test/java/org/elasticsearch/packaging/util/ServerUtils.java @@ -26,6 +26,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.packaging.test.PackagingTestCase; import java.io.IOException; @@ -82,7 +83,7 @@ public static void waitForElasticsearch(Installation installation) throws Except .lines() .filter(each -> each.startsWith("xpack.security.enabled")) .findFirst() - .map(line -> Boolean.parseBoolean(line.split("=")[1])) + .map(line -> Booleans.parseBoolean(line.split("=")[1])) // security is enabled by default, the only way for it to be disabled is to be explicitly disabled .orElse(true); } diff --git a/qa/rolling-upgrade-legacy/src/test/java/org/elasticsearch/upgrades/AbstractRollingTestCase.java b/qa/rolling-upgrade-legacy/src/test/java/org/elasticsearch/upgrades/AbstractRollingTestCase.java index e0ce4e47212c9..5f03c5b9a1d74 100644 --- a/qa/rolling-upgrade-legacy/src/test/java/org/elasticsearch/upgrades/AbstractRollingTestCase.java +++ b/qa/rolling-upgrade-legacy/src/test/java/org/elasticsearch/upgrades/AbstractRollingTestCase.java @@ -29,7 +29,6 @@ public static ClusterType parse(String value) { } protected static final ClusterType CLUSTER_TYPE = ClusterType.parse(System.getProperty("tests.rest.suite")); - protected static final boolean FIRST_MIXED_ROUND = Boolean.parseBoolean(System.getProperty("tests.first_round", "false")); protected static final Version UPGRADE_FROM_VERSION = Version.fromString(System.getProperty("tests.upgrade_from_version")); @Override diff --git a/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/FeatureUpgradeIT.java b/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/FeatureUpgradeIT.java index faa012adcc139..b85dbf5ab3ce8 100644 --- a/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/FeatureUpgradeIT.java +++ b/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/FeatureUpgradeIT.java @@ -13,6 +13,7 @@ import org.elasticsearch.client.Request; import org.elasticsearch.client.ResponseException; +import org.elasticsearch.core.Booleans; import org.elasticsearch.indices.SystemIndices; import org.elasticsearch.test.XContentTestUtils; import org.junit.BeforeClass; @@ -33,7 +34,7 @@ public FeatureUpgradeIT(@Name("upgradedNodes") int upgradedNodes) { @BeforeClass public static void ensureNotForwardCompatTest() { - assumeFalse("Only supported by bwc tests", Boolean.parseBoolean(System.getProperty("tests.fwc", "false"))); + assumeFalse("Only supported by bwc tests", Booleans.parseBoolean(System.getProperty("tests.fwc", "false"))); } public void testGetFeatureUpgradeStatus() throws Exception { diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexAction.java b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexAction.java index 6c9e9ddf59e04..b2bcc530adab5 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexAction.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/resolve/ResolveIndexAction.java @@ -38,6 +38,7 @@ import org.elasticsearch.common.util.concurrent.CountDown; import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.core.Nullable; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.index.Index; import org.elasticsearch.injection.guice.Inject; import org.elasticsearch.search.SearchService; @@ -607,6 +608,9 @@ private static void mergeResults( } } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) private static void enrichIndexAbstraction( ProjectState projectState, ResolvedExpression resolvedExpression, diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/LifecycleExecutionState.java b/server/src/main/java/org/elasticsearch/cluster/metadata/LifecycleExecutionState.java index 6397ce3c63b35..5c6a8633d5029 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/LifecycleExecutionState.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/LifecycleExecutionState.java @@ -11,6 +11,7 @@ import org.elasticsearch.ElasticsearchException; import org.elasticsearch.common.Strings; +import org.elasticsearch.core.SuppressForbidden; import java.util.Collections; import java.util.HashMap; @@ -91,6 +92,9 @@ public static Builder builder(LifecycleExecutionState state) { .setStepTime(state.stepTime); } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) public static LifecycleExecutionState fromCustomMetadata(Map customData) { Builder builder = builder(); String phase = customData.get(PHASE); diff --git a/server/src/main/java/org/elasticsearch/common/network/NetworkUtils.java b/server/src/main/java/org/elasticsearch/common/network/NetworkUtils.java index 061b5da66fb4f..6ad5b966ce3ac 100644 --- a/server/src/main/java/org/elasticsearch/common/network/NetworkUtils.java +++ b/server/src/main/java/org/elasticsearch/common/network/NetworkUtils.java @@ -12,6 +12,7 @@ import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.Constants; import org.elasticsearch.core.Predicates; +import org.elasticsearch.core.SuppressForbidden; import java.io.IOException; import java.net.Inet4Address; @@ -32,6 +33,9 @@ * Utilities for network interfaces / addresses binding and publishing. * Its only intended for that purpose, not general purpose usage!!!! */ +@SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" +) public abstract class NetworkUtils { /** no instantiation */ diff --git a/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java b/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java index 0681d2edd0dac..8396badc5c4d5 100644 --- a/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java +++ b/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java @@ -677,6 +677,9 @@ public OnDiskState loadOnDiskState(Path dataPath, DirectoryReader reader) throws ); } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) public OnDiskStateMetadata loadOnDiskStateMetadataFromUserData(Map userData) { assert userData.get(CURRENT_TERM_KEY) != null; assert userData.get(LAST_ACCEPTED_VERSION_KEY) != null; diff --git a/server/src/main/java/org/elasticsearch/index/IndexService.java b/server/src/main/java/org/elasticsearch/index/IndexService.java index 2c9616e0791e5..f714c0fac322a 100644 --- a/server/src/main/java/org/elasticsearch/index/IndexService.java +++ b/server/src/main/java/org/elasticsearch/index/IndexService.java @@ -38,6 +38,7 @@ import org.elasticsearch.core.CheckedFunction; import org.elasticsearch.core.IOUtils; import org.elasticsearch.core.Nullable; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.core.TimeValue; import org.elasticsearch.env.NodeEnvironment; import org.elasticsearch.env.ShardLock; @@ -174,6 +175,9 @@ public class IndexService extends AbstractIndexComponent implements IndicesClust private final SearchStatsSettings searchStatsSettings; @SuppressWarnings("this-escape") + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) public IndexService( IndexSettings indexSettings, IndexCreationContext indexCreationContext, diff --git a/server/src/main/java/org/elasticsearch/index/IndexSettings.java b/server/src/main/java/org/elasticsearch/index/IndexSettings.java index 4b89ab2e60021..2bf7ba4faf2c2 100644 --- a/server/src/main/java/org/elasticsearch/index/IndexSettings.java +++ b/server/src/main/java/org/elasticsearch/index/IndexSettings.java @@ -25,6 +25,7 @@ import org.elasticsearch.common.unit.ByteSizeUnit; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.common.util.FeatureFlag; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.core.TimeValue; import org.elasticsearch.index.mapper.IgnoredSourceFieldMapper; import org.elasticsearch.index.mapper.Mapper; @@ -302,6 +303,9 @@ public final class IndexSettings { return DEFAULT_REFRESH_INTERVAL; }, new RefreshIntervalValidator(), Property.Dynamic, Property.IndexScope, Property.ServerlessPublic); + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) static class RefreshIntervalValidator implements Setting.Validator { static final String STATELESS_ALLOW_INDEX_REFRESH_INTERVAL_OVERRIDE = "es.stateless.allow.index.refresh_interval.override"; diff --git a/server/src/main/java/org/elasticsearch/index/codec/tsdb/es819/ES819TSDBDocValuesFormat.java b/server/src/main/java/org/elasticsearch/index/codec/tsdb/es819/ES819TSDBDocValuesFormat.java index af86fcf23e612..47beddea4d8a5 100644 --- a/server/src/main/java/org/elasticsearch/index/codec/tsdb/es819/ES819TSDBDocValuesFormat.java +++ b/server/src/main/java/org/elasticsearch/index/codec/tsdb/es819/ES819TSDBDocValuesFormat.java @@ -13,6 +13,7 @@ import org.apache.lucene.codecs.DocValuesProducer; import org.apache.lucene.index.SegmentReadState; import org.apache.lucene.index.SegmentWriteState; +import org.elasticsearch.core.SuppressForbidden; import java.io.IOException; @@ -28,6 +29,9 @@ * cpu resources. * */ +@SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" +) public class ES819TSDBDocValuesFormat extends org.apache.lucene.codecs.DocValuesFormat { static final int NUMERIC_BLOCK_SHIFT = 7; diff --git a/server/src/main/java/org/elasticsearch/index/codec/vectors/es818/ES818BinaryQuantizedVectorsFormat.java b/server/src/main/java/org/elasticsearch/index/codec/vectors/es818/ES818BinaryQuantizedVectorsFormat.java index 5df81c35bbd40..b4583047d664c 100644 --- a/server/src/main/java/org/elasticsearch/index/codec/vectors/es818/ES818BinaryQuantizedVectorsFormat.java +++ b/server/src/main/java/org/elasticsearch/index/codec/vectors/es818/ES818BinaryQuantizedVectorsFormat.java @@ -26,6 +26,7 @@ import org.apache.lucene.codecs.lucene99.Lucene99FlatVectorsFormat; import org.apache.lucene.index.SegmentReadState; import org.apache.lucene.index.SegmentWriteState; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.index.codec.vectors.OptimizedScalarQuantizer; import java.io.IOException; @@ -85,8 +86,10 @@ *
  • The sparse vector information, if required, mapping vector ordinal to doc ID * */ +@SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" +) public class ES818BinaryQuantizedVectorsFormat extends FlatVectorsFormat { - static final boolean USE_DIRECT_IO = Boolean.parseBoolean(System.getProperty("vector.rescoring.directio", "true")); public static final String BINARIZED_VECTOR_COMPONENT = "BVEC"; diff --git a/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java b/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java index 1e07acb1621c6..d8c2cd0b2b6cf 100644 --- a/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java +++ b/server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java @@ -2734,7 +2734,7 @@ protected IndexWriter createWriter(Directory directory, IndexWriterConfig iwc) t } // with tests.verbose, lucene sets this up: plumb to align with filesystem stream - private static final boolean TESTS_VERBOSE = Boolean.parseBoolean(System.getProperty("tests.verbose")); + private static final boolean TESTS_VERBOSE = Booleans.parseBoolean(System.getProperty("tests.verbose", "false")); private static final boolean SHUFFLE_FORCE_MERGE = Booleans.parseBoolean( System.getProperty("es.shuffle_forced_merge", Boolean.TRUE.toString()) diff --git a/server/src/main/java/org/elasticsearch/index/store/LuceneFilesExtensions.java b/server/src/main/java/org/elasticsearch/index/store/LuceneFilesExtensions.java index 65b3e85d7e7ba..5fe85222e2597 100644 --- a/server/src/main/java/org/elasticsearch/index/store/LuceneFilesExtensions.java +++ b/server/src/main/java/org/elasticsearch/index/store/LuceneFilesExtensions.java @@ -12,6 +12,7 @@ import org.apache.lucene.index.IndexFileNames; import org.elasticsearch.common.util.Maps; import org.elasticsearch.core.Nullable; +import org.elasticsearch.core.SuppressForbidden; import java.util.Collections; import java.util.Map; @@ -94,6 +95,9 @@ public enum LuceneFilesExtensions { * that checks that all encountered file extensions are known to this class. * In the future, we would like to add a proper plugin extension point for this. */ + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) private static boolean allowUnknownLuceneFileExtensions() { return Boolean.parseBoolean(System.getProperty("es.allow_unknown_lucene_file_extensions", "false")); } diff --git a/server/src/main/java/org/elasticsearch/search/SearchService.java b/server/src/main/java/org/elasticsearch/search/SearchService.java index d485b53e7e409..73b9f2b910d36 100644 --- a/server/src/main/java/org/elasticsearch/search/SearchService.java +++ b/server/src/main/java/org/elasticsearch/search/SearchService.java @@ -55,6 +55,7 @@ import org.elasticsearch.core.RefCounted; import org.elasticsearch.core.Releasable; import org.elasticsearch.core.Releasables; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.core.TimeValue; import org.elasticsearch.index.Index; import org.elasticsearch.index.IndexNotFoundException; @@ -589,6 +590,9 @@ protected void doClose() { * @param threadPool with context where to write the new header * @return the wrapped action listener */ + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) static ActionListener wrapListenerForErrorHandling( ActionListener listener, TransportVersion version, diff --git a/server/src/test/java/org/elasticsearch/index/IndexSettingsOverrideTests.java b/server/src/test/java/org/elasticsearch/index/IndexSettingsOverrideTests.java index 5f580914efab2..b033db8507cbb 100644 --- a/server/src/test/java/org/elasticsearch/index/IndexSettingsOverrideTests.java +++ b/server/src/test/java/org/elasticsearch/index/IndexSettingsOverrideTests.java @@ -11,6 +11,7 @@ import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.TimeValue; import org.elasticsearch.test.ESTestCase; @@ -28,7 +29,7 @@ public static IndexMetadata newIndexMeta(String name, Settings indexSettings) { public void testStatelessMinRefreshIntervalOverride() { assumeTrue( "This test depends on system property configured in build.gradle", - Boolean.parseBoolean( + Booleans.parseBoolean( System.getProperty(IndexSettings.RefreshIntervalValidator.STATELESS_ALLOW_INDEX_REFRESH_INTERVAL_OVERRIDE, "false") ) ); diff --git a/server/src/test/java/org/elasticsearch/index/engine/RecoverySourcePruneMergePolicyTests.java b/server/src/test/java/org/elasticsearch/index/engine/RecoverySourcePruneMergePolicyTests.java index b8600842effe4..1bd7c2bb80d2e 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/RecoverySourcePruneMergePolicyTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/RecoverySourcePruneMergePolicyTests.java @@ -34,6 +34,7 @@ import org.apache.lucene.store.Directory; import org.apache.lucene.tests.util.NullInfoStream; import org.apache.lucene.util.InfoStream; +import org.elasticsearch.core.Booleans; import org.elasticsearch.index.mapper.IdFieldMapper; import org.elasticsearch.test.ESTestCase; @@ -182,7 +183,7 @@ public void testPruneSome() throws IOException { Set collect = document.getFields().stream().map(IndexableField::name).collect(Collectors.toSet()); assertTrue(collect.contains("source")); assertTrue(collect.contains("even")); - boolean isEven = Boolean.parseBoolean(document.getField("even").stringValue()); + boolean isEven = Booleans.parseBoolean(document.getField("even").stringValue()); if (isEven) { assertTrue(collect.contains(IdFieldMapper.NAME)); assertThat(collect.contains("extra_source"), equalTo(syntheticRecoverySource == false)); diff --git a/server/src/test/java/org/elasticsearch/index/mapper/XContentDataHelperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/XContentDataHelperTests.java index ecf59b611080b..7d66db422da61 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/XContentDataHelperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/XContentDataHelperTests.java @@ -14,6 +14,7 @@ import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.compress.CompressedXContent; import org.elasticsearch.common.xcontent.XContentHelper; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; @@ -68,7 +69,7 @@ private String encodeAndDecodeCustom(XContentType type, Object value) throws IOE public void testBoolean() throws IOException { boolean b = randomBoolean(); - assertEquals(b, Boolean.parseBoolean(encodeAndDecode(b))); + assertEquals(b, Booleans.parseBoolean(encodeAndDecode(b))); } public void testString() throws IOException { diff --git a/server/src/test/java/org/elasticsearch/index/mapper/blockloader/BooleanFieldBlockLoaderTests.java b/server/src/test/java/org/elasticsearch/index/mapper/blockloader/BooleanFieldBlockLoaderTests.java index 4d20576f23a33..2525509440713 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/blockloader/BooleanFieldBlockLoaderTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/blockloader/BooleanFieldBlockLoaderTests.java @@ -9,6 +9,7 @@ package org.elasticsearch.index.mapper.blockloader; +import org.elasticsearch.core.Booleans; import org.elasticsearch.datageneration.FieldType; import org.elasticsearch.index.mapper.BlockLoaderTestCase; @@ -26,7 +27,7 @@ public BooleanFieldBlockLoaderTests(Params params) { protected Object expected(Map fieldMapping, Object value, TestContext testContext) { var nullValue = switch (fieldMapping.get("null_value")) { case Boolean b -> b; - case String s -> Boolean.parseBoolean(s); + case String s -> Booleans.parseBoolean(s); case null -> null; default -> throw new IllegalStateException("Unexpected null_value format"); }; diff --git a/test/framework/src/main/java/org/elasticsearch/datageneration/matchers/source/FieldSpecificMatcher.java b/test/framework/src/main/java/org/elasticsearch/datageneration/matchers/source/FieldSpecificMatcher.java index aa7b1e203c89e..7adf98ef9d6ee 100644 --- a/test/framework/src/main/java/org/elasticsearch/datageneration/matchers/source/FieldSpecificMatcher.java +++ b/test/framework/src/main/java/org/elasticsearch/datageneration/matchers/source/FieldSpecificMatcher.java @@ -12,6 +12,7 @@ import org.apache.lucene.sandbox.document.HalfFloatPoint; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.datageneration.matchers.MatchResult; import org.elasticsearch.index.mapper.DateFieldMapper; import org.elasticsearch.xcontent.XContentBuilder; @@ -389,7 +390,7 @@ class BooleanMatcher extends GenericMappingAwareMatcher { Object convert(Object value, Object nullValue) { Boolean nullValueBool = null; if (nullValue != null) { - nullValueBool = nullValue instanceof Boolean b ? b : Boolean.parseBoolean((String) nullValue); + nullValueBool = nullValue instanceof Boolean b ? b : Booleans.parseBoolean((String) nullValue); } if (value == null) { @@ -401,7 +402,7 @@ Object convert(Object value, Object nullValue) { } if (value instanceof String s) { try { - return Boolean.parseBoolean(s); + return Booleans.parseBoolean(s); } catch (Exception e) { // malformed return value; diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java index cc64382a4dba0..5d8cc6253c2b6 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java @@ -114,6 +114,7 @@ import org.elasticsearch.common.util.concurrent.ThreadContext; import org.elasticsearch.common.xcontent.ChunkedToXContent; import org.elasticsearch.common.xcontent.XContentHelper; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.FixForMultiProject; import org.elasticsearch.core.IOUtils; import org.elasticsearch.core.Nullable; @@ -2750,7 +2751,7 @@ public static String resolveCustomDataPath(String index) { } public static boolean inFipsJvm() { - return Boolean.parseBoolean(System.getProperty(FIPS_SYSPROP)); + return Booleans.parseBoolean(System.getProperty(FIPS_SYSPROP, "false")); } protected void restartNodesOnBrokenClusterState(ClusterState.Builder clusterStateBuilder) throws Exception { diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java index e6fd95cfa9614..5ddc8b15f4c65 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java @@ -2147,7 +2147,7 @@ private static boolean isUnusableLocale() { } public static boolean inFipsJvm() { - return Boolean.parseBoolean(System.getProperty(FIPS_SYSPROP)); + return Booleans.parseBoolean(System.getProperty(FIPS_SYSPROP, "false")); } /* diff --git a/test/framework/src/main/java/org/elasticsearch/test/junit/listeners/ReproduceInfoPrinter.java b/test/framework/src/main/java/org/elasticsearch/test/junit/listeners/ReproduceInfoPrinter.java index c187c9b822a86..dbe057427074b 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/junit/listeners/ReproduceInfoPrinter.java +++ b/test/framework/src/main/java/org/elasticsearch/test/junit/listeners/ReproduceInfoPrinter.java @@ -14,6 +14,7 @@ import org.apache.logging.log4j.Logger; import org.apache.lucene.util.Constants; import org.elasticsearch.common.Strings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.test.ESTestCase; @@ -52,7 +53,7 @@ public void testFinished(Description description) throws Exception { * Are we in the integ test phase? */ static boolean inVerifyPhase() { - return Boolean.parseBoolean(System.getProperty("tests.verify.phase")); + return Booleans.parseBoolean(System.getProperty("tests.verify.phase", "false")); } @Override @@ -65,7 +66,7 @@ public void testFailure(Failure failure) throws Exception { final String gradlew = Constants.WINDOWS ? "gradlew" : "./gradlew"; final StringBuilder b = new StringBuilder("REPRODUCE WITH: " + gradlew + " "); String task = System.getProperty("tests.task"); - boolean isBwcTest = Boolean.parseBoolean(System.getProperty("tests.bwc", "false")) + boolean isBwcTest = Booleans.parseBoolean(System.getProperty("tests.bwc", "false")) || System.getProperty("tests.bwc.main.version") != null || System.getProperty("tests.bwc.refspec.main") != null; @@ -106,7 +107,7 @@ public void testFailure(Failure failure) throws Exception { } private static boolean isRestApiCompatibilityTest() { - return Boolean.parseBoolean(System.getProperty("tests.restCompat", "false")); + return Booleans.parseBoolean(System.getProperty("tests.restCompat", "false")); } @SuppressForbidden(reason = "printing repro info") @@ -183,7 +184,7 @@ private ReproduceErrorMessageBuilder appendESProperties() { if (System.getProperty("tests.jvm.argline") != null && System.getProperty("tests.jvm.argline").isEmpty() == false) { appendOpt("tests.jvm.argline", "\"" + System.getProperty("tests.jvm.argline") + "\""); } - if (Boolean.parseBoolean(System.getProperty("build.snapshot", "true")) == false) { + if (Booleans.parseBoolean(System.getProperty("build.snapshot", "true")) == false) { appendOpt("license.key", "x-pack/license-tools/src/test/resources/public.key"); } appendOpt("tests.locale", Locale.getDefault().toLanguageTag()); diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java index 936916428538e..5eab69797bc58 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java @@ -61,6 +61,7 @@ import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.common.xcontent.support.XContentMapValues; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.CharArrays; import org.elasticsearch.core.CheckedFunction; import org.elasticsearch.core.CheckedRunnable; @@ -369,7 +370,7 @@ public static void initializeProjectIds() { // The active project-id is slightly longer, and has a fixed prefix so that it's easier to pick in error messages etc. activeProject = "active00" + randomAlphaOfLength(8).toLowerCase(Locale.ROOT); extraProjects = randomSet(1, 3, () -> randomAlphaOfLength(12).toLowerCase(Locale.ROOT)); - multiProjectEnabled = Boolean.parseBoolean(System.getProperty("tests.multi_project.enabled")); + multiProjectEnabled = Booleans.parseBoolean(System.getProperty("tests.multi_project.enabled", "false")); } @Before diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestFeatureService.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestFeatureService.java index e2a24eac6f8ab..4c23c05ddda3c 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestFeatureService.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestFeatureService.java @@ -10,6 +10,7 @@ package org.elasticsearch.test.rest; import org.elasticsearch.Version; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.PathUtils; import org.elasticsearch.core.Strings; import org.elasticsearch.core.SuppressForbidden; @@ -109,7 +110,7 @@ public boolean clusterHasFeature(String featureId, boolean any) { } private static boolean isRestApiCompatibilityTest() { - return Boolean.parseBoolean(System.getProperty("tests.restCompat", "false")); + return Booleans.parseBoolean(System.getProperty("tests.restCompat", "false")); } public static boolean hasFeatureMetadata() { diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/PredictionFieldType.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/PredictionFieldType.java index 5a34efcc449ce..145074af509c7 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/PredictionFieldType.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/inference/trainedmodel/PredictionFieldType.java @@ -11,6 +11,7 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.core.SuppressForbidden; import java.io.IOException; import java.util.Locale; @@ -45,6 +46,9 @@ public String toString() { return name().toLowerCase(Locale.ROOT); } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) public Object transformPredictedValue(Double value, String stringRep) { if (value == null) { return null; diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/GetApiKeyRequestTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/GetApiKeyRequestTests.java index e9ec18f2d5349..07bce40a31e4c 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/GetApiKeyRequestTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/GetApiKeyRequestTests.java @@ -8,6 +8,7 @@ package org.elasticsearch.xpack.core.security.action.apikey; import org.elasticsearch.action.ActionRequestValidationException; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.ESTestCase; import java.io.IOException; @@ -83,7 +84,7 @@ public void testRequestValidationFailureScenarios() throws IOException { .userName(inputs[caseNo][1]) .apiKeyId(inputs[caseNo][2]) .apiKeyName(inputs[caseNo][3]) - .ownedByAuthenticatedUser(Boolean.parseBoolean(inputs[caseNo][4])) + .ownedByAuthenticatedUser(Booleans.parseBoolean(inputs[caseNo][4])) .withProfileUid(randomBoolean()) .build(); ActionRequestValidationException ve = request.validate(); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/InvalidateApiKeyRequestTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/InvalidateApiKeyRequestTests.java index adfbd49452dd9..752118af8f482 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/InvalidateApiKeyRequestTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/action/apikey/InvalidateApiKeyRequestTests.java @@ -15,6 +15,7 @@ import org.elasticsearch.common.io.stream.InputStreamStreamInput; import org.elasticsearch.common.io.stream.OutputStreamStreamOutput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.ESTestCase; import java.io.ByteArrayInputStream; @@ -105,7 +106,7 @@ class Dummy extends LegacyActionRequest { user = a[1]; apiKeyId = a[2]; apiKeyName = a[3]; - ownedByAuthenticatedUser = Boolean.parseBoolean(a[4]); + ownedByAuthenticatedUser = Booleans.parseBoolean(a[4]); } @Override diff --git a/x-pack/plugin/eql/qa/correctness/src/javaRestTest/java/org/elasticsearch/xpack/eql/EsEQLCorrectnessIT.java b/x-pack/plugin/eql/qa/correctness/src/javaRestTest/java/org/elasticsearch/xpack/eql/EsEQLCorrectnessIT.java index 478e2f93db25f..e46082797ecfd 100644 --- a/x-pack/plugin/eql/qa/correctness/src/javaRestTest/java/org/elasticsearch/xpack/eql/EsEQLCorrectnessIT.java +++ b/x-pack/plugin/eql/qa/correctness/src/javaRestTest/java/org/elasticsearch/xpack/eql/EsEQLCorrectnessIT.java @@ -24,6 +24,7 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.junit.annotations.TestLogging; import org.elasticsearch.test.rest.ESRestTestCase; import org.elasticsearch.test.rest.ObjectPath; @@ -133,7 +134,7 @@ public static Iterable parameters() throws Exception { // To enable test of subqueries (filtering) results: -Dtests.eql_correctness_debug=true @SuppressWarnings("unchecked") public void test() throws Exception { - boolean debugMode = Boolean.parseBoolean(System.getProperty("tests.eql_correctness_debug", "false")); + boolean debugMode = Booleans.parseBoolean(System.getProperty("tests.eql_correctness_debug", "false")); int queryNo = spec.queryNo(); if (debugMode) { diff --git a/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/ConsumeProcessor.java b/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/ConsumeProcessor.java index db18ff98e0bce..ebfc90c7ed3c4 100644 --- a/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/ConsumeProcessor.java +++ b/x-pack/plugin/esql/compute/gen/src/main/java/org/elasticsearch/compute/gen/ConsumeProcessor.java @@ -23,7 +23,7 @@ import javax.lang.model.element.TypeElement; /** - * Consumes the "Nullable" and "Inject" annotations and does nothing with them + * Consumes the "Nullable", "Inject" and "SuppressForbidden" annotations and does nothing with them * to prevent warnings when running annotation processors. */ public class ConsumeProcessor implements Processor { @@ -37,6 +37,7 @@ public Set getSupportedAnnotationTypes() { return Set.of( "org.elasticsearch.core.Nullable", "org.elasticsearch.injection.guice.Inject", + "org.elasticsearch.core.SuppressForbidden", "org.elasticsearch.xpack.esql.expression.function.FunctionInfo", "org.elasticsearch.xpack.esql.expression.function.Param", "org.elasticsearch.xpack.esql.expression.function.MapParam", diff --git a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/lucene/ValueSourceReaderTypeConversionTests.java b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/lucene/ValueSourceReaderTypeConversionTests.java index 88211a9170034..f45dee3a6d2bd 100644 --- a/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/lucene/ValueSourceReaderTypeConversionTests.java +++ b/x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/lucene/ValueSourceReaderTypeConversionTests.java @@ -61,6 +61,7 @@ import org.elasticsearch.compute.test.TestBlockFactory; import org.elasticsearch.compute.test.TestDriverFactory; import org.elasticsearch.compute.test.TestResultPageSinkOperator; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.IOUtils; import org.elasticsearch.core.Releasables; import org.elasticsearch.core.TimeValue; @@ -1906,7 +1907,7 @@ void appendValue(Block.Builder builder, Boolean value) { @Override Boolean evalValue(BytesRefBlock container, int index, BytesRef scratchPad) { - return Boolean.parseBoolean(container.getBytesRef(index, scratchPad).utf8ToString()); + return Booleans.parseBoolean(container.getBytesRef(index, scratchPad).utf8ToString()); } } diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/type/EsqlDataTypeConverter.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/type/EsqlDataTypeConverter.java index 18fa0861f5573..30a2dc670ce23 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/type/EsqlDataTypeConverter.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/type/EsqlDataTypeConverter.java @@ -21,6 +21,7 @@ import org.elasticsearch.compute.data.AggregateMetricDoubleBlockBuilder.Metric; import org.elasticsearch.compute.data.DoubleBlock; import org.elasticsearch.compute.data.IntBlock; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.search.DocValueFormat; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.json.JsonXContent; @@ -599,6 +600,9 @@ public static BytesRef numericBooleanToString(Object field) { return new BytesRef(String.valueOf(field)); } + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) public static boolean stringToBoolean(String field) { return Boolean.parseBoolean(field); } diff --git a/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/TimeSeriesDataStreamsIT.java b/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/TimeSeriesDataStreamsIT.java index 2dff9c3bd0617..b0fe91effc7a3 100644 --- a/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/TimeSeriesDataStreamsIT.java +++ b/x-pack/plugin/ilm/qa/multi-node/src/javaRestTest/java/org/elasticsearch/xpack/ilm/TimeSeriesDataStreamsIT.java @@ -14,6 +14,7 @@ import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.cluster.metadata.Template; import org.elasticsearch.common.xcontent.XContentHelper; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.TimeValue; import org.elasticsearch.index.engine.EngineConfig; import org.elasticsearch.test.rest.ESRestTestCase; @@ -85,7 +86,7 @@ public void testRolloverAction() throws Exception { final var backingIndices = getDataStreamBackingIndexNames(dataStream); assertEquals(2, backingIndices.size()); try { - assertTrue(Boolean.parseBoolean((String) getIndexSettingsAsMap(backingIndices.getLast()).get("index.hidden"))); + assertTrue(Booleans.parseBoolean((String) getIndexSettingsAsMap(backingIndices.getLast()).get("index.hidden"))); assertEquals(PhaseCompleteStep.finalStep("hot").getKey(), getStepKeyForIndex(client(), backingIndices.getFirst())); } catch (ResponseException e) { // These API calls may hit different nodes and they might see slightly different versions of the cluster state, diff --git a/x-pack/plugin/migrate/src/internalClusterTest/java/org/elasticsearch/xpack/migrate/action/ReindexDatastreamIndexTransportActionIT.java b/x-pack/plugin/migrate/src/internalClusterTest/java/org/elasticsearch/xpack/migrate/action/ReindexDatastreamIndexTransportActionIT.java index f213551a51e12..1e22fd89cbbff 100644 --- a/x-pack/plugin/migrate/src/internalClusterTest/java/org/elasticsearch/xpack/migrate/action/ReindexDatastreamIndexTransportActionIT.java +++ b/x-pack/plugin/migrate/src/internalClusterTest/java/org/elasticsearch/xpack/migrate/action/ReindexDatastreamIndexTransportActionIT.java @@ -37,6 +37,7 @@ import org.elasticsearch.common.time.DateFormatter; import org.elasticsearch.common.time.FormatNames; import org.elasticsearch.common.xcontent.support.XContentMapValues; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.TimeValue; import org.elasticsearch.datastreams.DataStreamsPlugin; import org.elasticsearch.index.Index; @@ -72,7 +73,6 @@ import java.util.Map; import java.util.concurrent.TimeUnit; -import static java.lang.Boolean.parseBoolean; import static org.elasticsearch.cluster.metadata.MetadataIndexTemplateService.DEFAULT_TIMESTAMP_FIELD; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; @@ -376,9 +376,9 @@ public void testReadOnlyBlocksNotAddedBack() { ).getDestIndex(); var settingsResponse = safeGet(indicesAdmin().getSettings(new GetSettingsRequest(TEST_REQUEST_TIMEOUT).indices(destIndex))); - assertFalse(parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_READ_ONLY))); - assertFalse(parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_READ_ONLY_ALLOW_DELETE))); - assertFalse(parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_BLOCKS_WRITE))); + assertFalse(Booleans.parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_READ_ONLY))); + assertFalse(Booleans.parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_READ_ONLY_ALLOW_DELETE))); + assertFalse(Booleans.parseBoolean(settingsResponse.getSetting(destIndex, IndexMetadata.SETTING_BLOCKS_WRITE))); cleanupMetadataBlocks(destIndex); } diff --git a/x-pack/plugin/repositories-metering-api/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/repositories/metering/s3/S3RepositoriesMeteringIT.java b/x-pack/plugin/repositories-metering-api/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/repositories/metering/s3/S3RepositoriesMeteringIT.java index b3f1d9fb0b6cf..7c389473771c3 100644 --- a/x-pack/plugin/repositories-metering-api/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/repositories/metering/s3/S3RepositoriesMeteringIT.java +++ b/x-pack/plugin/repositories-metering-api/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/repositories/metering/s3/S3RepositoriesMeteringIT.java @@ -9,6 +9,7 @@ import fixture.s3.S3HttpFixture; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.distribution.DistributionType; import org.elasticsearch.xpack.repositories.metering.AbstractRepositoriesMeteringAPIRestTestCase; @@ -21,7 +22,7 @@ public class S3RepositoriesMeteringIT extends AbstractRepositoriesMeteringAPIRestTestCase { - static final boolean USE_FIXTURE = Boolean.parseBoolean(System.getProperty("tests.use.fixture", "true")); + static final boolean USE_FIXTURE = Booleans.parseBoolean(System.getProperty("tests.use.fixture", "true")); public static final S3HttpFixture s3Fixture = new S3HttpFixture(USE_FIXTURE); diff --git a/x-pack/plugin/searchable-snapshots/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/searchablesnapshots/s3/S3SearchableSnapshotsIT.java b/x-pack/plugin/searchable-snapshots/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/searchablesnapshots/s3/S3SearchableSnapshotsIT.java index 93ac3df92f47b..89d8e223964cc 100644 --- a/x-pack/plugin/searchable-snapshots/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/searchablesnapshots/s3/S3SearchableSnapshotsIT.java +++ b/x-pack/plugin/searchable-snapshots/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/searchablesnapshots/s3/S3SearchableSnapshotsIT.java @@ -9,6 +9,7 @@ import fixture.s3.S3HttpFixture; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.distribution.DistributionType; import org.elasticsearch.xpack.searchablesnapshots.AbstractSearchableSnapshotsRestTestCase; @@ -20,7 +21,7 @@ import static org.hamcrest.Matchers.not; public class S3SearchableSnapshotsIT extends AbstractSearchableSnapshotsRestTestCase { - static final boolean USE_FIXTURE = Boolean.parseBoolean(System.getProperty("tests.use.fixture", "true")); + static final boolean USE_FIXTURE = Booleans.parseBoolean(System.getProperty("tests.use.fixture", "true")); public static final S3HttpFixture s3Fixture = new S3HttpFixture(USE_FIXTURE); diff --git a/x-pack/plugin/security/qa/multi-cluster/src/javaRestTest/java/org/elasticsearch/xpack/remotecluster/RemoteClusterSecurityRestIT.java b/x-pack/plugin/security/qa/multi-cluster/src/javaRestTest/java/org/elasticsearch/xpack/remotecluster/RemoteClusterSecurityRestIT.java index 9c9a2f79d34ca..ecdf2c0f3767d 100644 --- a/x-pack/plugin/security/qa/multi-cluster/src/javaRestTest/java/org/elasticsearch/xpack/remotecluster/RemoteClusterSecurityRestIT.java +++ b/x-pack/plugin/security/qa/multi-cluster/src/javaRestTest/java/org/elasticsearch/xpack/remotecluster/RemoteClusterSecurityRestIT.java @@ -18,6 +18,7 @@ import org.elasticsearch.common.io.Streams; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentHelper; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.Strings; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchResponseUtils; @@ -647,7 +648,7 @@ public void testNodesInfo() throws IOException { // remote cluster is not reported in transport profiles assertThat(ObjectPath.eval("transport.profiles", node), anEmptyMap()); - if (Boolean.parseBoolean(ObjectPath.eval("settings.remote_cluster_server.enabled", node))) { + if (Booleans.parseBoolean(ObjectPath.eval("settings.remote_cluster_server.enabled", node))) { numberOfRemoteClusterServerNodes += 1; final List boundAddresses = ObjectPath.eval("remote_cluster_server.bound_address", node); assertThat(boundAddresses, notNullValue()); diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/esnative/tool/SetupPasswordTool.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/esnative/tool/SetupPasswordTool.java index be7a997741372..3e595ec1a4342 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/esnative/tool/SetupPasswordTool.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/esnative/tool/SetupPasswordTool.java @@ -26,6 +26,7 @@ import org.elasticsearch.common.util.Maps; import org.elasticsearch.core.Booleans; import org.elasticsearch.core.CheckedFunction; +import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.env.Environment; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.json.JsonXContent; @@ -416,6 +417,9 @@ void checkElasticKeystorePasswordValid(Terminal terminal, Environment env) throw } @SuppressWarnings("unchecked") + @SuppressForbidden( + reason = "TODO Deprecate any lenient usage of Boolean#parseBoolean https://github.com/elastic/elasticsearch/issues/128993" + ) private XPackSecurityFeatureConfig getXPackSecurityConfig(Terminal terminal) throws Exception { // Get x-pack security info. URL route = createURL(url, "/_xpack", "?categories=features&human=false&pretty"); diff --git a/x-pack/plugin/shutdown/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java b/x-pack/plugin/shutdown/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java index 7de20fb95cd85..e991f7f6406d7 100644 --- a/x-pack/plugin/shutdown/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java +++ b/x-pack/plugin/shutdown/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java @@ -9,6 +9,7 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.rest.ESRestTestCase; import org.elasticsearch.xpack.test.SecuritySettingsSourceField; @@ -37,7 +38,7 @@ public static ClusterType parse(String value) { } protected static final ClusterType CLUSTER_TYPE = ClusterType.parse(System.getProperty("tests.rest.suite")); - protected static final boolean FIRST_MIXED_ROUND = Boolean.parseBoolean(System.getProperty("tests.first_round", "false")); + protected static final boolean FIRST_MIXED_ROUND = Booleans.parseBoolean(System.getProperty("tests.first_round", "false")); @Override protected Settings restClientSettings() { diff --git a/x-pack/plugin/slm/src/test/java/org/elasticsearch/xpack/slm/SnapshotLifecycleTaskTests.java b/x-pack/plugin/slm/src/test/java/org/elasticsearch/xpack/slm/SnapshotLifecycleTaskTests.java index 1fb24f59fcd81..6eadd23f4b63c 100644 --- a/x-pack/plugin/slm/src/test/java/org/elasticsearch/xpack/slm/SnapshotLifecycleTaskTests.java +++ b/x-pack/plugin/slm/src/test/java/org/elasticsearch/xpack/slm/SnapshotLifecycleTaskTests.java @@ -29,6 +29,7 @@ import org.elasticsearch.common.settings.ClusterSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.set.Sets; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.Strings; import org.elasticsearch.index.IndexVersion; import org.elasticsearch.index.shard.ShardId; @@ -206,7 +207,7 @@ public void testCreateSnapshotOnTrigger() throws Exception { assertThat(Arrays.asList(req.indices()), equalTo(policy.getConfig().get("indices"))); } boolean globalState = policy.getConfig().get("include_global_state") == null - || Boolean.parseBoolean((String) policy.getConfig().get("include_global_state")); + || Booleans.parseBoolean((String) policy.getConfig().get("include_global_state")); assertThat(req.includeGlobalState(), equalTo(globalState)); try { @@ -285,7 +286,7 @@ public void testPartialFailureSnapshot() throws Exception { assertThat(Arrays.asList(req.indices()), equalTo(policy.getConfig().get("indices"))); } boolean globalState = policy.getConfig().get("include_global_state") == null - || Boolean.parseBoolean((String) policy.getConfig().get("include_global_state")); + || Booleans.parseBoolean((String) policy.getConfig().get("include_global_state")); assertThat(req.includeGlobalState(), equalTo(globalState)); long startTime = randomNonNegativeLong(); diff --git a/x-pack/plugin/snapshot-based-recoveries/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/snapshotbasedrecoveries/recovery/S3SnapshotBasedRecoveryIT.java b/x-pack/plugin/snapshot-based-recoveries/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/snapshotbasedrecoveries/recovery/S3SnapshotBasedRecoveryIT.java index a19b39eec1619..8d4b540532aa8 100644 --- a/x-pack/plugin/snapshot-based-recoveries/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/snapshotbasedrecoveries/recovery/S3SnapshotBasedRecoveryIT.java +++ b/x-pack/plugin/snapshot-based-recoveries/qa/s3/src/javaRestTest/java/org/elasticsearch/xpack/snapshotbasedrecoveries/recovery/S3SnapshotBasedRecoveryIT.java @@ -10,6 +10,7 @@ import fixture.s3.S3HttpFixture; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.distribution.DistributionType; import org.junit.ClassRule; @@ -21,7 +22,7 @@ public class S3SnapshotBasedRecoveryIT extends AbstractSnapshotBasedRecoveryRestTestCase { - static final boolean USE_FIXTURE = Boolean.parseBoolean(System.getProperty("tests.use.fixture", "true")); + static final boolean USE_FIXTURE = Booleans.parseBoolean(System.getProperty("tests.use.fixture", "true")); public static final S3HttpFixture s3Fixture = new S3HttpFixture(USE_FIXTURE); diff --git a/x-pack/plugin/snapshot-repo-test-kit/qa/s3/src/javaRestTest/java/org/elasticsearch/repositories/blobstore/testkit/analyze/S3RepositoryAnalysisRestIT.java b/x-pack/plugin/snapshot-repo-test-kit/qa/s3/src/javaRestTest/java/org/elasticsearch/repositories/blobstore/testkit/analyze/S3RepositoryAnalysisRestIT.java index 27a49442eeca6..130c094050bc4 100644 --- a/x-pack/plugin/snapshot-repo-test-kit/qa/s3/src/javaRestTest/java/org/elasticsearch/repositories/blobstore/testkit/analyze/S3RepositoryAnalysisRestIT.java +++ b/x-pack/plugin/snapshot-repo-test-kit/qa/s3/src/javaRestTest/java/org/elasticsearch/repositories/blobstore/testkit/analyze/S3RepositoryAnalysisRestIT.java @@ -15,6 +15,7 @@ import org.elasticsearch.common.regex.Regex; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.ByteSizeValue; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.cluster.ElasticsearchCluster; import org.elasticsearch.test.cluster.local.distribution.DistributionType; import org.junit.ClassRule; @@ -30,7 +31,7 @@ public class S3RepositoryAnalysisRestIT extends AbstractRepositoryAnalysisRestTestCase { - static final boolean USE_FIXTURE = Boolean.parseBoolean(System.getProperty("tests.use.fixture", "true")); + static final boolean USE_FIXTURE = Booleans.parseBoolean(System.getProperty("tests.use.fixture", "true")); private static final Supplier regionSupplier = new DynamicRegionSupplier(); public static final S3HttpFixture s3Fixture = new S3HttpFixture( diff --git a/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/rest/action/RestExecuteWatchActionTests.java b/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/rest/action/RestExecuteWatchActionTests.java index 0d7de8a1bc9d3..929c9ee8ec787 100644 --- a/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/rest/action/RestExecuteWatchActionTests.java +++ b/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/rest/action/RestExecuteWatchActionTests.java @@ -8,6 +8,7 @@ import org.elasticsearch.client.internal.node.NodeClient; import org.elasticsearch.common.bytes.BytesArray; +import org.elasticsearch.core.Booleans; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.rest.FakeRestRequest; import org.elasticsearch.test.rest.FakeRestRequest.Builder; @@ -28,9 +29,9 @@ public class RestExecuteWatchActionTests extends ESTestCase { public void testThatFlagsCanBeSpecifiedViaParameters() throws Exception { String randomId = randomAlphaOfLength(10); - for (String recordExecution : Arrays.asList("true", "false", null)) { - for (String ignoreCondition : Arrays.asList("true", "false", null)) { - for (String debugCondition : Arrays.asList("true", "false", null)) { + for (String recordExecution : Arrays.asList("true", "false")) { + for (String ignoreCondition : Arrays.asList("true", "false")) { + for (String debugCondition : Arrays.asList("true", "false")) { ExecuteWatchRequest request = RestExecuteWatchAction.parseRequest( createFakeRestRequest(randomId, recordExecution, ignoreCondition, debugCondition), @@ -38,9 +39,9 @@ public void testThatFlagsCanBeSpecifiedViaParameters() throws Exception { ); assertThat(request.getId(), is(randomId)); - assertThat(request.isRecordExecution(), is(Boolean.parseBoolean(recordExecution))); - assertThat(request.isIgnoreCondition(), is(Boolean.parseBoolean(ignoreCondition))); - assertThat(request.isDebug(), is(Boolean.parseBoolean(debugCondition))); + assertThat(request.isRecordExecution(), is(Booleans.parseBoolean(recordExecution))); + assertThat(request.isIgnoreCondition(), is(Booleans.parseBoolean(ignoreCondition))); + assertThat(request.isDebug(), is(Booleans.parseBoolean(debugCondition))); } } } diff --git a/x-pack/qa/evil-tests/src/test/java/org/elasticsearch/xpack/security/authc/kerberos/SimpleKdcLdapServer.java b/x-pack/qa/evil-tests/src/test/java/org/elasticsearch/xpack/security/authc/kerberos/SimpleKdcLdapServer.java index 1fba6c90ea6ac..902791c6ec0c6 100644 --- a/x-pack/qa/evil-tests/src/test/java/org/elasticsearch/xpack/security/authc/kerberos/SimpleKdcLdapServer.java +++ b/x-pack/qa/evil-tests/src/test/java/org/elasticsearch/xpack/security/authc/kerberos/SimpleKdcLdapServer.java @@ -17,6 +17,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.elasticsearch.ExceptionsHelper; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.core.TimeValue; import org.elasticsearch.test.ESTestCase; @@ -85,7 +86,7 @@ public SimpleKdcLdapServer(final Path workDir, final String orgName, final Strin @Override @SuppressForbidden(reason = "set or clear system property krb5 debug in kerberos tests") public Boolean run() throws Exception { - boolean oldDebugSetting = Boolean.parseBoolean(System.getProperty("sun.security.krb5.debug")); + boolean oldDebugSetting = Booleans.parseBoolean(System.getProperty("sun.security.krb5.debug", "false")); System.setProperty("sun.security.krb5.debug", Boolean.TRUE.toString()); return oldDebugSetting; } diff --git a/x-pack/qa/kerberos-tests/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/kerberos/KerberosAuthenticationIT.java b/x-pack/qa/kerberos-tests/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/kerberos/KerberosAuthenticationIT.java index 3058905548c08..458700fe3d73e 100644 --- a/x-pack/qa/kerberos-tests/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/kerberos/KerberosAuthenticationIT.java +++ b/x-pack/qa/kerberos-tests/src/javaRestTest/java/org/elasticsearch/xpack/security/authc/kerberos/KerberosAuthenticationIT.java @@ -19,6 +19,7 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.concurrent.ThreadContext; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.SuppressForbidden; import org.elasticsearch.core.TimeValue; import org.elasticsearch.test.cluster.ElasticsearchCluster; @@ -141,7 +142,7 @@ public void setupRoleMapping() throws IOException { public void testLoginByKeytab() throws IOException, PrivilegedActionException { final String keytabPath = krb5Fixture.getKeytab().toString(); - final boolean enabledDebugLogs = Boolean.parseBoolean(ENABLE_KERBEROS_DEBUG_LOGS_KEY); + final boolean enabledDebugLogs = Booleans.parseBoolean(ENABLE_KERBEROS_DEBUG_LOGS_KEY); final SpnegoHttpClientConfigCallbackHandler callbackHandler = new SpnegoHttpClientConfigCallbackHandler( krb5Fixture.getPrincipal(), keytabPath, @@ -153,7 +154,7 @@ public void testLoginByKeytab() throws IOException, PrivilegedActionException { public void testLoginByUsernamePassword() throws IOException, PrivilegedActionException { final String userPrincipalName = TEST_USER_WITH_PWD_KEY; final String password = TEST_USER_WITH_PWD_PASSWD_KEY; - final boolean enabledDebugLogs = Boolean.parseBoolean(System.getProperty(ENABLE_KERBEROS_DEBUG_LOGS_KEY)); + final boolean enabledDebugLogs = Booleans.parseBoolean(System.getProperty(ENABLE_KERBEROS_DEBUG_LOGS_KEY)); final SpnegoHttpClientConfigCallbackHandler callbackHandler = new SpnegoHttpClientConfigCallbackHandler( userPrincipalName, new SecureString(password.toCharArray()), @@ -165,7 +166,7 @@ public void testLoginByUsernamePassword() throws IOException, PrivilegedActionEx public void testGetOauth2TokenInExchangeForKerberosTickets() throws PrivilegedActionException, GSSException, IOException { final String userPrincipalName = TEST_USER_WITH_PWD_KEY; final String password = TEST_USER_WITH_PWD_PASSWD_KEY; - final boolean enabledDebugLogs = Boolean.parseBoolean(System.getProperty(ENABLE_KERBEROS_DEBUG_LOGS_KEY)); + final boolean enabledDebugLogs = Booleans.parseBoolean(System.getProperty(ENABLE_KERBEROS_DEBUG_LOGS_KEY)); final SpnegoHttpClientConfigCallbackHandler callbackHandler = new SpnegoHttpClientConfigCallbackHandler( userPrincipalName, new SecureString(password.toCharArray()), diff --git a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java index b17644cd1c2a9..60d3d69e3b3e9 100644 --- a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java +++ b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/AbstractUpgradeTestCase.java @@ -34,7 +34,7 @@ public abstract class AbstractUpgradeTestCase extends ESRestTestCase { ); protected static final String UPGRADE_FROM_VERSION = System.getProperty("tests.upgrade_from_version"); - protected static final boolean FIRST_MIXED_ROUND = Boolean.parseBoolean(System.getProperty("tests.first_round", "false")); + protected static final boolean FIRST_MIXED_ROUND = Booleans.parseBoolean(System.getProperty("tests.first_round", "false")); protected static final boolean SKIP_ML_TESTS = Booleans.parseBoolean(System.getProperty("tests.ml.skip", "false")); protected static boolean isOriginalCluster(String clusterVersion) { diff --git a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java index 1f3db455c9ce7..07d9de3dea6ac 100644 --- a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java +++ b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlAssignmentPlannerUpgradeIT.java @@ -11,6 +11,7 @@ import org.elasticsearch.client.Response; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.common.xcontent.support.XContentMapValues; +import org.elasticsearch.core.Booleans; import org.elasticsearch.core.RestApiVersion; import org.elasticsearch.core.Strings; import org.elasticsearch.logging.LogManager; @@ -31,7 +32,7 @@ public class MlAssignmentPlannerUpgradeIT extends AbstractUpgradeTestCase { - private static final boolean IS_SINGLE_PROCESSOR_TEST = Boolean.parseBoolean( + private static final boolean IS_SINGLE_PROCESSOR_TEST = Booleans.parseBoolean( System.getProperty("tests.configure_test_clusters_with_one_processor", "false") );