### Question:
ZookeeperConfigurator implements RegistryConfigureProcessor { @Override public RegistryConfig buildFromAddress(String address) { String zkAddress = RegistryParseUtil.parseAddress(address, SofaBootRpcConfigConstants.REGISTRY_PROTOCOL_ZOOKEEPER); Map<String, String> map = RegistryParseUtil.parseParam(address, SofaBootRpcConfigConstants.REGISTRY_PROTOCOL_ZOOKEEPER); String file = map.get("file"); if (StringUtils.isEmpty(file)) { file = SofaBootRpcConfigConstants.REGISTRY_FILE_PATH_DEFAULT; } return new RegistryConfig().setAddress(zkAddress).setFile(file) .setProtocol(SofaBootRpcConfigConstants.REGISTRY_PROTOCOL_ZOOKEEPER) .setParameters(map); } ZookeeperConfigurator(); @Override RegistryConfig buildFromAddress(String address); @Override String registryType();  }### Answer:
@Test public void test() { String address = "zookeeper: ZookeeperConfigurator zookeeperConfigurator = new ZookeeperConfigurator(); RegistryConfig registryConfig = zookeeperConfigurator.buildFromAddress(address); assertNotNull(registryConfig); assertEquals("zookeeper", registryConfig.getProtocol()); assertEquals("127.0.0.1:2181", registryConfig.getAddress()); assertEquals("/host/zk", registryConfig.getFile()); }