test_class.declarator: TEST_SERVICE = "org.apache.dubbo.metadata.store.etcd.EtcdMetadata4TstService"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_SERVICE = "org.apache.dubbo.metadata.store.etcd.EtcdMetadata4TstService";
test_class.type: String
test_class.var_name: TEST_SERVICE
test_class.declarator: etcdCluster = EtcdClusterFactory.buildCluster(getClass().getSimpleName(), 1, false)
test_class.modifier: private
test_class.original_string: private EtcdCluster etcdCluster = EtcdClusterFactory.buildCluster(getClass().getSimpleName(), 1, false);
test_class.type: EtcdCluster
test_class.var_name: etcdCluster
test_class.declarator: etcdClientForTest
test_class.modifier: private
test_class.original_string: private Client etcdClientForTest;
test_class.type: Client
test_class.var_name: etcdClientForTest
test_class.declarator: etcdMetadataReport
test_class.modifier: private
test_class.original_string: private EtcdMetadataReport etcdMetadataReport;
test_class.type: EtcdMetadataReport
test_class.var_name: etcdMetadataReport
test_class.declarator: registryUrl
test_class.modifier: private
test_class.original_string: private URL registryUrl;
test_class.type: URL
test_class.var_name: registryUrl
test_class.declarator: etcdMetadataReportFactory
test_class.modifier: private
test_class.original_string: private EtcdMetadataReportFactory etcdMetadataReportFactory;
test_class.type: EtcdMetadataReportFactory
test_class.var_name: etcdMetadataReportFactory
test_class.file: dubbo-metadata/dubbo-metadata-report-etcd/src/test/java/org/apache/dubbo/metadata/store/etcd/EtcdMetadataReportTest.java
test_class.identifier: EtcdMetadataReportTest
test_case.body: @Test
      public void testDoRemoveMetadata() throws ExecutionException, InterruptedException {
          String version = "1.0.0";
          String group = null;
          String application = "etc-metadata-report-consumer-test";
          String revision = "90980";
          String protocol = "xxx";
          URL url = generateURL(TEST_SERVICE, version, group, application);
          ServiceMetadataIdentifier serviceMetadataIdentifier = new ServiceMetadataIdentifier(TEST_SERVICE, version,
                  group, "provider", revision, protocol);
          etcdMetadataReport.doSaveMetadata(serviceMetadataIdentifier, url);
          CompletableFuture<GetResponse> response = etcdClientForTest.getKVClient().get(ByteSequence.from(
                  etcdMetadataReport.getNodeKey(serviceMetadataIdentifier), StandardCharsets.UTF_8));
          String fileContent = response.get().getKvs().get(0).getValue().toString(StandardCharsets.UTF_8);
          Assertions.assertNotNull(fileContent);
  
  
          etcdMetadataReport.doRemoveMetadata(serviceMetadataIdentifier);
  
          response = etcdClientForTest.getKVClient().get(ByteSequence.from(
                  etcdMetadataReport.getNodeKey(serviceMetadataIdentifier), StandardCharsets.UTF_8));
          Assertions.assertTrue(response.get().getKvs().isEmpty());
      }
