killbill 8.2.0 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/Gemfile.lock +8 -6
  4. data/Jarfile +10 -10
  5. data/Jarfile.lock +23 -23
  6. data/NEWS +7 -0
  7. data/README.md +10 -15
  8. data/generators/active_merchant/templates/spec/spec_helper.rb +9 -5
  9. data/killbill.gemspec +1 -0
  10. data/lib/killbill/gen/api/account.rb +7 -1
  11. data/lib/killbill/gen/api/account_data.rb +7 -1
  12. data/lib/killbill/gen/api/base_entitlement_with_add_ons_specifier.rb +117 -0
  13. data/lib/killbill/gen/api/catalog_user_api.rb +14 -0
  14. data/lib/killbill/gen/api/entitlement_api.rb +15 -25
  15. data/lib/killbill/gen/api/mutable_account_data.rb +7 -1
  16. data/lib/killbill/gen/api/mutable_static_catalog.rb +10 -10
  17. data/lib/killbill/gen/api/payment_api.rb +44 -0
  18. data/lib/killbill/gen/api/price_list.rb +5 -5
  19. data/lib/killbill/gen/api/product.rb +11 -11
  20. data/lib/killbill/gen/api/require_gen.rb +1 -0
  21. data/lib/killbill/gen/api/simple_plan_descriptor.rb +28 -3
  22. data/lib/killbill/gen/api/static_catalog.rb +10 -10
  23. data/lib/killbill/gen/api/tenant_user_api.rb +32 -0
  24. data/lib/killbill/gen/plugin-api/payment_metadata.rb +102 -0
  25. data/lib/killbill/gen/plugin-api/require_gen.rb +3 -7
  26. data/lib/killbill/gen/plugin-api/subscription_metadata.rb +56 -0
  27. data/lib/killbill/helpers/active_merchant/active_record/models/response.rb +0 -1
  28. data/lib/killbill/helpers/active_merchant/payment_plugin.rb +6 -1
  29. data/lib/killbill/migration.rb +13 -2
  30. data/lib/killbill/version.rb +1 -1
  31. data/spec/killbill/helpers/payment_method_spec.rb +8 -8
  32. data/spec/killbill/helpers/payment_plugin_spec.rb +13 -0
  33. data/spec/killbill/helpers/response_spec.rb +4 -4
  34. data/spec/killbill/killbill_integration_spec.rb +3 -1
  35. data/spec/spec_helper.rb +1 -1
  36. metadata +19 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29fee0970cdeaff406a2aee20c1c520e713dc94c
4
- data.tar.gz: 7c5f710a8e850cd5605175cda4915e465600d9d8
3
+ metadata.gz: 0f1ccd70a55b23376aa218718b92c6039d67d2b7
4
+ data.tar.gz: 7bedb70d47746cfb35cb81cd6dfc26969f85b53d
5
5
  SHA512:
6
- metadata.gz: 3e120adcb4df8eb458f03568d8ebdcc88f9896f03cea32a3b6bd57099cea244eafafcad5b4abb77b85a2931861a2d22ae3a3bd0504ab3cb60d218f17ae544b69
7
- data.tar.gz: f234a09ec0ad9ebef215447ff62342c64a61afade91d379408ef4998b57ad7c534897fa040293f4e1847259aff8b73e7ce94094db711654dd850db32f57d4bf6
6
+ metadata.gz: b3f8588f85ac21c46f12b0f4ade6310ad3f582f58003df22ede10eb01093fcc0cd4e396e77ef5e9040c80146e1a7ac6f40772b8028c6ba0b5712c699c148c053
7
+ data.tar.gz: 326d4589c0ec928f646fcef67843472f002c97d51e05d89b0c1d74e02a927b4bcd4d34b7e3fec964871076db88204941054469f86550adbc1e5e8b90a078adb5
data/.travis.yml CHANGED
@@ -6,9 +6,14 @@ cache:
6
6
  directories:
7
7
  - $HOME/.m2
8
8
 
9
+ services:
10
+ - mysql
11
+ - postgresql
12
+
9
13
  before_script:
10
14
  - bundle exec jbundle install
