Navigation Menu

Skip to content

Commit

Permalink
Move logic to modify catalog params to CatalogGenerator
Browse files Browse the repository at this point in the history
  • Loading branch information
piroor committed Jun 27, 2014
1 parent a382feb commit 22cf097
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 17 deletions.
21 changes: 4 additions & 17 deletions bin/droonga-engine-catalog-modify
Expand Up @@ -89,22 +89,9 @@ def load_source(path)
end

source_catalog = load_source(options.source_path)
dataset_params = generator.catalog_to_params(source_catalog)
datasets.each do |name, options|
dataset = dataset_params[name]

dataset[:hosts] = options[:hosts] if options[:hosts]

if options[:add_replica_hosts]
dataset[:hosts] += options[:add_replica_hosts]
dataset[:hosts].uniq!
end
if options[:remove_replica_hosts]
dataset[:hosts] -= options[:remove_replica_hosts]
end

generator.add_dataset(name, dataset)
end
source_params = generator.catalog_to_params(source_catalog)
modified_params = Droonga::CatalogGenerator.update_params(source_params, datasets)
modified_catalog = Droonga::CatalogGenerator.generate(modified_params)

def open_output(path)
if path == "-"
Expand All @@ -118,5 +105,5 @@ end

catalog = generator.generate
open_output(options.output_path) do |output|
output.puts(JSON.pretty_generate(catalog))
output.puts(JSON.pretty_generate(modified_catalog))
end
17 changes: 17 additions & 0 deletions lib/droonga/catalog_generator.rb
Expand Up @@ -28,6 +28,23 @@ class << self
def generate(datasets_params)
new(datasets_params).generate
end

def update_params(base_params, modifications)
params = Marshal.load(Marshal.dump(base_params))
modifications.each do |name, modification|
dataset = params[name]
dataset[:hosts] = modification[:hosts] if modification[:hosts]

if modification[:add_replica_hosts]
dataset[:hosts] += modification[:add_replica_hosts]
dataset[:hosts].uniq!
end
if modification[:remove_replica_hosts]
dataset[:hosts] -= modification[:remove_replica_hosts]
end
end
params
end
end

def initialize(datasets_params=nil)
Expand Down

0 comments on commit 22cf097

Please sign in to comment.