github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1/method_descriptor/method_descriptor.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/audit/proto/v1/method_descriptor.proto
     3  // DO NOT EDIT!!!
     4  
     5  package method_descriptor
     6  
     7  import (
     8  	"fmt"
     9  	"sort"
    10  
    11  	"google.golang.org/protobuf/proto"
    12  	googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    13  
    14  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    15  )
    16  
    17  // proto imports
    18  import (
    19  	common "github.com/cloudwan/edgelq-sdk/audit/resources/v1/common"
    20  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    21  	meta "github.com/cloudwan/goten-sdk/types/meta"
    22  )
    23  
    24  // ensure the imports are used
    25  var (
    26  	_ = new(fmt.Stringer)
    27  	_ = new(sort.Interface)
    28  
    29  	_ = new(proto.Message)
    30  	_ = googlefieldmaskpb.FieldMask{}
    31  
    32  	_ = new(gotenobject.FieldPath)
    33  )
    34  
    35  // make sure we're using proto imports
    36  var (
    37  	_ = &common.Authentication{}
    38  	_ = &meta_service.Service{}
    39  	_ = &meta.Meta{}
    40  )
    41  
    42  func (o *MethodDescriptor) GotenObjectExt() {}
    43  
    44  func (o *MethodDescriptor) MakeFullFieldMask() *MethodDescriptor_FieldMask {
    45  	return FullMethodDescriptor_FieldMask()
    46  }
    47  
    48  func (o *MethodDescriptor) MakeRawFullFieldMask() gotenobject.FieldMask {
    49  	return FullMethodDescriptor_FieldMask()
    50  }
    51  
    52  func (o *MethodDescriptor) MakeDiffFieldMask(other *MethodDescriptor) *MethodDescriptor_FieldMask {
    53  	if o == nil && other == nil {
    54  		return &MethodDescriptor_FieldMask{}
    55  	}
    56  	if o == nil || other == nil {
    57  		return FullMethodDescriptor_FieldMask()
    58  	}
    59  
    60  	res := &MethodDescriptor_FieldMask{}
    61  	if o.GetName().String() != other.GetName().String() {
    62  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorName})
    63  	}
    64  	{
    65  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    66  		if subMask.IsFull() {
    67  			res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorMetadata})
    68  		} else {
    69  			for _, subpath := range subMask.Paths {
    70  				res.Paths = append(res.Paths, &MethodDescriptor_FieldSubPath{selector: MethodDescriptor_FieldPathSelectorMetadata, subPath: subpath})
    71  			}
    72  		}
    73  	}
    74  	if o.GetDisplayName() != other.GetDisplayName() {
    75  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorDisplayName})
    76  	}
    77  	if o.GetDescription() != other.GetDescription() {
    78  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorDescription})
    79  	}
    80  
    81  	if len(o.GetLabels()) == len(other.GetLabels()) {
    82  		for i, lValue := range o.GetLabels() {
    83  			rValue := other.GetLabels()[i]
    84  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    85  				res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorLabels})
    86  				break
    87  			}
    88  		}
    89  	} else {
    90  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorLabels})
    91  	}
    92  
    93  	if len(o.GetPromotedLabelKeySets()) == len(other.GetPromotedLabelKeySets()) {
    94  		for i, lValue := range o.GetPromotedLabelKeySets() {
    95  			rValue := other.GetPromotedLabelKeySets()[i]
    96  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    97  				res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorPromotedLabelKeySets})
    98  				break
    99  			}
   100  		}
   101  	} else {
   102  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorPromotedLabelKeySets})
   103  	}
   104  
   105  	if len(o.GetVersions()) == len(other.GetVersions()) {
   106  		for i, lValue := range o.GetVersions() {
   107  			rValue := other.GetVersions()[i]
   108  			if lValue != rValue {
   109  				res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorVersions})
   110  				break
   111  			}
   112  		}
   113  	} else {
   114  		res.Paths = append(res.Paths, &MethodDescriptor_FieldTerminalPath{selector: MethodDescriptor_FieldPathSelectorVersions})
   115  	}
   116  	return res
   117  }
   118  
   119  func (o *MethodDescriptor) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   120  	return o.MakeDiffFieldMask(other.(*MethodDescriptor))
   121  }
   122  
   123  func (o *MethodDescriptor) Clone() *MethodDescriptor {
   124  	if o == nil {
   125  		return nil
   126  	}
   127  	result := &MethodDescriptor{}
   128  	if o.Name == nil {
   129  		result.Name = nil
   130  	} else if data, err := o.Name.ProtoString(); err != nil {
   131  		panic(err)
   132  	} else {
   133  		result.Name = &Name{}
   134  		if err := result.Name.ParseProtoString(data); err != nil {
   135  			panic(err)
   136  		}
   137  	}
   138  	result.Metadata = o.Metadata.Clone()
   139  	result.DisplayName = o.DisplayName
   140  	result.Description = o.Description
   141  	result.Labels = make([]*common.LabelDescriptor, len(o.Labels))
   142  	for i, sourceValue := range o.Labels {
   143  		result.Labels[i] = sourceValue.Clone()
   144  	}
   145  	result.PromotedLabelKeySets = make([]*common.LabelKeySet, len(o.PromotedLabelKeySets))
   146  	for i, sourceValue := range o.PromotedLabelKeySets {
   147  		result.PromotedLabelKeySets[i] = sourceValue.Clone()
   148  	}
   149  	result.Versions = make([]string, len(o.Versions))
   150  	for i, sourceValue := range o.Versions {
   151  		result.Versions[i] = sourceValue
   152  	}
   153  	return result
   154  }
   155  
   156  func (o *MethodDescriptor) CloneRaw() gotenobject.GotenObjectExt {
   157  	return o.Clone()
   158  }
   159  
   160  func (o *MethodDescriptor) Merge(source *MethodDescriptor) {
   161  	if source.GetName() != nil {
   162  		if data, err := source.GetName().ProtoString(); err != nil {
   163  			panic(err)
   164  		} else {
   165  			o.Name = &Name{}
   166  			if err := o.Name.ParseProtoString(data); err != nil {
   167  				panic(err)
   168  			}
   169  		}
   170  	} else {
   171  		o.Name = nil
   172  	}
   173  	if source.GetMetadata() != nil {
   174  		if o.Metadata == nil {
   175  			o.Metadata = new(meta.Meta)
   176  		}
   177  		o.Metadata.Merge(source.GetMetadata())
   178  	}
   179  	o.DisplayName = source.GetDisplayName()
   180  	o.Description = source.GetDescription()
   181  	for _, sourceValue := range source.GetLabels() {
   182  		exists := false
   183  		for _, currentValue := range o.Labels {
   184  			if proto.Equal(sourceValue, currentValue) {
   185  				exists = true
   186  				break
   187  			}
   188  		}
   189  		if !exists {
   190  			var newDstElement *common.LabelDescriptor
   191  			if sourceValue != nil {
   192  				newDstElement = new(common.LabelDescriptor)
   193  				newDstElement.Merge(sourceValue)
   194  			}
   195  			o.Labels = append(o.Labels, newDstElement)
   196  		}
   197  	}
   198  
   199  	for _, sourceValue := range source.GetPromotedLabelKeySets() {
   200  		exists := false
   201  		for _, currentValue := range o.PromotedLabelKeySets {
   202  			if proto.Equal(sourceValue, currentValue) {
   203  				exists = true
   204  				break
   205  			}
   206  		}
   207  		if !exists {
   208  			var newDstElement *common.LabelKeySet
   209  			if sourceValue != nil {
   210  				newDstElement = new(common.LabelKeySet)
   211  				newDstElement.Merge(sourceValue)
   212  			}
   213  			o.PromotedLabelKeySets = append(o.PromotedLabelKeySets, newDstElement)
   214  		}
   215  	}
   216  
   217  	for _, sourceValue := range source.GetVersions() {
   218  		exists := false
   219  		for _, currentValue := range o.Versions {
   220  			if currentValue == sourceValue {
   221  				exists = true
   222  				break
   223  			}
   224  		}
   225  		if !exists {
   226  			var newDstElement string
   227  			newDstElement = sourceValue
   228  			o.Versions = append(o.Versions, newDstElement)
   229  		}
   230  	}
   231  
   232  }
   233  
   234  func (o *MethodDescriptor) MergeRaw(source gotenobject.GotenObjectExt) {
   235  	o.Merge(source.(*MethodDescriptor))
   236  }