11
15
  - mysql -uroot -e 'create database killbill_test;'
16
+ - psql -c 'create database killbill_test;' -U postgres
12
17
 
13
18
  notifications:
14
19
  email:
@@ -20,6 +25,7 @@ env:
20
25
  matrix:
21
26
  # Need MySQL 5.6 - see https://github.com/travis-ci/travis-ci/issues/1986
22
27
  #- AR_ADAPTER='mariadb' AR_USERNAME='root' AR_PASSWORD='' AR_DATABASE='killbill_test'
28
+ - AR_ADAPTER='postgresql' AR_USERNAME='postgres' AR_DATABASE='killbill_test'
23
29
  - AR_ADAPTER='sqlite3' AR_DATABASE='test.db'
24
30
 
25
31
  rvm:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- killbill (8.2.0)
4
+ killbill (8.3.0)
5
5
  rack (>= 1.5.2)
6
6
  sinatra (~> 1.3.4)
7
7
  typhoeus (~> 0.6.9)
@@ -35,7 +35,7 @@ GEM
35
35
  activesupport (= 4.1.16)
36
36
  arel (~> 5.0.0)
37
37
  activerecord-bogacs (0.5.0)
38
- activerecord-jdbc-adapter (1.3.20)
38
+ activerecord-jdbc-adapter (1.3.21)
39
39
  activerecord (>= 2.2)
40
40
  activesupport (4.1.16)
41
41
  i18n (~> 0.6, >= 0.6.9)
@@ -56,28 +56,29 @@ GEM
56
56
  diff-lcs (1.1.3)
57
57
  equalizer (0.0.11)
58
58
  erubis (2.7.0)
59
- ethon (0.9.0)
59
+ ethon (0.9.1)
60
60
  ffi (>= 1.3.0)
61
61
  ffi (1.9.14-java)
62
62
  i18n (0.7.0)
63
63
  ice_nine (0.11.2)
64
- jar-dependencies (0.3.4)
64
+ jar-dependencies (0.3.5)
65
65
  jbundler (0.9.3)
66
66
  bundler (~> 1.5)
67
67
  jar-dependencies (~> 0.3)
68
68
  maven-tools (~> 1.1)
69
69
  ruby-maven (~> 3.3, >= 3.3.8)
70
70
  jdbc-mariadb (1.1.9)
71
+ jdbc-postgres (9.4.1206)
71
72
  jdbc-sqlite3 (3.8.11.2)
72
73
  json (1.8.3-java)
73
74
  maven-tools (1.1.6)
74
75
  virtus (~> 1.0)
75
- minitest (5.9.0)
76
+ minitest (5.9.1)
76
77
  monetize (1.1.0)
77
78
  money (~> 6.5.0)
78
79
  money (6.5.1)
79
80
  i18n (>= 0.6.4, <= 0.7.0)
80
- nokogiri (1.6.8-java)
81
+ nokogiri (1.6.8.1-java)
81
82
  offsite_payments (2.1.0)
82
83
  actionpack (>= 3.2.20, < 5.0.0)
83
84
  active_utils (~> 3.0.0)
@@ -132,6 +133,7 @@ DEPENDENCIES
132
133
  activerecord-jdbc-adapter (~> 1.3)
133
134
  jbundler (~> 0.9.2)
134
135
  jdbc-mariadb (~> 1.1.8)
136
+ jdbc-postgres (~> 9.4)
135
137
  jdbc-sqlite3 (~> 3.7)
136
138
  killbill!
137
139
  monetize (~> 1.1.0)
data/Jarfile CHANGED
@@ -1,12 +1,12 @@
1
- jar 'org.kill-bill.billing:killbill-api', '0.40'
2
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.20'
3
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.20'
4
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.20'
5
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.20'
6
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-control', '0.20'
7
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-catalog', '0.20'
8
- jar 'org.kill-bill.billing.plugin:killbill-plugin-api-entitlement', '0.20'
9
- jar 'org.kill-bill.billing:killbill-util:tests', '0.17.2'
10
- jar 'org.kill-bill.billing:killbill-util', '0.17.2'
1
+ jar 'org.kill-bill.billing:killbill-api', '0.50'
2
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-currency', '0.23'
3
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-invoice', '0.23'
4
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-notification', '0.23'
5
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-payment', '0.23'
6
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-control', '0.23'
7
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-catalog', '0.23'
8
+ jar 'org.kill-bill.billing.plugin:killbill-plugin-api-entitlement', '0.23'
9
+ jar 'org.kill-bill.billing:killbill-util:tests', '0.17.8'
10
+ jar 'org.kill-bill.billing:killbill-util', '0.17.8'
11
11
  jar 'org.mockito:mockito-all', '1.10.19'
