Sha256: 21d2eee140869d01d32847c5220e97e2076a4b14c1615d05b5cf4c7f59e5fe09

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

require 'java'
$CLASSPATH << "config"

require "jruby_activiti/version"
require "jruby_activiti/web"
# require File.dirname(__FILE__) + '/../java/target/jrubyactiviti-2.0.jar'
require File.dirname(__FILE__) + '/jar/jrubyactiviti-2.0.jar'

require "jbundler"
Bundler.require "activiti-engine"
Bundler.require "util"

module JrubyActiviti
  class << self
    attr_accessor :config_path
  end

  def self.build_engine
    return self if @engine

    yield self if block_given?
    self.config_path ||= "config/activiti.cfg.xml"

    configuration = org.activiti.engine.ProcessEngineConfiguration.
      createProcessEngineConfigurationFromResource(self.config_path)
    @engine = configuration.buildProcessEngine
    self.set_activiti_const

    return self
  end

  def self.set_activiti_const
    const_set 'Engine', @engine
    const_set 'RepositoryService', @engine.getRepositoryService()
    const_set 'RuntimeService', @engine.getRuntimeService()
    const_set 'TaskService', @engine.getTaskService()
    const_set 'ManagementService', @engine.getManagementService()
    const_set 'IdentityService', @engine.getIdentityService()
    const_set 'HistoryService', @engine.getHistoryService()
    const_set 'FormService', @engine.getFormService()
  end

  module Utils
    def self.hash_to_map(hash)
      map = java.util.HashMap.new
      hash.each do |k,v|
        map.put(k.to_s,v.to_s)
      end
      map
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jruby_activiti-2.0.6 lib/jruby_activiti.rb