null+****@clear*****
null+****@clear*****
2012年 7月 19日 (木) 18:06:44 JST
SHIMODA Hiroshi 2012-07-19 18:06:44 +0900 (Thu, 19 Jul 2012) New Revision: 54e69ff19744ae86846118eec1c610a85b0512fb https://github.com/groonga/gcs/commit/54e69ff19744ae86846118eec1c610a85b0512fb Log: Generate response XML of DefineIndexField action by xmlbuilder Modified files: lib/api/2011-02-01/configuration.js Modified: lib/api/2011-02-01/configuration.js (+56 -63) =================================================================== --- lib/api/2011-02-01/configuration.js 2012-07-19 17:57:42 +0900 (2200b7f) +++ lib/api/2011-02-01/configuration.js 2012-07-19 18:06:44 +0900 (970e945) @@ -11,7 +11,6 @@ var XMLNS = 'http://cloudsearch.amazonaws.com/doc/2011-02-01'; function createCommonErrorResponse(errorCode, error) { var doc = xmlbuilder.create(); - doc.begin('Response', { version: '1.0' }) .element('Errors') .element('Error') @@ -20,7 +19,6 @@ function createCommonErrorResponse(errorCode, error) { .up() .up() .element('RequestID').up(); - return doc.toString(); } @@ -44,16 +42,16 @@ function createDomainStatus(options) { .up() .element('DomainName').text(options.domainName).up() .element('NumSearchableDocs') - .text(options.searchableDocumentsCount || 0) + .text(options.searchableDocumentsCount || '0') .up() .element('RequiresIndexDocuments') .text(options.requiresIndexDocuments || 'false') .up() .element('SearchInstanceCount') - .text(options.searchInstanceCount || 0) + .text(options.searchInstanceCount || '0') .up() .element('SearchPartitionCount') - .text(options.searchPartitionCount || 0) + .text(options.searchPartitionCount || '0') .up() .element('SearchService') .element('Endpoint').text(options.searchEndpoint || '').up() @@ -63,7 +61,6 @@ function createDomainStatus(options) { function createCreateDomainResponse(options) { var doc = xmlbuilder.create(); - doc.begin('CreateDomainResponse', { version: '1.0' }) .attribute('xmlns', XMLNS) .element('CreateDomainResult') @@ -72,7 +69,6 @@ function createCreateDomainResponse(options) { .element('ResponseMetadata') .element('RequestId').text(options.requestId || '').up() .up(); - return doc.toString(); } @@ -102,15 +98,16 @@ handlers.CreateDomain = function(context, request, response) { }; function createDeleteDomainResponse(options) { - return '<?xml version="1.0"?>\n' + - '<DeleteDomainResponse xmlns="' + XMLNS + '">' + - '<DeleteDomainResult>' + - createDomainStatus(options) + - '</DeleteDomainResult>' + - '<ResponseMetadata>' + - '<RequestId>' + (options.requestId || '') + '</RequestId>' + - '</ResponseMetadata>' + - '</DeleteDomainResponse>'; + var doc = xmlbuilder.create(); + doc.begin('DeleteDomainResponse', { version: '1.0' }) + .attribute('xmlns', XMLNS) + .element('DeleteDomainResult') + .addFragment(createDomainStatus(options)) + .up() + .element('ResponseMetadata') + .element('RequestId').text(options.requestId || '').up() + .up(); + return doc.toString(); } handlers.DeleteDomain = function(context, request, response) { @@ -141,60 +138,58 @@ handlers.DeleteDomain = function(context, request, response) { function createIndexFieldOptionStatus(options) { switch (options.fieldType) { case 'text': - return '<TextOptions>' + - '<DefaultValue/>' + - '<FacetEnabled>' + (options.facetEnabled || false) + - '</FacetEnabled>' + - '<ResultEnabled>' + (options.resultEnabled || false) + - '</ResultEnabled>' + - '</TextOptions>'; + var textOptions = new xmlbuilder.XMLFragment(null, 'TextOptions'); + textOptions + .element('DefaultValue').up() + .element('FacetEnabled').text(options.facetEnabled || 'false').up() + .element('ResultEnabled').text(options.resultEnabled || 'false').up(); + return textOptions; case 'uint': - return '<UIntOptions>' + - '<DefaultValue/>' + - '</UIntOptions>'; + var uintOptions = new xmlbuilder.XMLFragment(null, 'UIntOptions'); + uintOptions + .element('DefaultValue').up(); + return uintOptions; case 'literal': - return '<LiteralOptions>' + - '<DefaultValue/>' + - '<FacetEnabled>' + (options.facetEnabled || false) + - '</FacetEnabled>' + - '<ResultEnabled>' + (options.resultEnabled || false) + - '</ResultEnabled>' + - '<SearchEnabled>' + (options.searchEnabled || false) + - '</SearchEnabled>' + - '</LiteralOptions>'; + var literalOptions = new xmlbuilder.XMLFragment(null, 'LiteralOptions'); + literalOptions + .element('DefaultValue').up() + .element('FacetEnabled').text(options.facetEnabled || 'false').up() + .element('ResultEnabled').text(options.resultEnabled || 'false').up() + .element('SearchEnabled').text(options.searchEnabled || 'false').up(); + return literalOptions; } } function createIndexFieldStatus(options) { - return '<IndexField>' + - '<Options>' + - '<IndexFieldName>' + options.fieldName + '</IndexFieldName>' + - '<IndexFieldType>' + options.fieldType + '</IndexFieldType>' + - createIndexFieldOptionStatus(options) + - '</Options>' + - '<Status>' + - '<CreationDate>' + dateFormat(options.createdAt, - 'isoUtcDateTime') + - '</CreationDate>' + - '<State>' + options.state + '</State>' + - '<UpdateDate>' + dateFormat(options.updatedAt, 'isoUtcDateTime') + - '</UpdateDate>' + - '<UpdateVersion>' + (options.updateVersion || 0) + - '</UpdateVersion>' + - '</Status>' + - '</IndexField>'; + var indexFieldStatus = new xmlbuilder.XMLFragment(null, 'IndexField'); + indexFieldStatus + .element('Options') + .element('IndexFieldName').text(options.fieldName).up() + .element('IndexFieldType').text(options.fieldType).up() + .addFragment(createIndexFieldOptionStatus(options)) + .up() + .element('Status') + .element('CreationDate').text(dateFormat(options.createdAt, + 'isoUtcDateTime')).up() + .element('State').text(options.state).up() + .element('UpdateDate').text(dateFormat(options.updatedAt, + 'isoUtcDateTime')).up() + .element('UpdateVersion').text(options.updateVersion || '0').up() + .up(); + return indexFieldStatus; } function createDefineIndexFieldResponse(options) { - return '<?xml version="1.0"?>\n' + - '<DefineIndexFieldResponse xmlns="' + XMLNS + '">' + - '<DefineIndexFieldResult>' + - createIndexFieldStatus(options) + - '</DefineIndexFieldResult>' + - '<ResponseMetadata>' + - '<RequestId>' + (options.requestId || '') + '</RequestId>' + - '</ResponseMetadata>' + - '</DefineIndexFieldResponse>'; + var doc = xmlbuilder.create(); + doc.begin('DefineIndexFieldResponse', { version: '1.0' }) + .attribute('xmlns', XMLNS) + .element('DefineIndexFieldResult') + .addFragment(createIndexFieldStatus(options)) + .up() + .element('ResponseMetadata') + .element('RequestId').text(options.requestId || '').up() + .up(); + return doc.toString(); } handlers.DefineIndexField = function(context, request, response) { @@ -228,14 +223,12 @@ handlers.DefineIndexField = function(context, request, response) { function createDeleteIndexFieldResponse(options) { var doc = xmlbuilder.create(); - doc.begin('DeleteIndexFieldResponse', {version: '1.0'}) .attribute('xmlns', XMLNS) .element('DeleteIndexFieldResult').up() .element('ResponseMetadata') .element('RequestId').text(options.requestId || '').up() .up(); - return doc.toString(); } -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...Download