killbill 8.2.0 → 8.3.0

Sign up to get free protection for your applications and to get access to all the features.
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