[Groonga-commit] groonga/grnci at e0a888b [master] Remove EnhanceError.

Back to archive index

Susumu Yata null+****@clear*****
Wed Aug 2 11:32:19 JST 2017


Susumu Yata	2017-08-02 11:32:19 +0900 (Wed, 02 Aug 2017)

  New Revision: e0a888b68b930c49ca8e1e4d5ca0010835e9c9f5
  https://github.com/groonga/grnci/commit/e0a888b68b930c49ca8e1e4d5ca0010835e9c9f5

  Message:
    Remove EnhanceError.

  Modified files:
    v2/command.go
    v2/error.go
    v2/error_test.go
    v2/http.go
    v2/libgrn/libgrn.go

  Modified: v2/command.go (+10 -15)
===================================================================
--- v2/command.go    2017-08-02 11:20:21 +0900 (a8b5890)
+++ v2/command.go    2017-08-02 11:32:19 +0900 (fb5f834)
@@ -648,9 +648,8 @@ func NewCommand(name string, params map[string]interface{}) (*Command, error) {
 	}
 	for k, v := range params {
 		if err := c.SetParam(k, v); err != nil {
-			return nil, EnhanceError(err, map[string]interface{}{
-				"name": name,
-			})
+			err.(*Error).Data["name"] = name
+			return nil, err
 		}
 	}
 	return c, nil
@@ -753,9 +752,8 @@ func ParseCommand(cmd string) (*Command, error) {
 	}
 	c, err := newCommand(tokens[0])
 	if err != nil {
-		return nil, EnhanceError(err, map[string]interface{}{
-			"command": cmd,
-		})
+		err.(*Error).Data["command"] = cmd
+		return nil, err
 	}
 	for i := 1; i < len(tokens); i++ {
 		var k, v string
@@ -772,9 +770,8 @@ func ParseCommand(cmd string) (*Command, error) {
 		}
 		v = tokens[i]
 		if err := c.SetParam(k, v); err != nil {
-			return nil, EnhanceError(err, map[string]interface{}{
-				"command": cmd,
-			})
+			err.(*Error).Data["command"] = cmd
+			return nil, err
 		}
 	}
 	return c, nil
@@ -860,9 +857,8 @@ func (c *Command) SetParam(key string, value interface{}) error {
 		pf := c.format.params[c.index]
 		fv, err := pf.Format(value)
 		if err != nil {
-			return EnhanceError(err, map[string]interface{}{
-				"name": c.name,
-			})
+			err.(*Error).Data["name"] = c.name
+			return err
 		}
 		c.params[pf.key] = fv
 		c.index++
@@ -870,9 +866,8 @@ func (c *Command) SetParam(key string, value interface{}) error {
 	}
 	fv, err := c.format.Format(key, value)
 	if err != nil {
-		return EnhanceError(err, map[string]interface{}{
-			"name": c.name,
-		})
+		err.(*Error).Data["name"] = c.name
+		return err
 	}
 	c.params[key] = fv
 	return nil

  Modified: v2/error.go (+0 -15)
===================================================================
--- v2/error.go    2017-08-02 11:20:21 +0900 (d934e79)
+++ v2/error.go    2017-08-02 11:32:19 +0900 (c0641db)
@@ -258,21 +258,6 @@ func NewError(code ErrorCode, data map[string]interface{}) *Error {
 	return err
 }
 
-// EnhanceError adds data to err and returns the modified Error.
-func EnhanceError(err error, data map[string]interface{}) *Error {
-	if e, ok := err.(*Error); ok {
-		for k, v := range data {
-			e.Data[k] = v
-		}
-		return e
-	}
-	e := NewError(UnexpectedError, data)
-	if _, ok := e.Data["error"]; !ok {
-		data["error"] = err.Error()
-	}
-	return e
-}
-
 // Error returns the JSON-encoded error object.
 func (e *Error) Error() string {
 	b, _ := json.Marshal(e)

  Modified: v2/error_test.go (+0 -22)
===================================================================
--- v2/error_test.go    2017-08-02 11:20:21 +0900 (2c22c1f)
+++ v2/error_test.go    2017-08-02 11:32:19 +0900 (41aa8b5)
@@ -21,25 +21,3 @@ func TestNewError(t *testing.T) {
 	}
 	log.Printf("err = %v", err)
 }
-
-func TestEnhanceError(t *testing.T) {
-	data := map[string]interface{}{
-		"string": "value",
-		"int":    100,
-	}
-	newData := map[string]interface{}{
-		"string": "value2",
-		"int":    1000,
-		"float":  1.0,
-	}
-	err := NewError(AddressError, data)
-	err = EnhanceError(err, newData)
-	if err.Code != AddressError {
-		t.Fatalf("NewError failed: Code: actual = %d, want = %d", err.Code, AddressError)
-	}
-	for k, v := range newData {
-		if err.Data[k] != v {
-			t.Fatalf("NewError failed: Data[\"%s\"]: actual = %s, want = %s", k, err.Data[k], v)
-		}
-	}
-}

  Modified: v2/http.go (+4 -12)
===================================================================
--- v2/http.go    2017-08-02 11:20:21 +0900 (78fa21c)
+++ v2/http.go    2017-08-02 11:32:19 +0900 (b77ba1c)
@@ -90,9 +90,7 @@ Loop:
 func parseHTTPResponseHeaderError(rc int, elems []interface{}) error {
 	err := NewError(ErrorCode(rc), nil)
 	if len(elems) >= 1 {
-		err = EnhanceError(err, map[string]interface{}{
-			"message": elems[0],
-		})
+		err.Data["message"] = elems[0]
 	}
 	if len(elems) >= 2 {
 		if locs, ok := elems[1].([]interface{}); ok {
@@ -100,23 +98,17 @@ func parseHTTPResponseHeaderError(rc int, elems []interface{}) error {
 				if grnLocs, ok := locs[0].([]interface{}); ok {
 					if len(grnLocs) >= 1 {
 						if f, ok := grnLocs[0].(string); ok {
-							err = EnhanceError(err, map[string]interface{}{
-								"function": f,
-							})
+							err.Data["function"] = f
 						}
 					}
 					if len(grnLocs) >= 2 {
 						if f, ok := grnLocs[1].(string); ok {
-							err = EnhanceError(err, map[string]interface{}{
-								"file": f,
-							})
+							err.Data["file"] = f
 						}
 					}
 					if len(grnLocs) >= 3 {
 						if f, ok := grnLocs[2].(float64); ok {
-							err = EnhanceError(err, map[string]interface{}{
-								"line": int(f),
-							})
+							err.Data["line"] = f
 						}
 					}
 				}

  Modified: v2/libgrn/libgrn.go (+1 -3)
===================================================================
--- v2/libgrn/libgrn.go    2017-08-02 11:20:21 +0900 (541e679)
+++ v2/libgrn/libgrn.go    2017-08-02 11:32:19 +0900 (3fe9823)
@@ -236,9 +236,7 @@ func (db *grnDB) Close(ctx *grnCtx) error {
 	if db.count == 0 {
 		if rc := C.grn_obj_close(ctx.ctx, db.obj); rc != C.GRN_SUCCESS {
 			if err := ctx.Err("C.grn_obj_close"); err != nil {
-				return grnci.EnhanceError(err, map[string]interface{}{
-					"rc": int(rc),
-				})
+				return err
 			}
 			return grnci.NewError(grnci.ErrorCode(rc), map[string]interface{}{
 				"method": "C.grn_obj_close",
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index