12
12
  jar 'javax.servlet:javax.servlet-api', '3.1.0'
data/Jarfile.lock CHANGED
@@ -4,61 +4,61 @@
4
4
  - joda-time:joda-time:jar:2.3
5
5
  - org.weakref:jmxutils:jar:1.18
6
6
  - commons-beanutils:commons-beanutils:jar:1.8.3
7
- - org.kill-bill.commons:killbill-clock:jar:0.19
7
+ - org.kill-bill.billing:killbill-platform-api:jar:0.34
8
8
  - com.google.inject:guice:jar:3.0
9
9
  - org.osgi:org.osgi.core:jar:5.0.0
10
10
  - com.fasterxml.jackson.core:jackson-databind:jar:2.4.5
11
- - org.kill-bill.billing.plugin:killbill-plugin-api-notification:jar:0.20
12
- - org.kill-bill.billing.plugin:killbill-plugin-api-catalog:jar:0.20
11
+ - org.kill-bill.billing.plugin:killbill-plugin-api-currency:jar:0.23
13
12
  - com.samskivert:jmustache:jar:1.5
14
- - org.kill-bill.billing.plugin:killbill-plugin-api-currency:jar:0.20
13
+ - org.kill-bill.billing:killbill-util:jar:tests:0.17.8
14
+ - org.kill-bill.commons:killbill-clock:jar:0.20
15
15
  - com.fasterxml.jackson.dataformat:jackson-dataformat-csv:jar:2.4.5
16
- - org.kill-bill.billing.plugin:killbill-plugin-api-invoice:jar:0.20
16
+ - org.kill-bill.billing:killbill-platform-osgi-api:jar:0.34
17
+ - org.kill-bill.billing.plugin:killbill-plugin-api-entitlement:jar:0.23
17
18
  - org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:jar:1.16
18
19
  - com.h2database:h2:jar:1.4.186
19
- - org.kill-bill.billing:killbill-platform-osgi-api:jar:0.31
20
20
  - com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.4.5
21
- - org.kill-bill.commons:killbill-queue:jar:0.19
22
- - org.kill-bill.billing:killbill-util:jar:tests:0.17.2
23
21
  - javax.activation:activation:jar:1.1
22
+ - org.kill-bill.billing:killbill-internal-api:jar:0.17.8
24
23
  - org.javassist:javassist:jar:3.19.0-GA
25
24
  - org.skife.config:config-magic:jar:0.14
26
- - org.kill-bill.billing:killbill-util:jar:0.17.2
27
- - org.mockito:mockito-all:jar:1.10.19
28
25
  - org.apache.commons:commons-email:jar:1.2
26
+ - org.mockito:mockito-all:jar:1.10.19
29
27
  - antlr:antlr:jar:2.7.7
30
28
  - aopalliance:aopalliance:jar:1.0
31
- - org.kill-bill.commons:killbill-concurrent:jar:0.19
32
29
  - com.zaxxer:HikariCP-java6:jar:2.3.7
33
30
  - org.slf4j:slf4j-api:jar:1.7.21
34
31
  - com.fasterxml.jackson.core:jackson-annotations:jar:2.4.3
35
32
  - org.antlr:stringtemplate:jar:3.2.1
36
- - org.kill-bill.commons:killbill-jdbi:jar:0.19
37
- - org.kill-bill.billing:killbill-platform-api:jar:0.31
38
33
  - org.slf4j:jcl-over-slf4j:jar:1.7.21
39
34
  - javax.mail:mail:jar:1.4.1
