[Groonga-commit] groonga/grnci at 4176a93 [master] Simplify DB.Normalize.

Back to archive index

Susumu Yata null+****@clear*****
Tue Sep 12 16:10:49 JST 2017


Susumu Yata	2017-09-12 16:10:49 +0900 (Tue, 12 Sep 2017)

  New Revision: 4176a933ae45ff7abb3235e46801b599535088e4
  https://github.com/groonga/grnci/commit/4176a933ae45ff7abb3235e46801b599535088e4

  Message:
    Simplify DB.Normalize.
    
    Ref: #42

  Modified files:
    v2/db.go
    v2/libgrn/db_test.go

  Modified: v2/db.go (+9 -10)
===================================================================
--- v2/db.go    2017-09-12 16:05:13 +0900 (9106f3e)
+++ v2/db.go    2017-09-12 16:10:49 +0900 (1d1977f)
@@ -965,7 +965,7 @@ type DBNormalizedText struct {
 }
 
 // Normalize executes normalize.
-func (db *DB) Normalize(normalizer, str string, flags []string) (*DBNormalizedText, Response, error) {
+func (db *DB) Normalize(normalizer, str string, flags []string) (*DBNormalizedText, error) {
 	params := map[string]interface{}{
 		"normalizer": normalizer,
 		"string":     str,
@@ -975,23 +975,22 @@ func (db *DB) Normalize(normalizer, str string, flags []string) (*DBNormalizedTe
 	}
 	resp, err := db.Invoke("normalize", params, nil)
 	if err != nil {
-		return nil, nil, err
+		return nil, err
 	}
 	defer resp.Close()
 	jsonData, err := ioutil.ReadAll(resp)
 	if err != nil {
-		return nil, resp, err
+		return nil, err
 	}
 	var result DBNormalizedText
-	if err := json.Unmarshal(jsonData, &result); err != nil {
-		if resp.Err() != nil {
-			return nil, resp, nil
+	if len(jsonData) != 0 {
+		if err := json.Unmarshal(jsonData, &result); err != nil {
+			return nil, NewError(ResponseError, "json.Unmarshal failed.", map[string]interface{}{
+				"error": err.Error(),
+			})
 		}
-		return nil, resp, NewError(ResponseError, "json.Unmarshal failed.", map[string]interface{}{
-			"error": err.Error(),
-		})
 	}
-	return &result, resp, nil
+	return &result, resp.Err()
 }
 
 // DBNormalizer is a result of tokenizer_list.

  Modified: v2/libgrn/db_test.go (+3 -13)
===================================================================
--- v2/libgrn/db_test.go    2017-09-12 16:05:13 +0900 (8cd15fa)
+++ v2/libgrn/db_test.go    2017-09-12 16:10:49 +0900 (a28c0df)
@@ -623,10 +623,7 @@ func TestDBNormalize(t *testing.T) {
 	db, dir := makeDB(t)
 	defer removeDB(db, dir)
 
-	result, resp, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", nil)
-	if err == nil {
-		err = resp.Err()
-	}
+	result, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", nil)
 	if err != nil {
 		t.Fatalf("db.Tokenize failed: %v", err)
 	}
@@ -645,11 +642,7 @@ func TestDBNormalizeInvalidNormalizer(t *testing.T) {
 	db, dir := makeDB(t)
 	defer removeDB(db, dir)
 
-	_, resp, err := db.Normalize("", "ウォーター Two \t\r\n㍑", nil)
-	if err != nil {
-		t.Fatalf("db.Normalize failed: %v", err)
-	}
-	if resp.Err() == nil {
+	if _, err := db.Normalize("", "ウォーター Two \t\r\n㍑", nil); err == nil {
 		t.Fatalf("db.Normalize wrongly succeeded")
 	}
 }
@@ -659,10 +652,7 @@ func TestDBNormalizeWithFlags(t *testing.T) {
 	defer removeDB(db, dir)
 
 	flags := []string{"WITH_TYPES", "WITH_CHECKS"}
-	result, resp, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", flags)
-	if err == nil {
-		err = resp.Err()
-	}
+	result, err := db.Normalize("NormalizerAuto", "ウォーター Two \t\r\n㍑", flags)
 	if err != nil {
 		t.Fatalf("db.Tokenize failed: %v", err)
 	}
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20170912/f7a527a4/attachment-0001.htm 



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