From 61af2d038c4d1ea47e9168059361e76ef490d81f Mon Sep 17 00:00:00 2001
From: Patrick <dreamlike.sky@foxmail.com>
Date: Sun, 4 Apr 2021 20:30:44 +0800
Subject: [PATCH] optimize

---
 config/reference_config.go                    |   3 +-
 metadata/report/zookeeper/report.go           |   4 +-
 metadata/service/remote/service.go            |  20 ---
 metadata/service/remote/service_proxy_test.go | 153 ------------------
 registry/event_listener.go                    |  15 +-
 5 files changed, 13 insertions(+), 182 deletions(-)
 delete mode 100644 metadata/service/remote/service_proxy_test.go

diff --git a/config/reference_config.go b/config/reference_config.go
index 895ab9df2..807dc3f5c 100644
--- a/config/reference_config.go
+++ b/config/reference_config.go
@@ -36,6 +36,7 @@ import (
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/extension"
 	"github.com/apache/dubbo-go/common/proxy"
+	"github.com/apache/dubbo-go/metadata/service/remote"
 	"github.com/apache/dubbo-go/protocol"
 )
 
@@ -259,7 +260,7 @@ func (c *ReferenceConfig) GenericLoad(id string) {
 }
 
 func publishConsumerDefinition(url *common.URL) {
-	if remoteMetadataService, err := extension.GetRemoteMetadataService(); err == nil && remoteMetadataService != nil {
+	if remoteMetadataService, err := remote.GetRemoteMetadataService(); err == nil && remoteMetadataService != nil {
 		remoteMetadataService.PublishServiceDefinition(url)
 	}
 }
diff --git a/metadata/report/zookeeper/report.go b/metadata/report/zookeeper/report.go
index 89172356b..f85a7be59 100644
--- a/metadata/report/zookeeper/report.go
+++ b/metadata/report/zookeeper/report.go
@@ -19,8 +19,6 @@ package zookeeper
 
 import (
 	"encoding/json"
-	"github.com/apache/dubbo-go/common/logger"
-	"github.com/dubbogo/go-zookeeper/zk"
 	"strings"
 	"time"
 )
@@ -29,10 +27,12 @@ import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/extension"
+	"github.com/apache/dubbo-go/common/logger"
 	"github.com/apache/dubbo-go/metadata/identifier"
 	"github.com/apache/dubbo-go/metadata/report"
 	"github.com/apache/dubbo-go/metadata/report/factory"
 	"github.com/apache/dubbo-go/remoting/zookeeper"
+	"github.com/dubbogo/go-zookeeper/zk"
 )
 
 var (
diff --git a/metadata/service/remote/service.go b/metadata/service/remote/service.go
index d922af1e0..8bd59aa99 100644
--- a/metadata/service/remote/service.go
+++ b/metadata/service/remote/service.go
@@ -137,23 +137,3 @@ func (mts *RemoteMetadataService) PublishServiceDefinition(url *common.URL) erro
 
 	return nil
 }
