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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/alerting/proto/v1/log_condition_template.proto
     3  // DO NOT EDIT!!!
     4  
     5  package log_condition_template
     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  	rcommon "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/common"
    20  	document "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/document"
    21  	policy_template "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/policy_template"
    22  	meta "github.com/cloudwan/goten-sdk/types/meta"
    23  )
    24  
    25  // ensure the imports are used
    26  var (
    27  	_ = new(fmt.Stringer)
    28  	_ = new(sort.Interface)
    29  
    30  	_ = new(proto.Message)
    31  	_ = googlefieldmaskpb.FieldMask{}
    32  
    33  	_ = new(gotenobject.FieldPath)
    34  )
    35  
    36  // make sure we're using proto imports
    37  var (
    38  	_ = &document.Document{}
    39  	_ = &policy_template.PolicyTemplate{}
    40  	_ = &rcommon.LogCndSpec{}
    41  	_ = &meta.Meta{}
    42  )
    43  
    44  func (o *LogConditionTemplate) GotenObjectExt() {}
    45  
    46  func (o *LogConditionTemplate) MakeFullFieldMask() *LogConditionTemplate_FieldMask {
    47  	return FullLogConditionTemplate_FieldMask()
    48  }
    49  
    50  func (o *LogConditionTemplate) MakeRawFullFieldMask() gotenobject.FieldMask {
    51  	return FullLogConditionTemplate_FieldMask()
    52  }
    53  
    54  func (o *LogConditionTemplate) MakeDiffFieldMask(other *LogConditionTemplate) *LogConditionTemplate_FieldMask {
    55  	if o == nil && other == nil {
    56  		return &LogConditionTemplate_FieldMask{}
    57  	}
    58  	if o == nil || other == nil {
    59  		return FullLogConditionTemplate_FieldMask()
    60  	}
    61  
    62  	res := &LogConditionTemplate_FieldMask{}
    63  	if o.GetName().String() != other.GetName().String() {
    64  		res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorName})
    65  	}
    66  	{
    67  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    68  		if subMask.IsFull() {
    69  			res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorMetadata})
    70  		} else {
    71  			for _, subpath := range subMask.Paths {
    72  				res.Paths = append(res.Paths, &LogConditionTemplate_FieldSubPath{selector: LogConditionTemplate_FieldPathSelectorMetadata, subPath: subpath})
    73  			}
    74  		}
    75  	}
    76  	if o.GetDisplayName() != other.GetDisplayName() {
    77  		res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorDisplayName})
    78  	}
    79  	if o.GetDescription() != other.GetDescription() {
    80  		res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorDescription})
    81  	}
    82  
    83  	if len(o.GetSupportingDocs()) == len(other.GetSupportingDocs()) {
    84  		for i, lValue := range o.GetSupportingDocs() {
    85  			rValue := other.GetSupportingDocs()[i]
    86  			if lValue.String() != rValue.String() {
    87  				res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorSupportingDocs})
    88  				break
    89  			}
    90  		}
    91  	} else {
    92  		res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorSupportingDocs})
    93  	}
    94  	{
    95  		subMask := o.GetSpecTemplate().MakeDiffFieldMask(other.GetSpecTemplate())
    96  		if subMask.IsFull() {
    97  			res.Paths = append(res.Paths, &LogConditionTemplate_FieldTerminalPath{selector: LogConditionTemplate_FieldPathSelectorSpecTemplate})
    98  		} else {
    99  			for _, subpath := range subMask.Paths {
   100  				res.Paths = append(res.Paths, &LogConditionTemplate_FieldSubPath{selector: LogConditionTemplate_FieldPathSelectorSpecTemplate, subPath: subpath})
   101  			}
   102  		}
   103  	}
   104  	return res
   105  }
   106  
   107  func (o *LogConditionTemplate) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   108  	return o.MakeDiffFieldMask(other.(*LogConditionTemplate))
   109  }
   110  
   111  func (o *LogConditionTemplate) Clone() *LogConditionTemplate {
   112  	if o == nil {
   113  		return nil
   114  	}
   115  	result := &LogConditionTemplate{}
   116  	if o.Name == nil {
   117  		result.Name = nil
   118  	} else if data, err := o.Name.ProtoString(); err != nil {
   119  		panic(err)
   120  	} else {
   121  		result.Name = &Name{}
   122  		if err := result.Name.ParseProtoString(data); err != nil {
   123  			panic(err)
   124  		}
   125  	}
   126  	result.Metadata = o.Metadata.Clone()
   127  	result.DisplayName = o.DisplayName
   128  	result.Description = o.Description
   129  	result.SupportingDocs = make([]*document.Reference, len(o.SupportingDocs))
   130  	for i, sourceValue := range o.SupportingDocs {
   131  		if sourceValue == nil {
   132  			result.SupportingDocs[i] = nil
   133  		} else if data, err := sourceValue.ProtoString(); err != nil {
   134  			panic(err)
   135  		} else {
   136  			result.SupportingDocs[i] = &document.Reference{}
   137  			if err := result.SupportingDocs[i].ParseProtoString(data); err != nil {
   138  				panic(err)
   139  			}
   140  		}
   141  	}
   142  	result.SpecTemplate = o.SpecTemplate.Clone()
   143  	return result
   144  }
   145  
   146  func (o *LogConditionTemplate) CloneRaw() gotenobject.GotenObjectExt {
   147  	return o.Clone()
   148  }
   149  
   150  func (o *LogConditionTemplate) Merge(source *LogConditionTemplate) {
   151  	if source.GetName() != nil {
   152  		if data, err := source.GetName().ProtoString(); err != nil {
   153  			panic(err)
   154  		} else {
   155  			o.Name = &Name{}
   156  			if err := o.Name.ParseProtoString(data); err != nil {
   157  				panic(err)
   158  			}
   159  		}
   160  	} else {
   161  		o.Name = nil
   162  	}
   163  	if source.GetMetadata() != nil {
   164  		if o.Metadata == nil {
   165  			o.Metadata = new(meta.Meta)
   166  		}
   167  		o.Metadata.Merge(source.GetMetadata())
   168  	}
   169  	o.DisplayName = source.GetDisplayName()
   170  	o.Description = source.GetDescription()
   171  	for _, sourceValue := range source.GetSupportingDocs() {
   172  		exists := false
   173  		for _, currentValue := range o.SupportingDocs {
   174  			leftProtoStr, _ := currentValue.ProtoString()
   175  			rightProtoStr, _ := sourceValue.ProtoString()
   176  			if leftProtoStr == rightProtoStr {
   177  				exists = true
   178  				break
   179  			}
   180  		}
   181  		if !exists {
   182  			var newDstElement *document.Reference
   183  			if sourceValue != nil {
   184  				if data, err := sourceValue.ProtoString(); err != nil {
   185  					panic(err)
   186  				} else {
   187  					newDstElement = &document.Reference{}
   188  					if err := newDstElement.ParseProtoString(data); err != nil {
   189  						panic(err)
   190  					}
   191  				}
   192  			}
   193  			o.SupportingDocs = append(o.SupportingDocs, newDstElement)
   194  		}
   195  	}
   196  
   197  	if source.GetSpecTemplate() != nil {
   198  		if o.SpecTemplate == nil {
   199  			o.SpecTemplate = new(rcommon.LogCndSpec)
   200  		}
   201  		o.SpecTemplate.Merge(source.GetSpecTemplate())
   202  	}
   203  }
   204  
   205  func (o *LogConditionTemplate) MergeRaw(source gotenobject.GotenObjectExt) {
   206  	o.Merge(source.(*LogConditionTemplate))
   207  }