[Groonga-commit] groonga/gcs [master] Return current synonyms from the database, as a response of UpdateSynonymOptions

Back to archive index

SHIMODA Hiroshi null+****@clear*****
Wed Aug 15 12:54:56 JST 2012


SHIMODA Hiroshi	2012-08-15 12:54:56 +0900 (Wed, 15 Aug 2012)

  New Revision: 857e1d4274fdd6b6a62ff465053944c327128107
  https://github.com/groonga/gcs/commit/857e1d4274fdd6b6a62ff465053944c327128107

  Log:
    Return current synonyms from the database, as a response of UpdateSynonymOptions

  Modified files:
    lib/api/2011-02-01/configuration.js
    test/api-configuration.test.js

  Modified: lib/api/2011-02-01/configuration.js (+7 -12)
===================================================================
--- lib/api/2011-02-01/configuration.js    2012-08-15 12:51:04 +0900 (b321c14)
+++ lib/api/2011-02-01/configuration.js    2012-08-15 12:54:56 +0900 (ec28ab3)
@@ -412,10 +412,13 @@ handlers.IndexDocuments = function(context, request, response) {
 };
 
 function createSynonymOptionsStatus(options) {
+  var synonyms = options.domain.getSynonymsSync();
+  var synonymOptions = { synonyms: synonyms };
+
   var synonymOptionsStatus = xmlbuilder.create();
   synonymOptionsStatus.begin('Synonyms', { version: '1.0' })
     .element('Options')
-      .text(options.synonymOptions || '{}')
+      .text(JSON.stringify(synonymOptions))
     .up()
     .importXMLBuilder(createOptionStatus({ createdAt:     options.createdAt,
                                            state:         options.state,
@@ -443,13 +446,11 @@ handlers.UpdateSynonymOptions = function(context, request, response) {
   try {
     var synonymOptionsJson = request.query.Synonyms;
     var synonymOptions = JSON.parse(synonymOptionsJson);
-
-    var updatedAt = new Date();
-
     domain.updateSynonymsSync(synonymOptions.synonyms);
 
+    var updatedAt = new Date();
     response.send(createUpdateSynonymOptionsResponse({
-      synonymOptions: JSON.stringify(synonymOptions),
+      domain:    domain,
       updatedAt: updatedAt,
       createdAt: updatedAt
     }));
@@ -477,15 +478,9 @@ function createDescribeSynonymOptionsResponse(options) {
 handlers.DescribeSynonymOptions = function(context, request, response) {
   var domain = new Domain(request.query.DomainName, context);
   try {
-    var synonyms = domain.getSynonymsSync();
-    var synonymOptions = { synonyms: synonyms };
-
     var updatedAt = new Date();
-
-    domain.updateSynonymsSync(synonymOptions.synonyms);
-
     response.send(createDescribeSynonymOptionsResponse({
-      synonymOptions: JSON.stringify(synonymOptions),
+      domain:    domain,
       updatedAt: updatedAt,
       createdAt: updatedAt
     }));

  Modified: test/api-configuration.test.js (+4 -4)
===================================================================
--- test/api-configuration.test.js    2012-08-15 12:51:04 +0900 (fbd9975)
+++ test/api-configuration.test.js    2012-08-15 12:54:56 +0900 (ede271c)
@@ -931,8 +931,8 @@ suite('Configuration API', function() {
         synonymOptions = JSON.parse(synonymOptions);
         var expectedSynonymOptions = {
               synonyms: {
-                tokio: ['tokyo'],
-                dekkaido: 'hokkaido'
+                dekkaido: ['hokkaido'],
+                tokio: ['tokyo']
               }
             };
         assert.deepEqual(expectedSynonymOptions, synonymOptions);
@@ -991,8 +991,8 @@ suite('Configuration API', function() {
         synonymOptions = JSON.parse(synonymOptions);
         var expectedSynonymOptions = {
               synonyms: {
-                tokio: ['tokyo'],
-                dekkaido: 'hokkaido'
+                dekkaido: ['hokkaido'],
+                tokio: ['tokyo']
               }
             };
         assert.deepEqual(expectedSynonymOptions, synonymOptions);
-------------- next part --------------
HTML����������������������������...
Download 



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