Method: OpenStudio::Workflow::Util::Measure#apply_arguments_2

Defined in:
lib/openstudio/workflow/util/measure.rb

#apply_arguments_2(argument_map, argument_name, argument_value, logger) ⇒ Object



157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/openstudio/workflow/util/measure.rb', line 157

def apply_arguments_2(argument_map, argument_name, argument_value, logger)
  unless argument_value.nil?
    logger.info "Setting argument value '#{argument_name}' to '#{argument_value}'"

    v = argument_map[argument_name.to_s]
    fail "Could not find argument '#{argument_name}' in argument_map" unless v
    value_set = false
    variant_type = argument_value.variantType
    if variant_type == "String".to_VariantType
      argument_value = argument_value.valueAsString
      value_set = v.setValue(argument_value)
    elsif variant_type == "Double".to_VariantType
      argument_value = argument_value.valueAsDouble
      value_set = v.setValue(argument_value)
    elsif variant_type == "Integer".to_VariantType
      argument_value = argument_value.valueAsInteger
      value_set = v.setValue(argument_value)
    elsif variant_type == "Boolean".to_VariantType
      argument_value = argument_value.valueAsBoolean
      value_set = v.setValue(argument_value)
    end
    fail "Could not set argument '#{argument_name}' to value '#{argument_value}'" unless value_set
    argument_map[argument_name.to_s] = v.clone
  else
    logger.warn "Value for argument '#{argument_name}' not set in argument list therefore will use default"
  end
end