### Question:
MySQLDataSource extends BaseDataSource { @Override protected String filterOther(String other){ if(StringUtils.isBlank(other)){ return ""; } if(other.contains(sensitiveParam)){ int index = other.indexOf(sensitiveParam); String tmp = sensitiveParam; if(index == 0 || other.charAt(index + 1) == symbol){ tmp = tmp + symbol; } else if(other.charAt(index - 1) == symbol){ tmp = symbol + tmp; } logger.warn("sensitive param : {} in otherParams field is filtered", tmp); other = other.replace(tmp, ""); } logger.debug("other : {}", other); return other; }  @Override String driverClassSelector(); @Override DbType dbTypeSelector(); @Override String getUser(); @Override String getPassword();  }### Answer:
@Test public void testFilterOther(){ MySQLDataSource dataSource = new MySQLDataSource(); String other = dataSource.filterOther("serverTimezone=Asia/Shanghai&characterEncoding=utf8"); Assert.assertEquals("serverTimezone=Asia/Shanghai&characterEncoding=utf8", other); other = dataSource.filterOther("autoDeserialize=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8"); Assert.assertEquals("serverTimezone=Asia/Shanghai&characterEncoding=utf8", other); other = dataSource.filterOther("serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoDeserialize=true"); Assert.assertEquals("serverTimezone=Asia/Shanghai&characterEncoding=utf8", other); other = dataSource.filterOther("serverTimezone=Asia/Shanghai&autoDeserialize=true&characterEncoding=utf8"); Assert.assertEquals("serverTimezone=Asia/Shanghai&characterEncoding=utf8", other); }