40
- - org.kill-bill.billing:killbill-api:jar:0.40
41
35
  - io.dropwizard.metrics:metrics-ehcache:jar:3.1.1
42
- - org.kill-bill.commons:killbill-xmlloader:jar:0.19
43
- - org.kill-bill.billing.plugin:killbill-plugin-api-payment:jar:0.20
44
- - org.kill-bill.billing.plugin:killbill-plugin-api-control:jar:0.20
36
+ - org.kill-bill.billing:killbill-platform-osgi:jar:0.34
45
37
  - org.jdbi:jdbi:jar:2.62
46
38
  - com.fasterxml.jackson.core:jackson-core:jar:2.4.5
47
39
  - org.apache.felix:org.apache.felix.framework:jar:4.4.1
48
40
  - org.joda:joda-money:jar:0.9
41
+ - org.kill-bill.billing.plugin:killbill-plugin-api-payment:jar:0.23
42
+ - org.kill-bill.billing:killbill-util:jar:0.17.8
49
43
  - org.apache.shiro:shiro-core:jar:1.2.3
50
- - org.kill-bill.billing:killbill-internal-api:jar:0.17.2
44
+ - org.kill-bill.billing:killbill-platform-base:jar:0.34
45
+ - org.kill-bill.billing.plugin:killbill-plugin-api-control:jar:0.23
46
+ - org.kill-bill.commons:killbill-jdbi:jar:0.20
51
47
  - com.google.guava:guava:jar:r09
52
- - org.kill-bill.billing:killbill-platform-base:jar:0.31
53
- - org.kill-bill.billing:killbill-platform-osgi:jar:0.31
48
+ - org.kill-bill.commons:killbill-queue:jar:0.20
54
49
  - org.osgi:org.osgi.compendium:jar:5.0.0
50
+ - org.kill-bill.commons:killbill-xmlloader:jar:0.20
55
51
  - javax.servlet:javax.servlet-api:jar:3.1.0
56
52
  - org.apache.shiro:shiro-ehcache:jar:1.2.3
57
53
  - javax.inject:javax.inject:jar:1
54
+ - org.kill-bill.billing.plugin:killbill-plugin-api-invoice:jar:0.23
55
+ - org.kill-bill.billing:killbill-api:jar:0.50
58
56
  - com.google.inject.extensions:guice-multibindings:jar:3.0
59
- - org.kill-bill.billing.plugin:killbill-plugin-api-entitlement:jar:0.20
60
57
  - net.sf.ehcache:ehcache:jar:2.9.1
61
- - org.kill-bill.commons:killbill-embeddeddb-common:jar:0.19
58
+ - org.kill-bill.commons:killbill-locker:jar:0.20
59
+ - org.kill-bill.commons:killbill-embeddeddb-common:jar:0.20
62
60
  - org.apache.shiro:shiro-guice:jar:1.2.3
63
- - org.kill-bill.commons:killbill-locker:jar:0.19
64
61
  - com.google.code.findbugs:annotations:jar:3.0.0
62
+ - org.kill-bill.commons:killbill-concurrent:jar:0.20
63
+ - org.kill-bill.billing.plugin:killbill-plugin-api-catalog:jar:0.23
64
+ - org.kill-bill.billing.plugin:killbill-plugin-api-notification:jar:0.23
data/NEWS CHANGED
@@ -1,3 +1,6 @@
1
+ 8.3.0
2
+ Initial release for Kill Bill 0.18.x
3
+
1
4
  8.2.0
2
5
  Updates for 0.17.2
3
6
 
@@ -10,6 +13,10 @@
10
13
  8.0.0
11
14
  Initial release for Kill Bill 0.17.x
12
15
 
16
+ 7.0.6
17
+ ActiveMerchant: pass currency to auth_reversal call
18
+ Improve PostgreSQL support
19
+
13
20
  7.0.5
14
21
  Fix regression when loading Rake tasks
15
22
 
