Index: service/datastore/context.go |
diff --git a/service/datastore/context.go b/service/datastore/context.go |
index 929786e6477933f59227f3bb90b2b99639dea4c6..c81f3c98fb143839c6e82603ea10b5cf52d37cc8 100644 |
--- a/service/datastore/context.go |
+++ b/service/datastore/context.go |
@@ -15,26 +15,26 @@ var ( |
rawDatastoreFilterKey key = 1 |
) |
-// Factory is the function signature for factory methods compatible with |
-// SetFactory. |
-type Factory func(context.Context) Interface |
+// RawFactory is the function signature for factory methods compatible with |
+// SetRawFactory. |
+type RawFactory func(context.Context) RawInterface |
-// Filter is the function signature for a filter RDS implementation. It |
+// RawFilter is the function signature for a filter RDS implementation. It |
// gets the current RDS implementation, and returns a new RDS implementation |
// backed by the one passed in. |
-type Filter func(context.Context, Interface) Interface |
+type RawFilter func(context.Context, RawInterface) RawInterface |
-// getUnfiltered gets gets the Interface implementation from context without |
+// getUnfiltered gets gets the RawInterface implementation from context without |
// any of the filters applied. |
-func getUnfiltered(c context.Context) Interface { |
- if f, ok := c.Value(rawDatastoreKey).(Factory); ok && f != nil { |
+func getUnfiltered(c context.Context) RawInterface { |
+ if f, ok := c.Value(rawDatastoreKey).(RawFactory); ok && f != nil { |
return f(c) |
} |
return nil |
} |
-// Get gets the Interface implementation from context. |
-func Get(c context.Context) Interface { |
+// GetRaw gets the RawInterface implementation from context. |
+func GetRaw(c context.Context) RawInterface { |
ret := getUnfiltered(c) |
if ret == nil { |
return nil |
@@ -45,34 +45,39 @@ func Get(c context.Context) Interface { |
return applyCheckFilter(c, ret) |
} |
-// SetFactory sets the function to produce Datastore instances, as returned by |
-// the Get method. |
-func SetFactory(c context.Context, rdsf Factory) context.Context { |
+// Get gets the Interface implementation from context. |
+func Get(c context.Context) Interface { |
+ return &datastoreImpl{GetRaw(c)} |
+} |
+ |
+// SetRawFactory sets the function to produce Datastore instances, as returned by |
+// the GetRaw method. |
+func SetRawFactory(c context.Context, rdsf RawFactory) context.Context { |
return context.WithValue(c, rawDatastoreKey, rdsf) |
} |
-// Set sets the current Datastore object in the context. Useful for testing with |
-// a quick mock. This is just a shorthand SetFactory invocation to set a factory |
+// SetRaw sets the current Datastore object in the context. Useful for testing with |
+// a quick mock. This is just a shorthand SetRawFactory invocation to set a factory |
// which always returns the same object. |
-func Set(c context.Context, rds Interface) context.Context { |
- return SetFactory(c, func(context.Context) Interface { return rds }) |
+func SetRaw(c context.Context, rds RawInterface) context.Context { |
+ return SetRawFactory(c, func(context.Context) RawInterface { return rds }) |
} |
-func getCurFilters(c context.Context) []Filter { |
+func getCurFilters(c context.Context) []RawFilter { |
curFiltsI := c.Value(rawDatastoreFilterKey) |
if curFiltsI != nil { |
- return curFiltsI.([]Filter) |
+ return curFiltsI.([]RawFilter) |
} |
return nil |
} |
-// AddFilters adds Interface filters to the context. |
-func AddFilters(c context.Context, filts ...Filter) context.Context { |
+// AddRawFilters adds RawInterface filters to the context. |
+func AddRawFilters(c context.Context, filts ...RawFilter) context.Context { |
if len(filts) == 0 { |
return c |
} |
cur := getCurFilters(c) |
- newFilts := make([]Filter, 0, len(cur)+len(filts)) |
+ newFilts := make([]RawFilter, 0, len(cur)+len(filts)) |
newFilts = append(newFilts, getCurFilters(c)...) |
newFilts = append(newFilts, filts...) |
return context.WithValue(c, rawDatastoreFilterKey, newFilts) |