killbill 3.2.2 → 3.2.3

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +5 -2
  3. data/Jarfile +7 -7
  4. data/README.md +16 -4
  5. data/VERSION +1 -1
  6. data/gen_config/api.conf +48 -47
  7. data/gen_config/plugin_api.conf +17 -16
  8. data/generators/active_merchant/templates/.gitignore.rb +2 -2
  9. data/generators/active_merchant/templates/lib/api.rb +8 -0
  10. data/generators/active_merchant/templates/plugin.gemspec.rb +1 -0
  11. data/generators/active_merchant/templates/spec/base_plugin_spec.rb +1 -0
  12. data/generators/active_merchant/templates/spec/integration_spec.rb +5 -1
  13. data/killbill.gemspec +1 -0
  14. data/lib/killbill/creator.rb +9 -0
  15. data/lib/killbill/currency.rb +6 -0
  16. data/lib/killbill/gen/api/account_audit_logs_for_object_type.rb +9 -7
  17. data/lib/killbill/gen/api/catalog_user_api.rb +37 -4
  18. data/lib/killbill/gen/api/payment_api.rb +104 -0
  19. data/lib/killbill/gen/api/payment_gateway_api.rb +6 -3
  20. data/lib/killbill/gen/api/plan_phase.rb +1 -8
  21. data/lib/killbill/gen/api/price_list_set.rb +9 -7
  22. data/lib/killbill/gen/api/subscription.rb +20 -1
  23. data/lib/killbill/gen/api/tenant_user_api.rb +3 -3
  24. data/lib/killbill/gen/plugin-api/currency_plugin_with_events_api.rb +207 -0
  25. data/lib/killbill/gen/plugin-api/ext_bus_event.rb +7 -1
  26. data/lib/killbill/gen/plugin-api/invoice_plugin_with_events_api.rb +103 -0
  27. data/lib/killbill/gen/plugin-api/payment_plugin_with_events_api.rb +782 -0
  28. data/lib/killbill/gen/plugin-api/require_gen.rb +3 -0
  29. data/lib/killbill/helpers/active_merchant/configuration.rb +116 -46
  30. data/lib/killbill/helpers/active_merchant/killbill_spec_helper.rb +49 -32
  31. data/lib/killbill/helpers/active_merchant/payment_plugin.rb +18 -6
  32. data/lib/killbill/helpers/active_merchant/private_payment_plugin.rb +3 -3
  33. data/lib/killbill/helpers/active_merchant/utils.rb +37 -70
  34. data/lib/killbill/invoice.rb +6 -0
  35. data/lib/killbill/payment.rb +6 -0
  36. data/lib/killbill/plugin.rb +1 -1
  37. data/lib/killbill/rake_task.rb +1 -1
  38. data/spec/killbill/helpers/configuration_spec.rb +41 -5
  39. data/spec/killbill/helpers/payment_plugin_spec.rb +4 -1
  40. data/spec/killbill/helpers/private_payment_plugin_spec.rb +4 -2
  41. data/spec/killbill/helpers/utils_spec.rb +6 -6
  42. data/spec/killbill/invoice_plugin_api_spec.rb +1 -1
  43. data/spec/killbill/notification_plugin_api_spec.rb +1 -1
  44. data/spec/killbill/payment_plugin_api_spec.rb +1 -1
  45. metadata +19 -3
  46. data/lib/killbill/jnotification.rb +0 -31
@@ -39,12 +39,15 @@ module Killbill
39
39
  end
40
40
 
41
41
 
42
- java_signature 'Java::org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor buildFormDescriptor(Java::org.killbill.billing.account.api.Account, Java::java.lang.Iterable, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
43
- def build_form_descriptor(account, customFields, properties, context)
42
+ java_signature 'Java::org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor buildFormDescriptor(Java::org.killbill.billing.account.api.Account, Java::java.util.UUID, Java::java.lang.Iterable, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
43
+ def build_form_descriptor(account, paymentMethodId, customFields, properties, context)
44
44
 
45
45
  # conversion for account [type = org.killbill.billing.account.api.Account]
46
46
  account = account.to_java unless account.nil?
47
47
 
48
+ # conversion for paymentMethodId [type = java.util.UUID]
49
+ paymentMethodId = java.util.UUID.fromString(paymentMethodId.to_s) unless paymentMethodId.nil?
50
+
48
51
  # conversion for customFields [type = java.lang.Iterable]
49
52
  tmp = java.util.ArrayList.new
50
53
  (customFields || []).each do |m|
@@ -66,7 +69,7 @@ module Killbill
66
69
  # conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
67
70
  context = context.to_java unless context.nil?