-
-// GetExportedURLs will be implemented by in memory service
-func (mts *RemoteMetadataService) GetExportedURLs(serviceInterface string, group string, version string, protocol string) ([]interface{}, error) {
-	return mts.inMemoryMetadataService.GetExportedURLs(serviceInterface, group, version, protocol)
-}
-
-// GetSubscribedURLs will be implemented by in memory service
-func (mts *RemoteMetadataService) GetSubscribedURLs() ([]*common.URL, error) {
-	return mts.inMemoryMetadataService.GetSubscribedURLs()
-}
-
-// GetServiceDefinition will be implemented by in memory service
-func (mts *RemoteMetadataService) GetServiceDefinition(interfaceName string, group string, version string) (string, error) {
-	return mts.inMemoryMetadataService.GetServiceDefinition(interfaceName, group, version)
-}
-
-// GetServiceDefinitionByServiceKey will be implemented by in memory service
-func (mts *RemoteMetadataService) GetServiceDefinitionByServiceKey(serviceKey string) (string, error) {
-	return mts.inMemoryMetadataService.GetServiceDefinitionByServiceKey(serviceKey)
-}
diff --git a/metadata/service/remote/service_proxy_test.go b/metadata/service/remote/service_proxy_test.go
deleted file mode 100644
index 600880b03..000000000
--- a/metadata/service/remote/service_proxy_test.go
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package remote
-
-import (
-	"testing"
-)
-import (
-	"github.com/stretchr/testify/assert"
-)
-
-import (
-	"github.com/apache/dubbo-go/common"
-	"github.com/apache/dubbo-go/common/constant"
-	"github.com/apache/dubbo-go/common/extension"
-	"github.com/apache/dubbo-go/config/instance"
-	"github.com/apache/dubbo-go/metadata/identifier"
-	"github.com/apache/dubbo-go/metadata/report"
-	"github.com/apache/dubbo-go/metadata/report/factory"
-	"github.com/apache/dubbo-go/metadata/service"
-	"github.com/apache/dubbo-go/registry"
-)
-
-func TestMetadataServiceProxy_GetExportedURLs(t *testing.T) {
-	pxy := createProxy()
-	res, err := pxy.GetExportedURLs(constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE)
-	assert.Nil(t, err)
-	assert.Len(t, res, 2)
-}
-
-func TestMetadataServiceProxy_GetServiceDefinition(t *testing.T) {
-	pxy := createProxy()
-	res, err := pxy.GetServiceDefinition(constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE)
-	assert.Nil(t, err)
-	assert.Equal(t, "definition", res)
-}
-
-// TestMetadataServiceProxy test those unimportant method
-// in fact, we don't use them
-func TestMetadataServiceProxy(t *testing.T) {
-	pxy := createProxy()
-	_, err := pxy.ServiceName()
-	assert.NoError(t, err)
-	err = pxy.PublishServiceDefinition(&common.URL{})
-	assert.NoError(t, err)
-	_, err = pxy.Version()
-	assert.NoError(t, err)
-	_, err = pxy.GetSubscribedURLs()
-	assert.NoError(t, err)
-	err = pxy.UnsubscribeURL(&common.URL{})
-	assert.NoError(t, err)
-	_, err = pxy.GetServiceDefinitionByServiceKey("any")
-	assert.NoError(t, err)
-	_, err = pxy.ExportURL(&common.URL{})
-	assert.NoError(t, err)
-	_, err = pxy.SubscribeURL(&common.URL{})
-	assert.NoError(t, err)
-	_ = pxy.MethodMapper()
-	err = pxy.UnexportURL(&common.URL{})
-	assert.NoError(t, err)
-	_ = pxy.Reference()
-	_, err = pxy.RefreshMetadata(constant.ANY_VALUE, constant.ANY_VALUE)
-	assert.NoError(t, err)
-}
-
-func createProxy() service.MetadataService {
-
-	prepareTest()
-
-	ins := &registry.DefaultServiceInstance{
-		Id:          "test-id",
-		ServiceName: "com.dubbo",
-		Host:        "localhost",
-		Port:        8080,
-		Enable:      true,
-		Healthy:     true,
-		Metadata:    map[string]string{constant.METADATA_SERVICE_URL_PARAMS_PROPERTY_NAME: `{"mock":{"timeout":"10000","version":"1.0.0","dubbo":"2.0.2","release":"2.7.6","port":"20880"}}`},
-	}
-	return newMetadataServiceProxy(ins)
-}
-
-func prepareTest() {
-	extension.SetMetadataReportFactory("mock", func() factory.MetadataReportFactory {
-		return &mockMetadataReportFactory{}
-	})
-	u, _ := common.NewURL("mock://localhost")
-	instance.GetMetadataReportInstance(u)
-}
-
-type mockMetadataReportFactory struct {
-}
-
-func (m *mockMetadataReportFactory) CreateMetadataReport(*common.URL) report.MetadataReport {
-	return &mockMetadataReport{}
-}
-
-type mockMetadataReport struct {
-}
-
-func (m mockMetadataReport) GetAppMetadata(metadataIdentifier *identifier.SubscriberMetadataIdentifier) (*common.MetadataInfo, error) {
-	panic("implement me")
-}
-
-func (m mockMetadataReport) PublishAppMetadata(metadataIdentifier *identifier.SubscriberMetadataIdentifier, info *common.MetadataInfo) error {
-	panic("implement me")
-}
-
-func (m mockMetadataReport) StoreProviderMetadata(*identifier.MetadataIdentifier, string) error {
-	panic("implement me")
-}
-
-func (m mockMetadataReport) StoreConsumerMetadata(*identifier.MetadataIdentifier, string) error {
-	panic("implement me")
-}
-
-func (m mockMetadataReport) SaveServiceMetadata(*identifier.ServiceMetadataIdentifier, *common.URL) error {
-	return nil
-}
-
-func (m mockMetadataReport) RemoveServiceMetadata(*identifier.ServiceMetadataIdentifier) error {
-	panic("implement me")
-}
-
-func (m mockMetadataReport) GetExportedURLs(*identifier.ServiceMetadataIdentifier) ([]string, error) {
-	return []string{"mock://localhost1", "mock://localhost2"}, nil
-}
-
-func (m mockMetadataReport) SaveSubscribedData(*identifier.SubscriberMetadataIdentifier, string) error {
-	return nil
-}
-
-func (m mockMetadataReport) GetSubscribedURLs(*identifier.SubscriberMetadataIdentifier) ([]string, error) {
-	panic("implement me")
-}
-
-func (m mockMetadataReport) GetServiceDefinition(*identifier.MetadataIdentifier) (string, error) {
-	return "definition", nil
-}
diff --git a/registry/event_listener.go b/registry/event_listener.go
index 4f1e5a356..a6fb31c76 100644
--- a/registry/event_listener.go
+++ b/registry/event_listener.go
@@ -17,19 +17,22 @@
 
 package registry
 
+import (
+	"reflect"
+)
+
+import (
+	gxset "github.com/dubbogo/gost/container/set"
+)
+
 import (
 	"github.com/apache/dubbo-go/common"
 	"github.com/apache/dubbo-go/common/constant"
 	"github.com/apache/dubbo-go/common/logger"
+	"github.com/apache/dubbo-go/common/observer"
 	"github.com/apache/dubbo-go/metadata/service/inmemory"
 	"github.com/apache/dubbo-go/metadata/service/remote"
 	"github.com/apache/dubbo-go/remoting"
-	gxset "github.com/dubbogo/gost/container/set"
-	"reflect"
-)
-
-import (
-	"github.com/apache/dubbo-go/common/observer"
 )
 
 // The Service Discovery Changed  Event Listener
-- 
GitLab