You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by zh...@apache.org on 2024/12/17 04:10:46 UTC

(dubbo-kubernetes) branch master updated: [operator] A

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

zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git


The following commit(s) were added to refs/heads/master by this push:
     new 21d090cd [operator] A
21d090cd is described below

commit 21d090cda069b0337de3b290d7389585d7ceca24
Author: mfordjody <11...@qq.com>
AuthorDate: Tue Dec 17 12:10:24 2024 +0800

    [operator] A
---
 operator/pkg/schema/schema.go | 107 ++++++++++++++++++++++++++++++++++++++++--
 pkg/schema/schema.go          |  73 ----------------------------
 2 files changed, 104 insertions(+), 76 deletions(-)

diff --git a/operator/pkg/schema/schema.go b/operator/pkg/schema/schema.go
index 67a354db..e03e0cc1 100644
--- a/operator/pkg/schema/schema.go
+++ b/operator/pkg/schema/schema.go
@@ -1,11 +1,112 @@
 package schema
 
+import (
+	"fmt"
+	"github.com/apache/dubbo-kubernetes/operator/pkg/config"
+	"k8s.io/apimachinery/pkg/runtime/schema"
+)
+
 type schemaImpl struct {
+	gvk            config.GroupVersionKind
+	plural         string
+	clusterScoped  bool
+	goPkg          string
+	proto          string
+	versionAliases []string
 }
 
-type Builder struct {
+func (s *schemaImpl) GroupVersionAliasKinds() []config.GroupVersionKind {
+	gvks := make([]config.GroupVersionKind, len(s.versionAliases))
+	for i, va := range s.versionAliases {
+		gvks[i] = s.gvk
+		gvks[i].Version = va
+	}
+	gvks = append(gvks, s.GroupVersionKind())
+	return gvks
+}
+
+func (s *schemaImpl) IsClusterScoped() bool {
+	//TODO implement me
+	panic("implement me")
 }
 
 func (s *schemaImpl) Kind() string {
-	return ""
-}
\ No newline at end of file
+	return s.gvk.Kind
+}
+
+func (s *schemaImpl) Group() string {
+	return s.gvk.Group
+}
+
+func (s *schemaImpl) Version() string {
+	return s.gvk.Version
+}
+
+func (s *schemaImpl) Plural() string {
+	return s.plural
+}
+
+func (s *schemaImpl) GroupVersionKind() config.GroupVersionKind {
+	return s.gvk
+}
+
+func (s *schemaImpl) InClusterScoped() bool {
+	return s.clusterScoped
+}
+
+func (s *schemaImpl) String() string {
+	return fmt.Sprintf("[Schema](%s, %q, %s)", s.Kind(), s.goPkg, s.proto)
+}
+
+func (s *schemaImpl) GroupVersionResource() schema.GroupVersionResource {
+	return schema.GroupVersionResource{
+		Group:    s.Group(),
+		Version:  s.Version(),
+		Resource: s.Plural(),
+	}
+}
+
+func (s *schemaImpl) Validate() (err error) {
+	return
+}
+
+type Builder struct {
+	Plural        string
+	ClusterScoped bool
+	ProtoPkg      string
+	Proto         string
+	Kind          string
+	Group         string
+	Version       string
+}
+
+func (b Builder) BuildNoValidate() Schema {
+	return &schemaImpl{
+		gvk: config.GroupVersionKind{
+			Group:   b.Group,
+			Version: b.Version,
+			Kind:    b.Kind,
+		},
+		plural:        b.Plural,
+		clusterScoped: b.ClusterScoped,
+		goPkg:         b.ProtoPkg,
+		proto:         b.Proto,
+	}
+}
+
+func (b Builder) Build() (Schema, error) {
+	s := b.BuildNoValidate()
+	if err := s.Validate(); err != nil {
+		return nil, err
+	}
+	return s, nil
+}
+
+type Schema interface {
+	fmt.Stringer
+	GroupVersionResource() schema.GroupVersionResource
+	GroupVersionKind() config.GroupVersionKind
+	GroupVersionAliasKinds() []config.GroupVersionKind
+	Validate() error
+	IsClusterScoped() bool
+}
diff --git a/pkg/schema/schema.go b/pkg/schema/schema.go
deleted file mode 100644
index bc479e38..00000000
--- a/pkg/schema/schema.go
+++ /dev/null
@@ -1,73 +0,0 @@
-package schema
-
-import (
-	"fmt"
-	"github.com/apache/dubbo-kubernetes/operator/pkg/config"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-type schemaImpl struct {
-	gvk           config.GroupVersionKind
-	plural        string
-	clusterScoped bool
-	goPkg         string
-	proto         string
-}
-
-func (s *schemaImpl) Kind() string {
-	return s.gvk.Kind
-}
-
-func (s *schemaImpl) Group() string {
-	return s.gvk.Group
-}
-
-func (s *schemaImpl) Version() string {
-	return s.gvk.Version
-}
-
-func (s *schemaImpl) Plural() string {
-	return s.plural
-}
-
-func (s *schemaImpl) GroupVersionKind() config.GroupVersionKind {
-	return s.gvk
-}
-
-func (s *schemaImpl) InClusterScoped() bool {
-	return s.clusterScoped
-}
-
-func (s *schemaImpl) String() string {
-	return fmt.Sprintf("[Schema](%s, %q, %s)", s.Kind(), s.goPkg, s.proto)
-}
-
-func (s *schemaImpl) GroupVersionResource() schema.GroupVersionResource {
-	return schema.GroupVersionResource{
-		Group:    s.Group(),
-		Version:  s.Version(),
-		Resource: s.Plural(),
-	}
-}
-
-func (s *schemaImpl) Validate() (err error) {
-	return
-}
-
-type Builder struct {
-}
-
-func (b Builder) BuildNoValidate() Schema {
-}
-
-func (b Builder) Build() (Schema, error) {
-}
-
-type Schema interface {
-	fmt.Stringer
-	GroupVersionResource() schema.GroupVersionResource
-	GroupVersionKind() schema.GroupVersionKind
-	GroupVersionAliasKinds() []config.GroupVersionKind
-	Validate() error
-	IsClusterScoped() bool
-}