68
71
  begin
69
- res = @real_java_api.build_form_descriptor(account, customFields, properties, context)
72
+ res = @real_java_api.build_form_descriptor(account, paymentMethodId, customFields, properties, context)
70
73
  # conversion for res [type = org.killbill.billing.payment.plugin.api.HostedPaymentPageFormDescriptor]
71
74
  res = Killbill::Plugin::Model::HostedPaymentPageFormDescriptor.new.to_ruby(res) unless res.nil?
72
75
  return res
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.catalog.api.PlanPhase
36
36
 
37
- attr_accessor :fixed, :recurring, :usages, :name, :plan, :duration, :phase_type
37
+ attr_accessor :fixed, :recurring, :usages, :name, :duration, :phase_type
38
38
 
39
39
  def initialize()
40
40
  end
@@ -58,9 +58,6 @@ module Killbill
58
58
  # conversion for name [type = java.lang.String]
59
59
  @name = @name.to_s unless @name.nil?
60
60
 
61
- # conversion for plan [type = org.killbill.billing.catalog.api.Plan]
62
- @plan = @plan.to_java unless @plan.nil?
63
-
64
61
  # conversion for duration [type = org.killbill.billing.catalog.api.Duration]
65
62
  @duration = @duration.to_java unless @duration.nil?
66
63
 
@@ -91,10 +88,6 @@ module Killbill
91
88
  # conversion for name [type = java.lang.String]
92
89
  @name = j_obj.name
93
90
 
94
- # conversion for plan [type = org.killbill.billing.catalog.api.Plan]
95
- #@plan = j_obj.plan
96
- #@plan = Killbill::Plugin::Model::Plan.new.to_ruby(@plan) unless @plan.nil?
97
-
98
91
  # conversion for duration [type = org.killbill.billing.catalog.api.Duration]
99
92
  @duration = j_obj.duration
100
93
  @duration = Killbill::Plugin::Model::Duration.new.to_ruby(@duration) unless @duration.nil?
@@ -34,18 +34,20 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.catalog.api.PriceListSet
36
36
 
37
+ attr_accessor
38
+
37
39
  def initialize()
38
40
  end
39
41
 
40
42
  def to_java()
41
- self
42
- end
43
-
44
- def to_ruby(j_obj)
45
- self
46
- end
47
-
43
+ self
48
44
  end
45
+
46
+ def to_ruby(j_obj)
47
+ self
49
48
  end
49
+
50
50
  end
51
51
  end
52
+ end
53
+ end
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.entitlement.api.Subscription
36
36
 
37
- attr_accessor :base_entitlement_id, :bundle_id, :account_id, :external_key, :state, :source_type, :effective_start_date, :effective_end_date, :last_active_product, :last_active_plan, :last_active_phase, :last_active_price_list, :last_active_product_category, :id, :created_date, :updated_date, :billing_start_date, :billing_end_date, :charged_through_date
37
+ attr_accessor :base_entitlement_id, :bundle_id, :account_id, :external_key, :state, :source_type, :effective_start_date, :effective_end_date, :last_active_product, :last_active_plan, :last_active_phase, :last_active_price_list, :last_active_product_category, :id, :created_date, :updated_date, :billing_start_date, :billing_end_date, :charged_through_date, :subscription_events
38
38
 
39
39
  def initialize()
40
40
  end
@@ -112,6 +112,15 @@ module Killbill
112
112
  if !@charged_through_date.nil?
113
113
  @charged_through_date = Java::org.joda.time.LocalDate.parse(@charged_through_date.to_s)
114
114
  end
115
+
116
+ # conversion for subscription_events [type = java.util.List]
117
+ tmp = java.util.ArrayList.new
118
+ (@subscription_events || []).each do |m|
119
+ # conversion for m [type = org.killbill.billing.entitlement.api.SubscriptionEvent]
120
+ m = m.to_java unless m.nil?
121
+ tmp.add(m)
122
+ end
123
+ @subscription_events = tmp
115
124
  self
116
125
  end
117
126
 
@@ -208,6 +217,16 @@ module Killbill
208
217
  if !@charged_through_date.nil?
209
218
  @charged_through_date = @charged_through_date.to_s
210
219
  end
220
+
221
+ # conversion for subscription_events [type = java.util.List]
222
+ @subscription_events = j_obj.subscription_events
223
+ tmp = []
224
+ (@subscription_events || []).each do |m|
225
+ # conversion for m [type = org.killbill.billing.entitlement.api.SubscriptionEvent]
226
+ m = Killbill::Plugin::Model::SubscriptionEvent.new.to_ruby(m) unless m.nil?
227
+ tmp << m
228
+ end
229
+ @subscription_events = tmp
211
230
  self
