coi-gov-pl/puppet-jboss

View on GitHub
lib/puppet_x/coi/jboss/provider/datasource/post_wildfly_provider.rb

Summary

Maintainability
A
0 mins
Test Coverage
# A class for JBoss post WildFly datasource provider
class PuppetX::Coi::Jboss::Provider::Datasource::PostWildFlyProvider
  # Standard constructor
  # @param {Hash} provider standard Puppet provider
  def initialize(provider)
    @provider = provider
  end

  # Method that wraps given parameter in curly braces
  # @param {List} parameters lsit of parameters that will be wrapped
  # @return {String}
  def xa_datasource_properties_wrapper(parameters)
    "{#{parameters}}"
  end

  # Method that return true if we need xa r else returns value of jta attribute
  # @return {String|String}
  def jta
    if @provider.xa?
      true.to_s
    else
      @provider.getattrib('jta').to_s
    end
  end

  # Method that sets value of jta
  # @param {Object} value
  def jta= value
    Puppet.warning 'JTA does not make sense in XA Datasource as distributed transaction is being used' if @provider.xa?
    @provider.setattrib('jta', value.to_s) unless @provider.xa?
  end

  # Method that adds jta options to command
  # @param {String} cmd jboss command
  # @return {String} command with jta parameter
  def jta_opt(cmd)
    cmd.push "--jta=#{@provider.resource[:jta].inspect}" unless @provider.xa?
  end
end