[Groonga-commit] groonga/gcs [master] Make DeleteDomain synchronous

Back to archive index

null+****@clear***** null+****@clear*****
2012年 7月 6日 (金) 15:40:40 JST


SHIMODA Hiroshi	2012-07-06 15:40:40 +0900 (Fri, 06 Jul 2012)

  New Revision: 7f57e8ae18571ab06091b0fec60b70b62fe726fe
  https://github.com/groonga/gcs/commit/7f57e8ae18571ab06091b0fec60b70b62fe726fe

  Log:
    Make DeleteDomain synchronous

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

  Modified: lib/api/2011-02-01/configuration.js (+25 -30)
===================================================================
--- lib/api/2011-02-01/configuration.js    2012-07-06 15:32:13 +0900 (d485621)
+++ lib/api/2011-02-01/configuration.js    2012-07-06 15:40:40 +0900 (7bba3ea)
@@ -119,37 +119,32 @@ function createDeleteDomainResponse(options) {
 
 handlers.DeleteDomain = function(database, request, response) {
   var domain = new Domain(request);
-  var options = {
-        name: domain.tableName
-      };
-  database.commandDeferred('table_remove', options)
-    .next(function(data) {
-      var termsOptions = {
-            name: domain.termsTableName
-          };
-      return database.commandDeferred('table_remove', termsOptions);
-    })
-    .next(function(data) {
-      var host = getBaseDomain(request.headers.host);
-      host = host ? '.' + host : '';
-      response.contentType('application/xml');
-      response.send(createDeleteDomainResponse({
-        domainName: domain.name,
-        domainId: FAKE_DOMAIN_ID,
-        searchEndpoint: 'search-' + domain.name + '-' + FAKE_DOMAIN_ID + host,
-        documentsEndpoint: 'doc-' + domain.name + '-' + FAKE_DOMAIN_ID + host,
-        deleted: true,
-        searchableDocumentsCount: 0,
-        searchInstanceCount: 0,
-        searchPartitionCount: 0,
-        requiresIndexDocuments: false
-      }));
-    })
-    .error(function(error) {
-      var body = createCommonErrorResponse('InternalFailure', error.message);
-      response.contentType('application/xml');
-      return response.send(body, 400);
+  try {
+    database.commandSync('table_remove', {
+      name: domain.tableName
+    });
+    database.commandSync('table_remove', {
+      name: domain.termsTableName
     });
+    var host = getBaseDomain(request.headers.host);
+    host = host ? '.' + host : '';
+    response.contentType('application/xml');
+    response.send(createDeleteDomainResponse({
+      domainName: domain.name,
+      domainId: FAKE_DOMAIN_ID,
+      searchEndpoint: 'search-' + domain.name + '-' + FAKE_DOMAIN_ID + host,
+      documentsEndpoint: 'doc-' + domain.name + '-' + FAKE_DOMAIN_ID + host,
+      deleted: true,
+      searchableDocumentsCount: 0,
+      searchInstanceCount: 0,
+      searchPartitionCount: 0,
+      requiresIndexDocuments: false
+    }));
+  } catch(error) {
+    var body = createCommonErrorResponse('InternalFailure', error.message);
+    response.contentType('application/xml');
+    response.send(body, 400);
+  }
 };
 
 function createIndexFieldStatus(options) {
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
下载 



Groonga-commit メーリングリストの案内
Back to archive index