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)