test_case.class_method_signature: EtcdMetadataReportTest.testDoRemoveMetadata()
test_case.full_signature: @Test public void testDoRemoveMetadata()
test_case.identifier: testDoRemoveMetadata
test_case.invocations: generateURL doSaveMetadata get getKVClient from getNodeKey toString getValue get getKvs get assertNotNull doRemoveMetadata get getKVClient from getNodeKey assertTrue isEmpty getKvs get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDoRemoveMetadata()
focal_class.declarator: logger = LoggerFactory.getLogger(EtcdMetadataReport.class)
focal_class.modifier: private final static
focal_class.original_string: private final static Logger logger = LoggerFactory.getLogger(EtcdMetadataReport.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: root
focal_class.modifier: private final
focal_class.original_string: private final String root;
focal_class.type: String
focal_class.var_name: root
focal_class.declarator: etcdClient
focal_class.modifier: private final
focal_class.original_string: private final JEtcdClient etcdClient;
focal_class.type: JEtcdClient
focal_class.var_name: etcdClient
focal_class.file: dubbo-metadata/dubbo-metadata-report-etcd/src/main/java/org/apache/dubbo/metadata/store/etcd/EtcdMetadataReport.java
focal_class.identifier: EtcdMetadataReport
focal_class.class_method_signature: EtcdMetadataReport.EtcdMetadataReport(URL url)
focal_class.full_signature: public  EtcdMetadataReport(URL url)
focal_class.identifier: EtcdMetadataReport
focal_class.modifiers: public
focal_class.parameters: (URL url)
focal_class.signature:  EtcdMetadataReport(URL url)
focal_class.class_method_signature: EtcdMetadataReport.doStoreProviderMetadata(MetadataIdentifier providerMetadataIdentifier, String serviceDefinitions)
focal_class.full_signature: @Override protected void doStoreProviderMetadata(MetadataIdentifier providerMetadataIdentifier, String serviceDefinitions)
focal_class.identifier: doStoreProviderMetadata
focal_class.modifiers: @Override protected
focal_class.parameters: (MetadataIdentifier providerMetadataIdentifier, String serviceDefinitions)
focal_class.return: void
focal_class.signature: void doStoreProviderMetadata(MetadataIdentifier providerMetadataIdentifier, String serviceDefinitions)
focal_class.class_method_signature: EtcdMetadataReport.doStoreConsumerMetadata(MetadataIdentifier consumerMetadataIdentifier, String value)
focal_class.full_signature: @Override protected void doStoreConsumerMetadata(MetadataIdentifier consumerMetadataIdentifier, String value)
focal_class.identifier: doStoreConsumerMetadata
focal_class.modifiers: @Override protected
focal_class.parameters: (MetadataIdentifier consumerMetadataIdentifier, String value)
focal_class.return: void
focal_class.signature: void doStoreConsumerMetadata(MetadataIdentifier consumerMetadataIdentifier, String value)
focal_class.class_method_signature: EtcdMetadataReport.doSaveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier, URL url)
focal_class.full_signature: @Override protected void doSaveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier, URL url)
focal_class.identifier: doSaveMetadata
focal_class.modifiers: @Override protected
focal_class.parameters: (ServiceMetadataIdentifier serviceMetadataIdentifier, URL url)
focal_class.return: void
focal_class.signature: void doSaveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier, URL url)
focal_class.class_method_signature: EtcdMetadataReport.doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_class.full_signature: @Override protected void doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_class.identifier: doRemoveMetadata
focal_class.modifiers: @Override protected
focal_class.parameters: (ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_class.return: void
focal_class.signature: void doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_class.class_method_signature: EtcdMetadataReport.doGetExportedURLs(ServiceMetadataIdentifier metadataIdentifier)
focal_class.full_signature: @Override protected List<String> doGetExportedURLs(ServiceMetadataIdentifier metadataIdentifier)
focal_class.identifier: doGetExportedURLs
focal_class.modifiers: @Override protected
focal_class.parameters: (ServiceMetadataIdentifier metadataIdentifier)
focal_class.return: List<String>
focal_class.signature: List<String> doGetExportedURLs(ServiceMetadataIdentifier metadataIdentifier)
focal_class.class_method_signature: EtcdMetadataReport.doSaveSubscriberData(SubscriberMetadataIdentifier subscriberMetadataIdentifier, String urlListStr)
focal_class.full_signature: @Override protected void doSaveSubscriberData(SubscriberMetadataIdentifier subscriberMetadataIdentifier, String urlListStr)
focal_class.identifier: doSaveSubscriberData
focal_class.modifiers: @Override protected
focal_class.parameters: (SubscriberMetadataIdentifier subscriberMetadataIdentifier, String urlListStr)
focal_class.return: void
focal_class.signature: void doSaveSubscriberData(SubscriberMetadataIdentifier subscriberMetadataIdentifier, String urlListStr)
focal_class.class_method_signature: EtcdMetadataReport.doGetSubscribedURLs(SubscriberMetadataIdentifier subscriberMetadataIdentifier)
focal_class.full_signature: @Override protected String doGetSubscribedURLs(SubscriberMetadataIdentifier subscriberMetadataIdentifier)
focal_class.identifier: doGetSubscribedURLs
focal_class.modifiers: @Override protected
focal_class.parameters: (SubscriberMetadataIdentifier subscriberMetadataIdentifier)
focal_class.return: String
focal_class.signature: String doGetSubscribedURLs(SubscriberMetadataIdentifier subscriberMetadataIdentifier)
focal_class.class_method_signature: EtcdMetadataReport.getServiceDefinition(MetadataIdentifier metadataIdentifier)
focal_class.full_signature: @Override public String getServiceDefinition(MetadataIdentifier metadataIdentifier)
focal_class.identifier: getServiceDefinition
focal_class.modifiers: @Override public
focal_class.parameters: (MetadataIdentifier metadataIdentifier)
focal_class.return: String
focal_class.signature: String getServiceDefinition(MetadataIdentifier metadataIdentifier)
focal_class.class_method_signature: EtcdMetadataReport.storeMetadata(MetadataIdentifier identifier, String v)
focal_class.full_signature: private void storeMetadata(MetadataIdentifier identifier, String v)
focal_class.identifier: storeMetadata
focal_class.modifiers: private
focal_class.parameters: (MetadataIdentifier identifier, String v)
focal_class.return: void
focal_class.signature: void storeMetadata(MetadataIdentifier identifier, String v)
focal_class.class_method_signature: EtcdMetadataReport.getNodeKey(BaseMetadataIdentifier identifier)
focal_class.full_signature:  String getNodeKey(BaseMetadataIdentifier identifier)
focal_class.identifier: getNodeKey
focal_class.parameters: (BaseMetadataIdentifier identifier)
focal_class.return: String
focal_class.signature: String getNodeKey(BaseMetadataIdentifier identifier)
focal_class.class_method_signature: EtcdMetadataReport.toRootDir()
focal_class.full_signature:  String toRootDir()
focal_class.identifier: toRootDir
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toRootDir()
focal_class.superclass: extends AbstractMetadataReport
focal_method.body: @Override
      protected void doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier) {
          etcdClient.delete(getNodeKey(serviceMetadataIdentifier));
      }
focal_method.class_method_signature: EtcdMetadataReport.doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_method.full_signature: @Override protected void doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_method.identifier: doRemoveMetadata
focal_method.invocations: delete getNodeKey
focal_method.modifiers: @Override protected
focal_method.parameters: (ServiceMetadataIdentifier serviceMetadataIdentifier)
focal_method.return: void
focal_method.signature: void doRemoveMetadata(ServiceMetadataIdentifier serviceMetadataIdentifier)