212
231
  end
213
232
 
@@ -87,8 +87,8 @@ module Killbill
87
87
  end
88
88
  end
89
89
 
90
- java_signature 'Java::java.util.List getTenantValueForKey(Java::java.lang.String, Java::org.killbill.billing.util.callcontext.TenantContext)'
91
- def get_tenant_value_for_key(key, context)
90
+ java_signature 'Java::java.util.List getTenantValuesForKey(Java::java.lang.String, Java::org.killbill.billing.util.callcontext.TenantContext)'
91
+ def get_tenant_values_for_key(key, context)
92
92
 
93
93
  # conversion for key [type = java.lang.String]
94
94
  key = key.to_s unless key.nil?
@@ -96,7 +96,7 @@ module Killbill
96
96
  # conversion for context [type = org.killbill.billing.util.callcontext.TenantContext]
97
97
  context = context.to_java unless context.nil?
98
98
  begin
99
- res = @real_java_api.get_tenant_value_for_key(key, context)
99
+ res = @real_java_api.get_tenant_values_for_key(key, context)
100
100
  # conversion for res [type = java.util.List]
101
101
  tmp = []
102
102
  (res || []).each do |m|
@@ -0,0 +1,207 @@
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 Api
31
+
32
+ java_package 'org.killbill.billing.currency.plugin.api'
33
+ class CurrencyPluginWithEventsApi < JPlugin
34
+
35
+ include org.killbill.billing.currency.plugin.api.CurrencyPluginWithEventsApi
36
+
37
+ def initialize(real_class_name, services = {})
38
+ super(real_class_name, services)
39
+ end
40
+
41
+
42
+ java_signature 'Java::void onEvent(Java::org.killbill.billing.notification.plugin.api.ExtBusEvent)'
43
+ def on_event(killbillEvent)
44
+
45
+ # conversion for killbillEvent [type = org.killbill.billing.notification.plugin.api.ExtBusEvent]
46
+ killbillEvent = Killbill::Plugin::Model::ExtBusEvent.new.to_ruby(killbillEvent) unless killbillEvent.nil?
47
+ begin
48
+ @delegate_plugin.on_event(killbillEvent)
49
+ rescue Exception => e
50
+ message = "Failure in on_event: #{e}"
51
+ unless e.backtrace.nil?
52
+ message = "#{message}\n#{e.backtrace.join("\n")}"
53
+ end
54
+ logger.warn message
55
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("on_event failure", e.message)
56
+ ensure
57
+ @delegate_plugin.after_request
58
+ end
59
+ end
60
+
61
+ java_signature 'Java::java.util.Set getBaseCurrencies()'
62
+ def get_base_currencies()
63
+ begin
64
+ res = @delegate_plugin.get_base_currencies()
65
+ # conversion for res [type = java.util.Set]
66
+ tmp = java.util.TreeSet.new
67
+ (res || []).each do |m|
68
+ # conversion for m [type = org.killbill.billing.catalog.api.Currency]
69
+ m = Java::org.killbill.billing.catalog.api.Currency.value_of("#{m.to_s}") unless m.nil?
70
+ tmp.add(m)
71
+ end
72
+ res = tmp
73
+ return res
74
+ rescue Exception => e
75
+ message = "Failure in get_base_currencies: #{e}"
76
+ unless e.backtrace.nil?
77
+ message = "#{message}\n#{e.backtrace.join("\n")}"
78
+ end
79
+ logger.warn message
80
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_base_currencies failure", e.message)
81
+ ensure
82
+ @delegate_plugin.after_request
83
+ end
84
+ end
85
+
86
+ java_signature 'Java::org.joda.time.DateTime getLatestConversionDate(Java::org.killbill.billing.catalog.api.Currency)'
87
+ def get_latest_conversion_date(baseCurrency)
88
+
89
+ # conversion for baseCurrency [type = org.killbill.billing.catalog.api.Currency]
90
+ baseCurrency = baseCurrency.to_s.to_sym unless baseCurrency.nil?
91
+ begin
92
+ res = @delegate_plugin.get_latest_conversion_date(baseCurrency)
93
+ # conversion for res [type = org.joda.time.DateTime]
94
+ if !res.nil?
95
+ res = (res.kind_of? Time) ? DateTime.parse(res.to_s) : res
96
+ res = Java::org.joda.time.DateTime.new(res.to_s, Java::org.joda.time.DateTimeZone::UTC)
97
+ end
98
+ return res
99
+ rescue Exception => e
100
+ message = "Failure in get_latest_conversion_date: #{e}"
101
+ unless e.backtrace.nil?
102
+ message = "#{message}\n#{e.backtrace.join("\n")}"
103
+ end
104
+ logger.warn message
105
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_latest_conversion_date failure", e.message)
106
+ ensure
107
+ @delegate_plugin.after_request
108
+ end
109
+ end
110
+
111
+ java_signature 'Java::java.util.SortedSet getConversionDates(Java::org.killbill.billing.catalog.api.Currency)'
112
+ def get_conversion_dates(baseCurrency)
113
+
114
+ # conversion for baseCurrency [type = org.killbill.billing.catalog.api.Currency]
115
+ baseCurrency = baseCurrency.to_s.to_sym unless baseCurrency.nil?
116
+ begin
117
+ res = @delegate_plugin.get_conversion_dates(baseCurrency)
118
+ # conversion for res [type = java.util.SortedSet]
119
+ tmp = java.util.TreeSet.new
120
+ (res || []).each do |m|
121
+ # conversion for m [type = org.joda.time.DateTime]
122
+ if !m.nil?
123
+ m = (m.kind_of? Time) ? DateTime.parse(m.to_s) : m
124
+ m = Java::org.joda.time.DateTime.new(m.to_s, Java::org.joda.time.DateTimeZone::UTC)
125
+ end
126
+ tmp.add(m)
127
+ end
128
+ res = tmp
129
+ return res
130
+ rescue Exception => e
131
+ message = "Failure in get_conversion_dates: #{e}"
132
+ unless e.backtrace.nil?
133
+ message = "#{message}\n#{e.backtrace.join("\n")}"
134
+ end
135
+ logger.warn message
136
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_conversion_dates failure", e.message)
137
+ ensure
138
+ @delegate_plugin.after_request
139
+ end
140
+ end
141
+
142
+ java_signature 'Java::java.util.Set getCurrentRates(Java::org.killbill.billing.catalog.api.Currency)'
143
+ def get_current_rates(baseCurrency)
144
+
145
+ # conversion for baseCurrency [type = org.killbill.billing.catalog.api.Currency]
146
+ baseCurrency = baseCurrency.to_s.to_sym unless baseCurrency.nil?
147
+ begin
148
+ res = @delegate_plugin.get_current_rates(baseCurrency)
149
+ # conversion for res [type = java.util.Set]
150
+ tmp = java.util.TreeSet.new
151
+ (res || []).each do |m|
152
+ # conversion for m [type = org.killbill.billing.currency.api.Rate]
153
+ m = m.to_java unless m.nil?
154
+ tmp.add(m)
155
+ end
156
+ res = tmp
157
+ return res
158
+ rescue Exception => e
159
+ message = "Failure in get_current_rates: #{e}"
160
+ unless e.backtrace.nil?
161
+ message = "#{message}\n#{e.backtrace.join("\n")}"
162
+ end
163
+ logger.warn message
164
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_current_rates failure", e.message)
165
+ ensure
166
+ @delegate_plugin.after_request
167
+ end
168
+ end
169
+
170
+ java_signature 'Java::java.util.Set getRates(Java::org.killbill.billing.catalog.api.Currency, Java::org.joda.time.DateTime)'
171
+ def get_rates(baseCurrency, conversionDate)
172
+
173
+ # conversion for baseCurrency [type = org.killbill.billing.catalog.api.Currency]
174
+ baseCurrency = baseCurrency.to_s.to_sym unless baseCurrency.nil?
175
+
176
+ # conversion for conversionDate [type = org.joda.time.DateTime]
177
+ if !conversionDate.nil?
178
+ fmt = Java::org.joda.time.format.ISODateTimeFormat.date_time_no_millis # See https://github.com/killbill/killbill-java-parser/issues/3
179
+ str = fmt.print(conversionDate)
180
+ conversionDate = DateTime.iso8601(str)
181
+ end
182
+ begin
183
+ res = @delegate_plugin.get_rates(baseCurrency, conversionDate)
184
+ # conversion for res [type = java.util.Set]
185
+ tmp = java.util.TreeSet.new
186
+ (res || []).each do |m|
187
+ # conversion for m [type = org.killbill.billing.currency.api.Rate]
188
+ m = m.to_java unless m.nil?
189
+ tmp.add(m)
190
+ end
191
+ res = tmp
192
+ return res
193
+ rescue Exception => e
194
+ message = "Failure in get_rates: #{e}"
195
+ unless e.backtrace.nil?
196
+ message = "#{message}\n#{e.backtrace.join("\n")}"
197
+ end
198
+ logger.warn message
199
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_rates failure", e.message)
200
+ ensure
201
+ @delegate_plugin.after_request
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.notification.plugin.api.ExtBusEvent
36
36
 