data/README.md CHANGED
@@ -1,18 +1,3 @@
1
- [![Build Status](https://travis-ci.org/killbill/killbill-plugin-framework-ruby.png)](https://travis-ci.org/killbill/killbill-plugin-framework-ruby)
2
- [![Code Climate](https://codeclimate.com/github/killbill/killbill-plugin-framework-ruby.png)](https://codeclimate.com/github/killbill/killbill-plugin-framework-ruby)
3
-
4
-
5
- Kill Bill compatibility
6
- -----------------------
7
-
8
- | Plugin Framework version | Kill Bill version |
9
- | -----------------------: | ----------------: |
10
- | 7.x.y | 0.16.z |
11
- | 8.x.y | 0.18.z (and 0.17.x)|
12
-
13
-
14
-
15
-
16
1
  killbill-plugin-framework-ruby
17
2
  ==============================
18
3
 
@@ -28,6 +13,15 @@ There are various types of plugins one can write for Killbill:
28
13
 
29
14
  All plugin types can interact with Kill Bill directly via APIs and expose HTTP endpoints.
30
15
 
16
+ Kill Bill compatibility
17
+ -----------------------
18
+
19
+ | OSS parent version | Kill Bill version |
20
+ | -----------------: | ----------------: |
21
+ | 7.x.y | 0.16.z |
22
+ | 8.3.y | 0.18.z |
23
+
24
+
31
25
  How to write a Notification plugin
32
26
  ----------------------------------
33
27
 
@@ -261,4 +255,5 @@ To change the database driver:
261
255
 
262
256
  ```bash
263
257
  AR_ADAPTER=mariadb AR_USERNAME=root AR_PASSWORD=root AR_DATABASE=kbtest rake
258
+ AR_ADAPTER=postgresql AR_DATABASE=kbtest rake
264
259
  ```
@@ -12,11 +12,15 @@ RSpec.configure do |config|
12
12
  config.formatter = 'documentation'
13
13
  end
14
14
 
15
- require 'active_record'
16
- ActiveRecord::Base.establish_connection(
17
- :adapter => 'sqlite3',
18
- :database => 'test.db'
19
- )
15
+ require defined?(JRUBY_VERSION) ? 'arjdbc' : 'active_record'
16
+ db_config = {
17
+ :adapter => ENV['AR_ADAPTER'] || 'sqlite3',
18
+ :database => ENV['AR_DATABASE'] || 'test.db',
19
+ }
20
+ db_config[:username] = ENV['AR_USERNAME'] if ENV['AR_USERNAME']
21
+ db_config[:password] = ENV['AR_PASSWORD'] if ENV['AR_PASSWORD']
22
+ ActiveRecord::Base.establish_connection(db_config)
23
+
20
24
  # For debugging
21
25
  #ActiveRecord::Base.logger = Logger.new(STDOUT)
22
26
  # Create the schema
data/killbill.gemspec CHANGED
@@ -37,6 +37,7 @@ Gem::Specification.new do |s|
37
37
  # See https://github.com/killbill/killbill-plugin-framework-ruby/issues/33
38
38
  s.add_development_dependency 'activerecord-jdbc-adapter', '~> 1.3'
39
39
  s.add_development_dependency 'jdbc-mariadb', '~> 1.1.8'
40
+ s.add_development_dependency 'jdbc-postgres', '~> 9.4'
40
41
  end
41
42
  s.add_development_dependency 'actionpack', '~> 4.1.0'
42
43
  s.add_development_dependency 'actionview', '~> 4.1.0'
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.account.api.Account
36
36
 
37
- attr_accessor :id, :created_date, :updated_date, :external_key, :currency, :time_zone, :parent_account_id, :is_payment_delegated_to_parent, :fixed_offset_time_zone, :reference_time, :name, :first_name_length, :email, :bill_cycle_day_local, :payment_method_id, :locale, :address1, :address2, :company_name, :city, :state_or_province, :postal_code, :country, :phone, :is_migrated, :is_notified_for_invoices
37
+ attr_accessor :id, :created_date, :updated_date, :external_key, :currency, :time_zone, :parent_account_id, :is_payment_delegated_to_parent, :fixed_offset_time_zone, :reference_time, :name, :first_name_length, :email, :bill_cycle_day_local, :payment_method_id, :locale, :address1, :address2, :company_name, :city, :state_or_province, :postal_code, :country, :phone, :is_migrated, :is_notified_for_invoices, :notes
38
38
 
39
39
  def initialize()
40
40
  end
@@ -130,6 +130,9 @@ module Killbill
130
130
 
131
131
  # conversion for is_notified_for_invoices [type = java.lang.Boolean]
132
132
  @is_notified_for_invoices = @is_notified_for_invoices.nil? ? java.lang.Boolean.new(false) : java.lang.Boolean.new(@is_notified_for_invoices)
133
+
134
+ # conversion for notes [type = java.lang.String]
135
+ @notes = @notes.to_s unless @notes.nil?
133
136
  self
134
137
  end
135
138
 
@@ -254,6 +257,9 @@ module Killbill
254
257
  tmp_bool = (@is_notified_for_invoices.java_kind_of? java.lang.Boolean) ? @is_notified_for_invoices.boolean_value : @is_notified_for_invoices
255
258
  @is_notified_for_invoices = tmp_bool ? true : false
256
259
  end
260
+
261
+ # conversion for notes [type = java.lang.String]
262
+ @notes = j_obj.notes
257
263
  self
258
264
  end
259
265
 
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.account.api.AccountData
36
36
 
37
- attr_accessor :external_key, :name, :first_name_length, :email, :bill_cycle_day_local, :currency, :payment_method_id, :time_zone, :locale, :address1, :address2, :company_name, :city, :state_or_province, :postal_code, :country, :phone, :is_migrated, :is_notified_for_invoices, :parent_account_id, :is_payment_delegated_to_parent
37
+ attr_accessor :external_key, :name, :first_name_length, :email, :bill_cycle_day_local, :currency, :payment_method_id, :time_zone, :locale, :address1, :address2, :company_name, :city, :state_or_province, :postal_code, :country, :phone, :is_migrated, :is_notified_for_invoices, :parent_account_id, :is_payment_delegated_to_parent, :notes
38
38
 
39
39
  def initialize()
40
40
  end
@@ -104,6 +104,9 @@ module Killbill
104
104
 
105
105
  # conversion for is_payment_delegated_to_parent [type = java.lang.Boolean]
106
106
  @is_payment_delegated_to_parent = @is_payment_delegated_to_parent.nil? ? java.lang.Boolean.new(false) : java.lang.Boolean.new(@is_payment_delegated_to_parent)
107
+
108
+ # conversion for notes [type = java.lang.String]
109
+ @notes = @notes.to_s unless @notes.nil?
107
110
  self
108
111
  end
109
112
 
@@ -194,6 +197,9 @@ module Killbill
194
197
  tmp_bool = (@is_payment_delegated_to_parent.java_kind_of? java.lang.Boolean) ? @is_payment_delegated_to_parent.boolean_value : @is_payment_delegated_to_parent
195
198
  @is_payment_delegated_to_parent = tmp_bool ? true : false
196
199
  end
200
+
201
+ # conversion for notes [type = java.lang.String]
202
+ @notes = j_obj.notes
197
203
  self
198
204
  end
199
205
 
@@ -0,0 +1,117 @@
1
+ #############################################################################################
2
+ # #
3
+ # Copyright 2010-2013 Ning, Inc. #
4
+ # Copyright 2014 Groupon, Inc. #
5
+ # Copyright 2014 The Billing Project, LLC #
6
+ # #
7
+ # The Billing Project licenses this file to you under the Apache License, version 2.0 #
8
+ # (the "License"); you may not use this file except in compliance with the #
9
+ # License. You may obtain a copy of the License at: #
10
+ # #
11
+ # http://www.apache.org/licenses/LICENSE-2.0 #
12
+ # #
13
+ # Unless required by applicable law or agreed to in writing, software #
14
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
15
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the #
16
+ # License for the specific language governing permissions and limitations #
17
+ # under the License. #
18
+ # #
19
+ #############################################################################################
20
+
21
+
22
+ #
23
+ # DO NOT EDIT!!!
24
+ # File automatically generated by killbill-java-parser (git@github.com:killbill/killbill-java-parser.git)
25
+ #
26
+
27
+
28
+ module Killbill
29
+ module Plugin
30
+ module Model
31
+
32
+ java_package 'org.killbill.billing.entitlement.api'
33
+ class BaseEntitlementWithAddOnsSpecifier
34
+
35
+ include org.killbill.billing.entitlement.api.BaseEntitlementWithAddOnsSpecifier
36
+
37
+ attr_accessor :bundle_id, :external_key, :entitlement_specifier, :entitlement_effective_date, :billing_effective_date, :is_migrated
38
+
39
+ def initialize()
40
+ end
41
+
42
+ def to_java()
43
+ # conversion for bundle_id [type = java.util.UUID]
44
+ @bundle_id = java.util.UUID.fromString(@bundle_id.to_s) unless @bundle_id.nil?
45
+
46
+ # conversion for external_key [type = java.lang.String]
47
+ @external_key = @external_key.to_s unless @external_key.nil?
48
+
49
+ # conversion for entitlement_specifier [type = java.lang.Iterable]
50
+ tmp = java.util.ArrayList.new
51
+ (@entitlement_specifier || []).each do |m|
52
+ # conversion for m [type = org.killbill.billing.entitlement.api.EntitlementSpecifier]
53
+ m = m.to_java unless m.nil?
54
+ tmp.add(m)
55
+ end
56
+ @entitlement_specifier = tmp
57
+
58
+ # conversion for entitlement_effective_date [type = org.joda.time.LocalDate]
59
+ if !@entitlement_effective_date.nil?
60
+ @entitlement_effective_date = Java::org.joda.time.LocalDate.parse(@entitlement_effective_date.to_s)
61
+ end
62
+
63
+ # conversion for billing_effective_date [type = org.joda.time.LocalDate]
64
+ if !@billing_effective_date.nil?
65
+ @billing_effective_date = Java::org.joda.time.LocalDate.parse(@billing_effective_date.to_s)
66
+ end
67
+
68
+ # conversion for is_migrated [type = boolean]
69
+ @is_migrated = @is_migrated.nil? ? java.lang.Boolean.new(false) : java.lang.Boolean.new(@is_migrated)
70
+ self
71
+ end
72
+
73
+ def to_ruby(j_obj)
74
+ # conversion for bundle_id [type = java.util.UUID]
75
+ @bundle_id = j_obj.bundle_id
76
+ @bundle_id = @bundle_id.nil? ? nil : @bundle_id.to_s
77
+
78
+ # conversion for external_key [type = java.lang.String]
79
+ @external_key = j_obj.external_key
80
+
81
+ # conversion for entitlement_specifier [type = java.lang.Iterable]
82
+ @entitlement_specifier = j_obj.entitlement_specifier
83
+ tmp = []
84
+ (@entitlement_specifier.nil? ? [] : @entitlement_specifier.iterator).each do |m|
85
+ # conversion for m [type = org.killbill.billing.entitlement.api.EntitlementSpecifier]
86
+ m = Killbill::Plugin::Model::EntitlementSpecifier.new.to_ruby(m) unless m.nil?
87
+ tmp << m
88
+ end
89
+ @entitlement_specifier = tmp
90
+
91
+ # conversion for entitlement_effective_date [type = org.joda.time.LocalDate]
92
+ @entitlement_effective_date = j_obj.entitlement_effective_date
93
+ if !@entitlement_effective_date.nil?
94
+ @entitlement_effective_date = @entitlement_effective_date.to_s
95
+ end
96
+
97
+ # conversion for billing_effective_date [type = org.joda.time.LocalDate]
98
+ @billing_effective_date = j_obj.billing_effective_date
99
+ if !@billing_effective_date.nil?
100
+ @billing_effective_date = @billing_effective_date.to_s
101
+ end
102
+
103
+ # conversion for is_migrated [type = boolean]
104
+ @is_migrated = j_obj.is_migrated
105
+ if @is_migrated.nil?
106
+ @is_migrated = false
107
+ else
108
+ tmp_bool = (@is_migrated.java_kind_of? java.lang.Boolean) ? @is_migrated.boolean_value : @is_migrated
109
+ @is_migrated = tmp_bool ? true : false
110
+ end
111
+ self
112
+ end
113
+
114
+ end
115
+ end
116
+ end
117
+ end