class Blufin::YmlJavaWorkerWriter
Constants
- MESSAGE_HANDLER
- MESSAGE_HANDLER_MAPPER
- PACKAGE
- PLACEHOLDER_IMP
- PLACEHOLDER_PUT
- PLACEHOLDER_SITE_DOMAIN
- PLACEHOLDER_SITE_NAME
- SERVICE
Public Class Methods
new(site)
click to toggle source
Initialize the class. @return void
# File lib/core/yml_writers/yml_java_worker_writer.rb, line 18 def initialize(site) @site = Blufin::SiteResolver::validate_site(site) @site_name = Blufin::SiteResolver::get_site_name(@site) @site_domain = Blufin::SiteResolver::get_site_domain(@site) @site_domain_gsub = @site_domain.strip == '' ? '' : "#{@site_domain}." @site_location = "#{Blufin::SiteResolver::get_site_location(@site)}/" # Wipe out parent file. Blufin::Files::delete_file("#{get_java_path(@site, nil, SERVICE, PLACEHOLDER_PUT)}/#{MESSAGE_HANDLER_MAPPER}.java") @template_parent = <<TEMPLATE package #{PLACEHOLDER_PACKAGE}; import org.blufin.worker.queue.MessageHandlerInterface; import #{PLACEHOLDER_SITE_DOMAIN}#{PLACEHOLDER_SITE_NAME}.lib.enums.system.MessageType; #{PLACEHOLDER_IMP} import java.util.HashMap; import java.util.Map; public class #{MESSAGE_HANDLER_MAPPER} { public static Map<String, MessageHandlerInterface> getMap() { Map<String, MessageHandlerInterface> map = new HashMap<>(); #{PLACEHOLDER_PUT} return map; } } TEMPLATE end
Public Instance Methods
write()
click to toggle source
Write the file(s). @return void
# File lib/core/yml_writers/yml_java_worker_writer.rb, line 56 def write imp_statements = '' put_statements = '' message_types = Blufin::YmlConfigValidator::get_message_types.keys message_types.each_with_index do |message_type, idx| new_line_or_not = (idx == (message_types.length - 1)) ? '' : "\n" imp_statements += "import #{@site_domain_gsub}#{@site_name.gsub('-', '.')}.worker.messages.#{Blufin::Strings::snake_case_to_camel_case_lower(message_type)}.#{Blufin::Strings::snake_case_to_camel_case(message_type)}#{MESSAGE_HANDLER};#{new_line_or_not}" put_statements += " map.put(MessageType.#{message_type.upcase.gsub('-', '_')}.toString(), new #{Blufin::Strings::snake_case_to_camel_case(message_type)}#{MESSAGE_HANDLER}());#{new_line_or_not}" end contents = @template_parent contents = contents.gsub(PLACEHOLDER_PACKAGE, get_package(@site, nil, PACKAGE, SERVICE)) contents = contents.gsub(PLACEHOLDER_IMP, imp_statements) contents = contents.gsub(PLACEHOLDER_PUT, put_statements) contents = contents.gsub(PLACEHOLDER_SITE_NAME, @site_name.gsub('-', '.')) contents = contents.gsub(PLACEHOLDER_SITE_DOMAIN, @site_domain_gsub) write_file_java("#{get_java_path(@site, nil, SERVICE, PACKAGE)}/#{MESSAGE_HANDLER_MAPPER}.java", Blufin::YmlCommon::convert_string_to_line_array(contents)) end