Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1441)

Unified Diff: common/api/dm/service/v1/graph_data_purge_timestamps.go

Issue 1537883002: Initial distributor implementation (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/luci-go@master
Patch Set: fix imports and make dummy.go a real file Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « common/api/dm/service/v1/graph_data_abnormal_finish.go ('k') | common/api/dm/service/v1/graph_query.pb.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/api/dm/service/v1/graph_data_purge_timestamps.go
diff --git a/common/api/dm/service/v1/graph_data_purge_timestamps.go b/common/api/dm/service/v1/graph_data_purge_timestamps.go
new file mode 100644
index 0000000000000000000000000000000000000000..ee5f15d0c6da89c5319792df24b883cbe9950d1c
--- /dev/null
+++ b/common/api/dm/service/v1/graph_data_purge_timestamps.go
@@ -0,0 +1,90 @@
+// Copyright 2016 The LUCI Authors. All rights reserved.
+// Use of this source code is governed under the Apache License, Version 2.0
+// that can be found in the LICENSE file.
+
+package dm
+
+// TimestampPurger is for testing: invoking this on a struct in this package
+// will remove all timestamps from it. This is useful for testing where the
+// timestamps are frequently just noise.
+type TimestampPurger interface {
+ PurgeTimestamps()
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (g *GraphData) PurgeTimestamps() {
+ if g == nil {
+ return
+ }
+ for _, q := range g.Quests {
+ q.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (q *Quest) PurgeTimestamps() {
+ if q == nil {
+ return
+ }
+ q.Data.PurgeTimestamps()
+ for _, a := range q.Attempts {
+ a.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (qd *Quest_Data) PurgeTimestamps() {
+ if qd == nil {
+ return
+ }
+ qd.Created = nil
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (a *Attempt) PurgeTimestamps() {
+ if a == nil {
+ return
+ }
+ a.Data.PurgeTimestamps()
+
+ for _, e := range a.Executions {
+ e.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (ad *Attempt_Data) PurgeTimestamps() {
+ if ad == nil {
+ return
+ }
+ ad.Created = nil
+ ad.Modified = nil
+ if p, _ := ad.AttemptType.(TimestampPurger); p != nil {
+ p.PurgeTimestamps()
+ }
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (f *Attempt_Data_Finished_) PurgeTimestamps() {
+ if f == nil || f.Finished == nil {
+ return
+ }
+ f.Finished.Expiration = nil
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (e *Execution) PurgeTimestamps() {
+ if e == nil {
+ return
+ }
+ e.Data.PurgeTimestamps()
+}
+
+// PurgeTimestamps implements TimestampPurger.
+func (ed *Execution_Data) PurgeTimestamps() {
+ if ed == nil {
+ return
+ }
+ ed.Created = nil
+ ed.Modified = nil
+}
« no previous file with comments | « common/api/dm/service/v1/graph_data_abnormal_finish.go ('k') | common/api/dm/service/v1/graph_query.pb.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698