Index: service/datastore/multiarg.go |
diff --git a/service/datastore/multiarg.go b/service/datastore/multiarg.go |
index 9e590b992c668a91a07ce4a0baed8719549a8785..291583781558606d5aef20f788897dbea0a951f6 100644 |
--- a/service/datastore/multiarg.go |
+++ b/service/datastore/multiarg.go |
@@ -41,8 +41,8 @@ type multiArgType struct { |
newElem func() reflect.Value |
} |
-func (mat *multiArgType) getKey(aid, ns string, slot reflect.Value) (*Key, error) { |
- return newKeyObjErr(aid, ns, mat.getMGS(slot)) |
+func (mat *multiArgType) getKey(kc KeyContext, slot reflect.Value) (*Key, error) { |
+ return newKeyObjErr(kc, mat.getMGS(slot)) |
} |
func (mat *multiArgType) getPM(slot reflect.Value) (PropertyMap, error) { |
@@ -237,7 +237,7 @@ func mustParseArg(et reflect.Type, sliceArg bool) *multiArgType { |
panic(fmt.Errorf("invalid argument type: %s is not a PLS or pointer-to-struct", et)) |
} |
-func newKeyObjErr(aid, ns string, mgs MetaGetterSetter) (*Key, error) { |
+func newKeyObjErr(kc KeyContext, mgs MetaGetterSetter) (*Key, error) { |
if key, _ := GetMetaDefault(mgs, "key", nil).(*Key); key != nil { |
return key, nil |
} |
@@ -255,7 +255,7 @@ func newKeyObjErr(aid, ns string, mgs MetaGetterSetter) (*Key, error) { |
// get parent |
par, _ := GetMetaDefault(mgs, "parent", nil).(*Key) |
- return NewKey(aid, ns, kind, sid, iid, par), nil |
+ return kc.NewKey(kind, sid, iid, par), nil |
} |
func isOKSingleType(t reflect.Type, allowKey bool) error { |
@@ -401,8 +401,8 @@ func (mma *metaMultiArg) iterator(cb metaMultiArgIteratorCallback) *metaMultiArg |
} |
} |
-// getKeysPMs returns the |
-func (mma *metaMultiArg) getKeysPMs(aid, ns string, meta bool) ([]*Key, []PropertyMap, error) { |
+// getKeysPMs returns the keys and PropertyMap for the supplied argument items. |
+func (mma *metaMultiArg) getKeysPMs(kc KeyContext, meta bool) ([]*Key, []PropertyMap, error) { |
var et errorTracker |
it := mma.iterator(et.init(mma)) |
@@ -415,7 +415,7 @@ func (mma *metaMultiArg) getKeysPMs(aid, ns string, meta bool) ([]*Key, []Proper |
for i := 0; i < mma.count; i++ { |
it.next(func(mat *multiArgType, slot reflect.Value) error { |
- key, err := mat.getKey(aid, ns, slot) |
+ key, err := mat.getKey(kc, slot) |
if err != nil { |
return err |
} |