[gold] mapper.go: Move DiffId and SplitDiffId to diffstore/common/common.go.

Bug: skia:9350
Change-Id: Icd1b789e6e54be7157f7e5c617cc540a8046cb80
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/236116
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/golden/go/diffstore/common/common.go b/golden/go/diffstore/common/common.go
index 3bce304..e66ac88 100644
--- a/golden/go/diffstore/common/common.go
+++ b/golden/go/diffstore/common/common.go
@@ -7,6 +7,7 @@
 	"io"
 	"os"
 	"path"
+	"strings"
 
 	"github.com/boltdb/bolt"
 	"go.skia.org/infra/go/fileutil"
@@ -18,6 +19,10 @@
 const (
 	// IMG_EXTENSION is the default extension of images.
 	IMG_EXTENSION = "png"
+
+	// DiffImageSeparator is the character that separates two image ids in the
+	// resulting diff image.
+	DiffImageSeparator = "-"
 )
 
 // SaveFile writes the given file to disk.
@@ -96,3 +101,26 @@
 	}
 	return s
 }
+
+// Takes two image IDs and returns a unique diff ID.
+// Note: DiffID(a,b) == DiffID(b, a) holds.
+func DiffID(left, right types.Digest) string {
+	_, _, diffID := getOrderedDiffID(left, right)
+	return diffID
+}
+
+// Inverse function of DiffID.
+// SplitDiffID(DiffID(a,b)) deterministically returns (a,b) or (b,a).
+func SplitDiffID(diffID string) (types.Digest, types.Digest) {
+	imageIDs := strings.Split(diffID, DiffImageSeparator)
+
+	return types.Digest(imageIDs[0]), types.Digest(imageIDs[1])
+}
+
+func getOrderedDiffID(left, right types.Digest) (types.Digest, types.Digest, string) {
+	if right < left {
+		// Make sure the smaller digest is left imageID.
+		left, right = right, left
+	}
+	return left, right, string(left) + DiffImageSeparator + string(right)
+}
diff --git a/golden/go/diffstore/mapper/mapper_test.go b/golden/go/diffstore/common/common_test.go
similarity index 97%
rename from golden/go/diffstore/mapper/mapper_test.go
rename to golden/go/diffstore/common/common_test.go
index 23e6db3..3418a73 100644
--- a/golden/go/diffstore/mapper/mapper_test.go
+++ b/golden/go/diffstore/common/common_test.go
@@ -1,4 +1,4 @@
-package mapper
+package common
 
 import (
 	"testing"
diff --git a/golden/go/diffstore/mapper/mapper.go b/golden/go/diffstore/mapper/mapper.go
index 5417c2e..99eadb3 100644
--- a/golden/go/diffstore/mapper/mapper.go
+++ b/golden/go/diffstore/mapper/mapper.go
@@ -2,7 +2,6 @@
 
 import (
 	"image"
-	"strings"
 
 	"go.skia.org/infra/go/util"
 	"go.skia.org/infra/golden/go/types"
@@ -28,32 +27,3 @@
 	// diff metric and have a different interface for the disk storing.
 	ImagePaths(id types.Digest) (string, string)
 }
-
-const (
-	// DiffImageSeparator is the character that separates two image ids in the
-	// resulting diff image.
-	DiffImageSeparator = "-"
-)
-
-// Takes two image IDs and returns a unique diff ID.
-// Note: DiffID(a,b) == DiffID(b, a) holds.
-func DiffID(left, right types.Digest) string {
-	_, _, diffID := getOrderedDiffID(left, right)
-	return diffID
-}
-
-// Inverse function of DiffID.
-// SplitDiffID(DiffID(a,b)) deterministically returns (a,b) or (b,a).
-func SplitDiffID(diffID string) (types.Digest, types.Digest) {
-	imageIDs := strings.Split(diffID, DiffImageSeparator)
-
-	return types.Digest(imageIDs[0]), types.Digest(imageIDs[1])
-}
-
-func getOrderedDiffID(left, right types.Digest) (types.Digest, types.Digest, string) {
-	if right < left {
-		// Make sure the smaller digest is left imageID.
-		left, right = right, left
-	}
-	return left, right, string(left) + DiffImageSeparator + string(right)
-}
diff --git a/golden/go/diffstore/mem_diffstore.go b/golden/go/diffstore/mem_diffstore.go
index c59bf5e..3566109 100644
--- a/golden/go/diffstore/mem_diffstore.go
+++ b/golden/go/diffstore/mem_diffstore.go
@@ -178,7 +178,7 @@
 					wg.Done()
 					<-d.maxGoRoutinesCh
 				}()
-				id := mapper.DiffID(mainDigest, right)
+				id := common.DiffID(mainDigest, right)
 				ret, err := d.diffMetricsCache.Get(priority, id)
 				if err != nil {
 					sklog.Errorf("Unable to calculate diff for %s. Got error: %s", id, err)
@@ -220,7 +220,7 @@
 	}
 	removeKeys := make([]string, 0, len(digests))
 	for _, key := range m.diffMetricsCache.Keys() {
-		d1, d2 := mapper.SplitDiffID(key)
+		d1, d2 := common.SplitDiffID(key)
 		if digestSet[d1] || digestSet[d2] {
 			removeKeys = append(removeKeys, key)
 		}
@@ -300,7 +300,7 @@
 			}
 
 			// Extract the left and right image digests.