37
- attr_accessor :event_type, :object_type, :object_id, :account_id, :tenant_id
37
+ attr_accessor :event_type, :object_type, :object_id, :meta_data, :account_id, :tenant_id
38
38
 
39
39
  def initialize()
40
40
  end
@@ -49,6 +49,9 @@ module Killbill
49
49
  # conversion for object_id [type = java.util.UUID]
50
50
  @object_id = java.util.UUID.fromString(@object_id.to_s) unless @object_id.nil?
51
51
 
52
+ # conversion for meta_data [type = java.lang.String]
53
+ @meta_data = @meta_data.to_s unless @meta_data.nil?
54
+
52
55
  # conversion for account_id [type = java.util.UUID]
53
56
  @account_id = java.util.UUID.fromString(@account_id.to_s) unless @account_id.nil?
54
57
 
@@ -70,6 +73,9 @@ module Killbill
70
73
  @object_id = j_obj.object_id
71
74
  @object_id = @object_id.nil? ? nil : @object_id.to_s
72
75
 
76
+ # conversion for meta_data [type = java.lang.String]
77
+ @meta_data = j_obj.meta_data
78
+
73
79
  # conversion for account_id [type = java.util.UUID]
74
80
  @account_id = j_obj.account_id
75
81
  @account_id = @account_id.nil? ? nil : @account_id.to_s
