JDBCUtil { public static String removeProperty(String url, String propName) { String urlPropName = ";" + propName + "="; int begIndex = url.indexOf(urlPropName); if (begIndex >= 0) { int endIndex = url.indexOf(';', begIndex + urlPropName.length()); if (endIndex < 0) { endIndex = url.length(); } String prefix = url.substring(0, begIndex); String suffix = url.substring(endIndex, url.length()); return prefix + suffix; } else { return url; } } private  JDBCUtil(); static String findProperty(String url, Properties info, String propName); static String removeProperty(String url, String propName); static Map<String, String> getAnnotations(@NotNull String url, @NotNull Properties info); static Long getCurrentSCN(String url, Properties info); static int getMutateBatchSize(String url, Properties info, ReadOnlyProps props); static @Nullable PName getTenantId(String url, Properties info); static boolean getAutoCommit(String url, Properties info, boolean defaultValue);  }
@Test public void testRemoveProperty() { assertEquals("localhost;", JDBCUtil.removeProperty("localhost;TenantId=abc;", TENANT_ID_ATTRIB)); assertEquals("localhost;foo=bar", JDBCUtil.removeProperty("localhost;TenantId=abc;foo=bar", TENANT_ID_ATTRIB)); assertEquals("localhost;TenantId=abc", JDBCUtil.removeProperty("localhost;TenantId=abc;foo=bar", "foo")); assertEquals("localhost;TenantId=abc;foo=bar", JDBCUtil.removeProperty("localhost;TenantId=abc;foo=bar", "bar")); }