-			leftImgDigest, rightImgDigest := mapper.SplitDiffID(imgID)
+			leftImgDigest, rightImgDigest := common.SplitDiffID(imgID)
 
 			// Make sure both files exist.
 			for _, imgDigest := range []types.Digest{leftImgDigest, rightImgDigest} {
@@ -362,7 +362,7 @@
 // diffMetricsWorker calculates the diff if it's not in the cache.
 func (d *MemDiffStore) diffMetricsWorker(priority int64, id string) (interface{}, error) {
 	defer metrics2.FuncTimer().Stop()
-	leftDigest, rightDigest := mapper.SplitDiffID(id)
+	leftDigest, rightDigest := common.SplitDiffID(id)
 
 	// Load it from disk cache if necessary.
 	if dm, err := d.metricsStore.LoadDiffMetrics(id); err != nil {
@@ -409,7 +409,7 @@
 	for _, left := range leftDigests {
 		for _, right := range rightDigests {
 			if left != right {
-				diffIDsSet[mapper.DiffID(left, right)] = true
+				diffIDsSet[common.DiffID(left, right)] = true
 			}
 		}
 	}
diff --git a/golden/go/diffstore/mem_diffstore_test.go b/golden/go/diffstore/mem_diffstore_test.go
index ab625d1..c5e99fa 100644
--- a/golden/go/diffstore/mem_diffstore_test.go
+++ b/golden/go/diffstore/mem_diffstore_test.go
@@ -12,7 +12,7 @@
 	"go.skia.org/infra/go/tiling"
 	"go.skia.org/infra/go/timer"
 	"go.skia.org/infra/golden/go/diff"
-	"go.skia.org/infra/golden/go/diffstore/mapper"
+	"go.skia.org/infra/golden/go/diffstore/common"
 	"go.skia.org/infra/golden/go/diffstore/mapper/disk_mapper"
 	d_utils "go.skia.org/infra/golden/go/diffstore/testutils"
 	"go.skia.org/infra/golden/go/types"
@@ -77,7 +77,7 @@
 	for _, d1 := range digests {
 		for _, d2 := range digests {
 			if d1 != d2 {
-				id := mapper.DiffID(d1, d2)
+				id := common.DiffID(d1, d2)
 				diffIDs = append(diffIDs, id)
 				assert.True(t, memDiffStore.diffMetricsCache.Contains(id))
 			}
@@ -94,7 +94,7 @@
 
 		// Load the diff from disk and compare.
 		for twoDigest, dr := range found {
-			id := mapper.DiffID(oneDigest, twoDigest)
+			id := common.DiffID(oneDigest, twoDigest)
 			loadedDr, err := memDiffStore.metricsStore.LoadDiffMetrics(id)
 			assert.NoError(t, err)
 			assert.Equal(t, dr, loadedDr, "Comparing: %s", id)
@@ -183,7 +183,7 @@
 	assert.NoError(t, err)
 	memDiffStore := diffStore.(*MemDiffStore)
 
-	diffID := mapper.DiffID(types.Digest("abc"), types.Digest("def"))
+	diffID := common.DiffID(types.Digest("abc"), types.Digest("def"))
 	diffMetrics := &d_utils.DummyDiffMetrics{
 		NumDiffPixels:     100,
 		PercentDiffPixels: 0.5,
diff --git a/golden/go/diffstore/metricsstore/bolt_metricsstore/bolt_metricsstore.go b/golden/go/diffstore/metricsstore/bolt_metricsstore/bolt_metricsstore.go
index 331cb08..2bfbd2a 100644
--- a/golden/go/diffstore/metricsstore/bolt_metricsstore/bolt_metricsstore.go
+++ b/golden/go/diffstore/metricsstore/bolt_metricsstore/bolt_metricsstore.go
@@ -11,7 +11,6 @@
 	"go.skia.org/infra/go/util"
 	"go.skia.org/infra/golden/go/diff"
 	"go.skia.org/infra/golden/go/diffstore/common"
-	"go.skia.org/infra/golden/go/diffstore/mapper"
 	"go.skia.org/infra/golden/go/types"
 )
 
@@ -98,7 +97,7 @@
 	factoryCodec := &metricsRecFactory{
 		LRUCodec: util.JSONCodec(&metricsRec{}),
 		splitFn: func(toSplit string) (string, string) {
-			a, b := mapper.SplitDiffID(toSplit)
+			a, b := common.SplitDiffID(toSplit)
 			return string(a), string(b)
 		},
 	}
@@ -228,7 +227,7 @@
 		newRec = legRec.DiffMetrics
 	}
 	// Regenerate the diffID to filter out the old format.
-	newID := mapper.DiffID(mapper.SplitDiffID(id))
+	newID := common.DiffID(common.SplitDiffID(id))
 
 	// Write the new record to the database in the background.
 	go func() {
diff --git a/golden/go/validation/validation.go b/golden/go/validation/validation.go
index aed72d2..d371f3c 100644
--- a/golden/go/validation/validation.go
+++ b/golden/go/validation/validation.go
@@ -3,7 +3,7 @@
 import (
 	"strings"
 
-	"go.skia.org/infra/golden/go/diffstore/mapper"
+	"go.skia.org/infra/golden/go/diffstore/common"
 )
 
 // IsValidDigest returns true if the given string is a valid digest
@@ -29,7 +29,7 @@
 
 // IsValidDiffImgID returns true if the given diffImgID is in the correct format.
 func IsValidDiffImgID(diffID string) bool {
-	imageIDs := strings.Split(diffID, mapper.DiffImageSeparator)
+	imageIDs := strings.Split(diffID, common.DiffImageSeparator)
 	if len(imageIDs) != 2 {
 		return false
 	}