@@ -0,0 +1,103 @@
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 Api
31
+
32
+ java_package 'org.killbill.billing.invoice.plugin.api'
33
+ class InvoicePluginWithEventsApi < JPlugin
34
+
35
+ include org.killbill.billing.invoice.plugin.api.InvoicePluginWithEventsApi
36
+
37
+ def initialize(real_class_name, services = {})
38
+ super(real_class_name, services)
39
+ end
40
+
41
+
42
+ java_signature 'Java::void onEvent(Java::org.killbill.billing.notification.plugin.api.ExtBusEvent)'
43
+ def on_event(killbillEvent)
44
+
45
+ # conversion for killbillEvent [type = org.killbill.billing.notification.plugin.api.ExtBusEvent]
46
+ killbillEvent = Killbill::Plugin::Model::ExtBusEvent.new.to_ruby(killbillEvent) unless killbillEvent.nil?
47
+ begin
48
+ @delegate_plugin.on_event(killbillEvent)
49
+ rescue Exception => e
50
+ message = "Failure in on_event: #{e}"
51
+ unless e.backtrace.nil?
52
+ message = "#{message}\n#{e.backtrace.join("\n")}"
53
+ end
54
+ logger.warn message
55
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("on_event failure", e.message)
56
+ ensure
57
+ @delegate_plugin.after_request
58
+ end
59
+ end
60
+
61
+ java_signature 'Java::java.util.List getAdditionalInvoiceItems(Java::org.killbill.billing.invoice.api.Invoice, Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.CallContext)'
62
+ def get_additional_invoice_items(invoice, properties, context)
63
+
64
+ # conversion for invoice [type = org.killbill.billing.invoice.api.Invoice]
65
+ invoice = Killbill::Plugin::Model::Invoice.new.to_ruby(invoice) unless invoice.nil?
66
+
67
+ # conversion for properties [type = java.lang.Iterable]
68
+ tmp = []
69
+ (properties.nil? ? [] : properties.iterator).each do |m|
70
+ # conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
71
+ m = Killbill::Plugin::Model::PluginProperty.new.to_ruby(m) unless m.nil?
72
+ tmp << m
73
+ end
74
+ properties = tmp
75
+
76
+ # conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
77
+ context = Killbill::Plugin::Model::CallContext.new.to_ruby(context) unless context.nil?
78
+ begin
79
+ res = @delegate_plugin.get_additional_invoice_items(invoice, properties, context)
80
+ # conversion for res [type = java.util.List]
81
+ tmp = java.util.ArrayList.new
82
+ (res || []).each do |m|
83
+ # conversion for m [type = org.killbill.billing.invoice.api.InvoiceItem]
84
+ m = m.to_java unless m.nil?
85
+ tmp.add(m)
86
+ end
87
+ res = tmp
88
+ return res
89
+ rescue Exception => e
90
+ message = "Failure in get_additional_invoice_items: #{e}"
91
+ unless e.backtrace.nil?
92
+ message = "#{message}\n#{e.backtrace.join("\n")}"
93
+ end
94
+ logger.warn message
95
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_additional_invoice_items failure", e.message)
96
+ ensure
97
+ @delegate_plugin.after_request
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end