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

Unified Diff: prod/raw_datastore_type_converter.go

Issue 1243323002: Refactor a bit. (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: fix golint Created 5 years, 5 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 | « prod/raw_datastore.go ('k') | prod/taskqueue.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: prod/raw_datastore_type_converter.go
diff --git a/prod/raw_datastore_type_converter.go b/prod/raw_datastore_type_converter.go
deleted file mode 100644
index 06aaa0c09597853fae1226f1107c28f465f9e3db..0000000000000000000000000000000000000000
--- a/prod/raw_datastore_type_converter.go
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package prod
-
-import (
- "github.com/luci/gae"
- "google.golang.org/appengine"
- "google.golang.org/appengine/datastore"
-)
-
-type typeFilter struct {
- pls gae.DSPropertyLoadSaver
-}
-
-var _ datastore.PropertyLoadSaver = &typeFilter{}
-
-func (tf *typeFilter) Load(props []datastore.Property) error {
- pmap := make(gae.DSPropertyMap, len(props))
- for _, p := range props {
- val := p.Value
- switch x := val.(type) {
- case datastore.ByteString:
- val = gae.DSByteString(x)
- case *datastore.Key:
- val = dsR2F(x)
- case appengine.BlobKey:
- val = gae.BSKey(x)
- case appengine.GeoPoint:
- val = gae.DSGeoPoint(x)
- }
- prop := gae.DSProperty{}
- is := gae.ShouldIndex
- if p.NoIndex {
- is = gae.NoIndex
- }
- if err := prop.SetValue(val, is); err != nil {
- return err
- }
- pmap[p.Name] = append(pmap[p.Name], prop)
- }
- return tf.pls.Load(pmap)
-}
-
-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 {
- multiple := len(propList) > 1
- for _, prop := range propList {
- toAdd := datastore.Property{
- Name: name,
- Multiple: multiple,
- NoIndex: prop.IndexSetting() == gae.NoIndex,
- }
- switch x := prop.Value().(type) {
- case gae.DSByteString:
- toAdd.Value = datastore.ByteString(x)
- case gae.DSKey:
- toAdd.Value = dsF2R(x)
- case gae.BSKey:
- toAdd.Value = appengine.BlobKey(x)
- case gae.DSGeoPoint:
- toAdd.Value = appengine.GeoPoint(x)
- default:
- toAdd.Value = x
- }
- props = append(props, toAdd)
- }
- }
-
- return props, nil
-}
« no previous file with comments | « prod/raw_datastore.go ('k') | prod/taskqueue.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698