You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ti...@apache.org on 2020/08/20 00:46:28 UTC

[servicecomb-kie] branch master updated: decoupling track module (#153)

This is an automated email from the ASF dual-hosted git repository.

tianxiaoliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-kie.git


The following commit(s) were added to refs/heads/master by this push:
     new 0a58e5c  decoupling track module (#153)
0a58e5c is described below

commit 0a58e5c41814ecaa648bebd0286dcad778526c27
Author: GuoYL <53...@users.noreply.github.com>
AuthorDate: Thu Aug 20 08:46:20 2020 +0800

    decoupling track module (#153)
---
 server/handler/track_handler.go                    |  4 ++--
 server/resource/v1/history_resource.go             |  3 +--
 server/service/mongo/init.go                       |  2 ++
 server/service/mongo/track/polling_detail_dao.go   |  2 +-
 .../{init.go => track/polling_detail_service.go}   | 28 ++++++++++++----------
 server/service/service.go                          |  7 ++++++
 6 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/server/handler/track_handler.go b/server/handler/track_handler.go
index 472dba0..d0f9118 100644
--- a/server/handler/track_handler.go
+++ b/server/handler/track_handler.go
@@ -22,7 +22,7 @@ import (
 	"github.com/apache/servicecomb-kie/pkg/iputil"
 	"github.com/apache/servicecomb-kie/pkg/model"
 	"github.com/apache/servicecomb-kie/server/resource/v1"
-	"github.com/apache/servicecomb-kie/server/service/mongo/track"
+	"github.com/apache/servicecomb-kie/server/service"
 	"github.com/emicklei/go-restful"
 	"github.com/go-chassis/go-chassis/core/handler"
 	"github.com/go-chassis/go-chassis/core/invocation"
@@ -79,7 +79,7 @@ func (h *TrackHandler) Handle(chain *handler.Chain, inv *invocation.Invocation,
 			"wait":     wait,
 			"labels":   req.QueryParameter("label"),
 		}
-		_, err := track.CreateOrUpdate(inv.Ctx, data)
+		_, err := service.TrackService.CreateOrUpdate(inv.Ctx, data)
 		if err != nil {
 			openlogging.Warn("record polling detail failed:" + err.Error())
 			cb(ir)
diff --git a/server/resource/v1/history_resource.go b/server/resource/v1/history_resource.go
index d36620d..e3616ee 100644
--- a/server/resource/v1/history_resource.go
+++ b/server/resource/v1/history_resource.go
@@ -21,7 +21,6 @@ import (
 	"github.com/apache/servicecomb-kie/pkg/common"
 	"github.com/apache/servicecomb-kie/pkg/model"
 	"github.com/apache/servicecomb-kie/server/service"
-	"github.com/apache/servicecomb-kie/server/service/mongo/track"
 	"net/http"
 
 	goRestful "github.com/emicklei/go-restful"
@@ -91,7 +90,7 @@ func (r *HistoryResource) GetPollingData(context *restful.Context) {
 		return
 	}
 	query.Domain = domain
-	records, err := track.Get(context.Ctx, query)
+	records, err := service.TrackService.GetPollingDetail(context.Ctx, query)
 	if err != nil {
 		if err == service.ErrRecordNotExists {
 			WriteErrResponse(context, http.StatusNotFound, err.Error())
diff --git a/server/service/mongo/init.go b/server/service/mongo/init.go
index 0b81c09..14d1155 100644
--- a/server/service/mongo/init.go
+++ b/server/service/mongo/init.go
@@ -23,6 +23,7 @@ import (
 	"github.com/apache/servicecomb-kie/server/service/mongo/history"
 	"github.com/apache/servicecomb-kie/server/service/mongo/kv"
 	"github.com/apache/servicecomb-kie/server/service/mongo/session"
+	"github.com/apache/servicecomb-kie/server/service/mongo/track"
 	"github.com/go-mesh/openlogging"
 )
 
@@ -31,5 +32,6 @@ func init() {
 	service.DBInit = session.Init
 	service.KVService = &kv.Service{}
 	service.HistoryService = &history.Service{}
+	service.TrackService = &track.Service{}
 	service.RevisionService = &counter.Service{}
 }
diff --git a/server/service/mongo/track/polling_detail_dao.go b/server/service/mongo/track/polling_detail_dao.go
index 998931d..9514043 100644
--- a/server/service/mongo/track/polling_detail_dao.go
+++ b/server/service/mongo/track/polling_detail_dao.go
@@ -51,7 +51,7 @@ func CreateOrUpdate(ctx context.Context, detail *model.PollingDetail) (*model.Po
 	return detail, nil
 }
 
-//Get is to get a
+//Get is to get a track data
 func Get(ctx context.Context, detail *model.PollingDetail) ([]*model.PollingDetail, error) {
 	collection := session.GetDB().Collection(session.CollectionPollingDetail)
 	queryFilter := bson.M{"domain": detail.Domain}
diff --git a/server/service/mongo/init.go b/server/service/mongo/track/polling_detail_service.go
similarity index 58%
copy from server/service/mongo/init.go
copy to server/service/mongo/track/polling_detail_service.go
index 0b81c09..0386a60 100644
--- a/server/service/mongo/init.go
+++ b/server/service/mongo/track/polling_detail_service.go
@@ -15,21 +15,23 @@
  * limitations under the License.
  */
 
-package mongo
+package track
 
 import (
-	"github.com/apache/servicecomb-kie/server/service"
-	"github.com/apache/servicecomb-kie/server/service/mongo/counter"
-	"github.com/apache/servicecomb-kie/server/service/mongo/history"
-	"github.com/apache/servicecomb-kie/server/service/mongo/kv"
-	"github.com/apache/servicecomb-kie/server/service/mongo/session"
-	"github.com/go-mesh/openlogging"
+	"context"
+	"github.com/apache/servicecomb-kie/pkg/model"
 )
 
-func init() {
-	openlogging.Info("use mongodb as storage")
-	service.DBInit = session.Init
-	service.KVService = &kv.Service{}
-	service.HistoryService = &history.Service{}
-	service.RevisionService = &counter.Service{}
+//Service is the implementation
+type Service struct {
+}
+
+//CreateOrUpdate create or update a track data
+func (s *Service) CreateOrUpdate(ctx context.Context, detail *model.PollingDetail) (*model.PollingDetail, error) {
+	return CreateOrUpdate(ctx, detail)
+}
+
+//GetPollingDetail get a track data
+func (s *Service) GetPollingDetail(ctx context.Context, detail *model.PollingDetail) ([]*model.PollingDetail, error) {
+	return Get(ctx, detail)
 }
diff --git a/server/service/service.go b/server/service/service.go
index dd949bc..0648183 100644
--- a/server/service/service.go
+++ b/server/service/service.go
@@ -27,6 +27,7 @@ import (
 var (
 	KVService       KV
 	HistoryService  History
+	TrackService    Track
 	RevisionService Revision
 	DBInit          Init
 )
@@ -60,6 +61,12 @@ type History interface {
 	GetHistory(ctx context.Context, keyID string, options ...FindOption) (*model.KVResponse, error)
 }
 
+//History provide api of History entity
+type Track interface {
+	CreateOrUpdate(ctx context.Context, detail *model.PollingDetail) (*model.PollingDetail, error)
+	GetPollingDetail(ctx context.Context, detail *model.PollingDetail) ([]*model.PollingDetail, error)
+}
+
 //Revision is global revision number management
 type Revision interface {
 	GetRevision(ctx context.Context, domain string) (int64, error)