BootstrapTools { public static void substituteDeprecatedConfigPrefix( Configuration config, String deprecatedPrefix, String designatedPrefix) { final int prefixLen = deprecatedPrefix.length(); Configuration replacement = new Configuration(); for (String key : config.keySet()) { if (key.startsWith(deprecatedPrefix)) { String newKey = designatedPrefix + key.substring(prefixLen); if (!config.containsKey(newKey)) { replacement.setString(newKey, config.getString(key, null)); } } } config.addAll(replacement); } private  BootstrapTools(); static ActorSystem startActorSystem(
			Configuration configuration,
			String listeningAddress,
			String portRangeDefinition,
			Logger logger); static ActorSystem startActorSystem(
				Configuration configuration,
				String listeningAddress,
				int listeningPort,
				Logger logger); static WebMonitor startWebMonitorIfConfigured(
			Configuration config,
			HighAvailabilityServices highAvailabilityServices,
			LeaderGatewayRetriever<JobManagerGateway> jobManagerRetriever,
			MetricQueryServiceRetriever queryServiceRetriever,
			Time timeout,
			ScheduledExecutor scheduledExecutor,
			Logger logger); static Configuration generateTaskManagerConfiguration(
				Configuration baseConfig,
				String jobManagerHostname,
				int jobManagerPort,
				int numSlots,
				FiniteDuration registrationTimeout); static void writeConfiguration(Configuration cfg, File file); static void substituteDeprecatedConfigKey(Configuration config, String deprecated, String designated); static void substituteDeprecatedConfigPrefix(
			Configuration config,
			String deprecatedPrefix,
			String designatedPrefix); static Option newDynamicPropertiesOption(); static Configuration parseDynamicProperties(CommandLine cmd); static String getTaskManagerShellCommand(
			Configuration flinkConfig,
			ContaineredTaskManagerParameters tmParams,
			String configDirectory,
			String logDirectory,
			boolean hasLogback,
			boolean hasLog4j,
			boolean hasKrb5,
			Class<?> mainClass); static String getStartCommand(String template,
		Map<String, String> startCommandValues);  }
@Test public void testSubstituteConfigKeyPrefix() { String deprecatedPrefix1 ="deprecated-prefix"; String deprecatedPrefix2 ="-prefix-2"; String deprecatedPrefix3 ="prefix-3"; String designatedPrefix1 ="p1"; String designatedPrefix2 ="ppp"; String designatedPrefix3 ="zzz"; String depr1 = deprecatedPrefix1 + "var"; String depr2 = deprecatedPrefix2 + "env"; String depr3 = deprecatedPrefix2 + "x"; String desig1 = designatedPrefix1 + "var"; String desig2 = designatedPrefix2 + "env"; String desig3 = designatedPrefix2 + "x"; String val1 = "1"; String val2 = "2"; String val3_depr = "3-"; String val3_desig = "3+"; Configuration cfg = new Configuration(); cfg.setString(depr1, val1); cfg.setString(depr2, val2); cfg.setString(depr3, val3_depr); cfg.setString(desig3, val3_desig); BootstrapTools.substituteDeprecatedConfigPrefix(cfg, deprecatedPrefix1, designatedPrefix1); BootstrapTools.substituteDeprecatedConfigPrefix(cfg, deprecatedPrefix2, designatedPrefix2); BootstrapTools.substituteDeprecatedConfigPrefix(cfg, deprecatedPrefix3, designatedPrefix3); assertEquals(val1, cfg.getString(desig1, null)); assertEquals(val2, cfg.getString(desig2, null)); assertEquals(val3_desig, cfg.getString(desig3, null)); for (String key : cfg.keySet()) { assertFalse(key.startsWith(designatedPrefix3)); assertFalse(key.startsWith(deprecatedPrefix3)); } }