| Index: impl/prod/raw_datastore_type_converter.go
|
| diff --git a/impl/prod/raw_datastore_type_converter.go b/impl/prod/raw_datastore_type_converter.go
|
| index 349f5fc1ee5e43f700cfe04cd0dfe141c1260330..778773a506a4d6b69c77500d3d517d6b366cabfc 100644
|
| --- a/impl/prod/raw_datastore_type_converter.go
|
| +++ b/impl/prod/raw_datastore_type_converter.go
|
| @@ -12,13 +12,13 @@ import (
|
| )
|
|
|
| type typeFilter struct {
|
| - pls rds.PropertyLoadSaver
|
| + pm rds.PropertyMap
|
| }
|
|
|
| var _ datastore.PropertyLoadSaver = &typeFilter{}
|
|
|
| func (tf *typeFilter) Load(props []datastore.Property) error {
|
| - pmap := make(rds.PropertyMap, len(props))
|
| + tf.pm = make(rds.PropertyMap, len(props))
|
| for _, p := range props {
|
| val := p.Value
|
| switch x := val.(type) {
|
| @@ -39,19 +39,17 @@ func (tf *typeFilter) Load(props []datastore.Property) error {
|
| if err := prop.SetValue(val, is); err != nil {
|
| return err
|
| }
|
| - pmap[p.Name] = append(pmap[p.Name], prop)
|
| + tf.pm[p.Name] = append(tf.pm[p.Name], prop)
|
| }
|
| - return tf.pls.Load(pmap)
|
| + return nil
|
| }
|
|
|
| func (tf *typeFilter) Save() ([]datastore.Property, error) {
|
| - newProps, err := tf.pls.Save(false)
|
| - if err != nil {
|
| - return nil, err
|
| - }
|
| -
|
| props := []datastore.Property{}
|
| - for name, propList := range newProps {
|
| + for name, propList := range tf.pm {
|
| + if len(name) != 0 && name[0] == '$' {
|
| + continue
|
| + }
|
| multiple := len(propList) > 1
|
| for _, prop := range propList {
|
| toAdd := datastore.Property{
|
| @@ -74,6 +72,5 @@ func (tf *typeFilter) Save() ([]datastore.Property, error) {
|
| props = append(props, toAdd)
|
| }
|
| }
|
| -
|
| return props, nil
|
| }
|
|
|