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 <[email protected]>
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)

Reply via email to