killbill 8.3.6 → 9.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +51 -0
  3. data/Gemfile.lock +4 -4
  4. data/Jarfile +11 -11
  5. data/Jarfile.lock +63 -57
  6. data/NEWS +2 -8
  7. data/README.md +1 -0
  8. data/gen_config/api.conf +2 -0
  9. data/lib/killbill/gen/api/account.rb +20 -20
  10. data/lib/killbill/gen/api/account_data.rb +15 -1
  11. data/lib/killbill/gen/api/block_price_override.rb +81 -0
  12. data/lib/killbill/gen/api/call_context.rb +8 -1
  13. data/lib/killbill/gen/api/catalog_entity.rb +7 -1
  14. data/lib/killbill/gen/api/catalog_user_api.rb +8 -0
  15. data/lib/killbill/gen/api/custom_field_user_api.rb +17 -0
  16. data/lib/killbill/gen/api/email_notification.rb +75 -0
  17. data/lib/killbill/gen/api/entitlement_api.rb +12 -6
  18. data/lib/killbill/gen/api/immutable_account_data.rb +1 -20
  19. data/lib/killbill/gen/api/invoice.rb +15 -1
  20. data/lib/killbill/gen/api/invoice_formatter.rb +15 -1
  21. data/lib/killbill/gen/api/invoice_item.rb +19 -1
  22. data/lib/killbill/gen/api/invoice_item_formatter.rb +19 -1
  23. data/lib/killbill/gen/api/migration_plan.rb +14 -1
  24. data/lib/killbill/gen/api/mutable_account_data.rb +15 -1
  25. data/lib/killbill/gen/api/mutable_static_catalog.rb +1 -8
  26. data/lib/killbill/gen/api/osgi_killbill.rb +8 -1
  27. data/lib/killbill/gen/api/overdue_api.rb +88 -0
  28. data/lib/killbill/gen/api/overdue_api_exception.rb +68 -0
  29. data/lib/killbill/gen/api/overdue_condition.rb +108 -0
  30. data/lib/killbill/gen/api/overdue_config.rb +58 -0
  31. data/lib/killbill/gen/api/overdue_state.rb +120 -0
  32. data/lib/killbill/gen/api/overdue_states_account.rb +72 -0
  33. data/lib/killbill/gen/api/payment_api.rb +192 -51
  34. data/lib/killbill/gen/api/plan.rb +14 -1
  35. data/lib/killbill/gen/api/plan_phase.rb +7 -1
  36. data/lib/killbill/gen/api/plan_phase_price_override.rb +20 -1
  37. data/lib/killbill/gen/api/price_list.rb +7 -1
  38. data/lib/killbill/gen/api/product.rb +7 -1
  39. data/lib/killbill/gen/api/require_gen.rb +131 -121
  40. data/lib/killbill/gen/api/security_api.rb +20 -0
  41. data/lib/killbill/gen/api/static_catalog.rb +1 -8
  42. data/lib/killbill/gen/api/tag_user_api.rb +12 -3
  43. data/lib/killbill/gen/api/tenant_context.rb +8 -1
  44. data/lib/killbill/gen/api/tier_price_override.rb +70 -0
  45. data/lib/killbill/gen/api/tiered_block_price_override.rb +87 -0
  46. data/lib/killbill/gen/api/unit.rb +7 -1
  47. data/lib/killbill/gen/api/usage.rb +14 -1
  48. data/lib/killbill/gen/api/usage_price_override.rb +83 -0
  49. data/lib/killbill/gen/plugin-api/catalog_plugin_api.rb +34 -0
  50. data/lib/killbill/gen/plugin-api/entitlement_context.rb +8 -8
  51. data/lib/killbill/gen/plugin-api/ext_bus_event.rb +8 -1
  52. data/lib/killbill/gen/plugin-api/invoice_payment_metadata.rb +115 -0
  53. data/lib/killbill/gen/plugin-api/invoice_plugin_api_retry_exception.rb +64 -0
  54. data/lib/killbill/gen/plugin-api/notification_plugin_api_retry_exception.rb +64 -0
  55. data/lib/killbill/gen/plugin-api/payment_control_context.rb +14 -8
  56. data/lib/killbill/gen/plugin-api/prior_payment_control_result.rb +7 -1
  57. data/lib/killbill/gen/plugin-api/require_gen.rb +15 -12
  58. data/lib/killbill/gen/plugin-api/subscription_metadata.rb +8 -2
  59. data/lib/killbill/gen/plugin-api/versioned_plugin_catalog.rb +1 -8
  60. data/lib/killbill/helpers/active_merchant/active_record/models/response.rb +6 -21
  61. data/lib/killbill/helpers/active_merchant/killbill_spec_helper.rb +1 -1
  62. data/lib/killbill/helpers/active_merchant/payment_plugin.rb +12 -12
  63. data/lib/killbill/version.rb +1 -1
  64. data/spec/killbill/helpers/response_spec.rb +0 -7
  65. data/spec/killbill/helpers/test_response.rb +0 -4
  66. data/spec/killbill/killbillapi_spec.rb +1 -0
  67. metadata +17 -4
  68. data/.circleci/config.yml +0 -138
  69. data/lib/killbill/gen/api/refund.rb +0 -151
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.catalog.api.StaticCatalog
36
36
 
37
- attr_accessor :catalog_name, :recurring_billing_mode, :effective_date, :current_supported_currencies, :current_products, :current_units, :current_plans, :available_base_plan_listings
37
+ attr_accessor :catalog_name, :effective_date, :current_supported_currencies, :current_products, :current_units, :current_plans, :available_base_plan_listings
38
38
 
39
39
  def initialize()
40
40
  end
@@ -43,9 +43,6 @@ module Killbill
43
43
  # conversion for catalog_name [type = java.lang.String]
44
44
  @catalog_name = @catalog_name.to_s unless @catalog_name.nil?
45
45
 
46
- # conversion for recurring_billing_mode [type = org.killbill.billing.catalog.api.BillingMode]
47
- @recurring_billing_mode = Java::org.killbill.billing.catalog.api.BillingMode.value_of( @recurring_billing_mode.to_s ) unless @recurring_billing_mode.nil?
48
-
49
46
  # conversion for effective_date [type = java.util.Date]
50
47
  if !@effective_date.nil?
51
48
  @effective_date = (@effective_date.kind_of? Time) ? DateTime.parse(@effective_date.to_s) : @effective_date
@@ -104,10 +101,6 @@ module Killbill
104
101
  # conversion for catalog_name [type = java.lang.String]
105
102
  @catalog_name = j_obj.catalog_name
106
103
 
107
- # conversion for recurring_billing_mode [type = org.killbill.billing.catalog.api.BillingMode]
108
- @recurring_billing_mode = j_obj.recurring_billing_mode
109
- @recurring_billing_mode = @recurring_billing_mode.to_s.to_sym unless @recurring_billing_mode.nil?
110
-
111
104
  # conversion for effective_date [type = java.util.Date]
112
105
  @effective_date = j_obj.effective_date
113
106
  if !@effective_date.nil?
@@ -56,8 +56,8 @@ module Killbill
56
56
  return res
57
57
  end
58
58
 
59
- java_signature 'Java::org.killbill.billing.util.tag.TagDefinition createTagDefinition(Java::java.lang.String, Java::java.lang.String, Java::org.killbill.billing.util.callcontext.CallContext)'
60
- def create_tag_definition(definitionName, description, context)
59
+ java_signature 'Java::org.killbill.billing.util.tag.TagDefinition createTagDefinition(Java::java.lang.String, Java::java.lang.String, Java::java.util.Set, Java::org.killbill.billing.util.callcontext.CallContext)'
60
+ def create_tag_definition(definitionName, description, applicableObjectTypes, context)
61
61
 
62
62
  # conversion for definitionName [type = java.lang.String]
63
63
  definitionName = definitionName.to_s unless definitionName.nil?
@@ -65,10 +65,19 @@ module Killbill
65
65
  # conversion for description [type = java.lang.String]
66
66
  description = description.to_s unless description.nil?
67
67
 
68
+ # conversion for applicableObjectTypes [type = java.util.Set]
69
+ tmp = java.util.TreeSet.new
70
+ (applicableObjectTypes || []).each do |m|
71
+ # conversion for m [type = org.killbill.billing.ObjectType]
72
+ m = Java::org.killbill.billing.ObjectType.value_of( m.to_s ) unless m.nil?
73
+ tmp.add(m)
74
+ end
75
+ applicableObjectTypes = tmp
76
+
68
77
  # conversion for context [type = org.killbill.billing.util.callcontext.CallContext]
69
78
  context = context.to_java unless context.nil?
70
79
  begin
71
- res = @real_java_api.create_tag_definition(definitionName, description, context)
80
+ res = @real_java_api.create_tag_definition(definitionName, description, applicableObjectTypes, context)
72
81
  # conversion for res [type = org.killbill.billing.util.tag.TagDefinition]
73
82
  res = Killbill::Plugin::Model::TagDefinition.new.to_ruby(res) unless res.nil?
74
83
  return res
@@ -34,18 +34,25 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.util.callcontext.TenantContext
36
36
 
37
- attr_accessor :tenant_id
37
+ attr_accessor :account_id, :tenant_id
38
38
 
39
39
  def initialize()
40
40
  end
41
41
 
42
42
  def to_java()
43
+ # conversion for account_id [type = java.util.UUID]
44
+ @account_id = java.util.UUID.fromString(@account_id.to_s) unless @account_id.nil?
45
+
43
46
  # conversion for tenant_id [type = java.util.UUID]
44
47
  @tenant_id = java.util.UUID.fromString(@tenant_id.to_s) unless @tenant_id.nil?
45
48
  self
46
49
  end
47
50
 
48
51
  def to_ruby(j_obj)
52
+ # conversion for account_id [type = java.util.UUID]
53
+ @account_id = j_obj.account_id
54
+ @account_id = @account_id.nil? ? nil : @account_id.to_s
55
+
49
56
  # conversion for tenant_id [type = java.util.UUID]
50
57
  @tenant_id = j_obj.tenant_id
51
58
  @tenant_id = @tenant_id.nil? ? nil : @tenant_id.to_s
@@ -0,0 +1,70 @@
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.catalog.api'
33
+ class TierPriceOverride
34
+
35
+ include org.killbill.billing.catalog.api.TierPriceOverride
36
+
37
+ attr_accessor :tiered_block_price_overrides
38
+
39
+ def initialize()
40
+ end
41
+
42
+ def to_java()
43
+ # conversion for tiered_block_price_overrides [type = java.util.List]
44
+ tmp = java.util.ArrayList.new
45
+ (@tiered_block_price_overrides || []).each do |m|
46
+ # conversion for m [type = org.killbill.billing.catalog.api.TieredBlockPriceOverride]
47
+ m = m.to_java unless m.nil?
48
+ tmp.add(m)
49
+ end
50
+ @tiered_block_price_overrides = tmp
51
+ self
52
+ end
53
+
54
+ def to_ruby(j_obj)
55
+ # conversion for tiered_block_price_overrides [type = java.util.List]
56
+ @tiered_block_price_overrides = j_obj.tiered_block_price_overrides
57
+ tmp = []
58
+ (@tiered_block_price_overrides || []).each do |m|
59
+ # conversion for m [type = org.killbill.billing.catalog.api.TieredBlockPriceOverride]
60
+ m = Killbill::Plugin::Model::TieredBlockPriceOverride.new.to_ruby(m) unless m.nil?
61
+ tmp << m
62
+ end
63
+ @tiered_block_price_overrides = tmp
64
+ self
65
+ end
66
+
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,87 @@
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.catalog.api'
33
+ class TieredBlockPriceOverride
34
+
35
+ include org.killbill.billing.catalog.api.TieredBlockPriceOverride
36
+
37
+ attr_accessor :unit_name, :size, :price, :currency, :max
38
+
39
+ def initialize()
40
+ end
41
+
42
+ def to_java()
43
+ # conversion for unit_name [type = java.lang.String]
44
+ @unit_name = @unit_name.to_s unless @unit_name.nil?
45
+
46
+ # conversion for size [type = java.lang.Double]
47
+ @size = @size
48
+
49
+ # conversion for price [type = java.math.BigDecimal]
50
+ if @price.nil?
51
+ @price = java.math.BigDecimal::ZERO
52
+ else
53
+ @price = java.math.BigDecimal.new(@price.to_s)
54
+ end
55
+
56
+ # conversion for currency [type = org.killbill.billing.catalog.api.Currency]
57
+ @currency = Java::org.killbill.billing.catalog.api.Currency.value_of( @currency.to_s ) unless @currency.nil?
58
+
59
+ # conversion for max [type = java.lang.Double]
60
+ @max = @max
61
+ self
62
+ end
63
+
64
+ def to_ruby(j_obj)
65
+ # conversion for unit_name [type = java.lang.String]
66
+ @unit_name = j_obj.unit_name
67
+
68
+ # conversion for size [type = java.lang.Double]
69
+ @size = j_obj.size
70
+
71
+ # conversion for price [type = java.math.BigDecimal]
72
+ @price = j_obj.price
73
+ @price = @price.nil? ? 0 : BigDecimal.new(@price.to_s)
74
+
75
+ # conversion for currency [type = org.killbill.billing.catalog.api.Currency]
76
+ @currency = j_obj.currency
77
+ @currency = @currency.to_s.to_sym unless @currency.nil?
78
+
79
+ # conversion for max [type = java.lang.Double]
80
+ @max = j_obj.max
81
+ self
82
+ end
83
+
84
+ end
85
+ end
86
+ end
87
+ end
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.catalog.api.Unit
36
36
 
37
- attr_accessor :name
37
+ attr_accessor :name, :pretty_name
38
38
 
39
39
  def initialize()
40
40
  end
@@ -42,12 +42,18 @@ module Killbill
42
42
  def to_java()
43
43
  # conversion for name [type = java.lang.String]
44
44
  @name = @name.to_s unless @name.nil?
45
+
46
+ # conversion for pretty_name [type = java.lang.String]
47
+ @pretty_name = @pretty_name.to_s unless @pretty_name.nil?
45
48
  self
46
49
  end
47
50
 
48
51
  def to_ruby(j_obj)
49
52
  # conversion for name [type = java.lang.String]
50
53
  @name = j_obj.name
54
+
55
+ # conversion for pretty_name [type = java.lang.String]
56
+ @pretty_name = j_obj.pretty_name
51
57
  self
52
58
  end
53
59
 
@@ -34,7 +34,7 @@ module Killbill
34
34
 
35
35
  include org.killbill.billing.catalog.api.Usage
36
36
 
37
- attr_accessor :name, :billing_mode, :usage_type, :billing_period, :limits, :tiers, :blocks, :fixed_price, :recurring_price
37
+ attr_accessor :name, :pretty_name, :billing_mode, :usage_type, :tier_block_policy, :billing_period, :limits, :tiers, :blocks, :fixed_price, :recurring_price
38
38
 
39
39
  def initialize()
40
40
  end
@@ -43,12 +43,18 @@ module Killbill
43
43
  # conversion for name [type = java.lang.String]
44
44
  @name = @name.to_s unless @name.nil?
45
45
 
46
+ # conversion for pretty_name [type = java.lang.String]
47
+ @pretty_name = @pretty_name.to_s unless @pretty_name.nil?
48
+
46
49
  # conversion for billing_mode [type = org.killbill.billing.catalog.api.BillingMode]
47
50
  @billing_mode = Java::org.killbill.billing.catalog.api.BillingMode.value_of( @billing_mode.to_s ) unless @billing_mode.nil?
48
51
 
49
52
  # conversion for usage_type [type = org.killbill.billing.catalog.api.UsageType]
50
53
  @usage_type = Java::org.killbill.billing.catalog.api.UsageType.value_of( @usage_type.to_s ) unless @usage_type.nil?
51
54
 
55
+ # conversion for tier_block_policy [type = org.killbill.billing.catalog.api.TierBlockPolicy]
56
+ @tier_block_policy = Java::org.killbill.billing.catalog.api.TierBlockPolicy.value_of( @tier_block_policy.to_s ) unless @tier_block_policy.nil?
57
+
52
58
  # conversion for billing_period [type = org.killbill.billing.catalog.api.BillingPeriod]
53
59
  @billing_period = Java::org.killbill.billing.catalog.api.BillingPeriod.value_of( @billing_period.to_s ) unless @billing_period.nil?
54
60
 
@@ -91,6 +97,9 @@ module Killbill
91
97
  # conversion for name [type = java.lang.String]
92
98
  @name = j_obj.name
93
99
 
100
+ # conversion for pretty_name [type = java.lang.String]
101
+ @pretty_name = j_obj.pretty_name
102
+
94
103
  # conversion for billing_mode [type = org.killbill.billing.catalog.api.BillingMode]
95
104
  @billing_mode = j_obj.billing_mode
96
105
  @billing_mode = @billing_mode.to_s.to_sym unless @billing_mode.nil?
@@ -99,6 +108,10 @@ module Killbill
99
108
  @usage_type = j_obj.usage_type
100
109
  @usage_type = @usage_type.to_s.to_sym unless @usage_type.nil?
101
110
 
111
+ # conversion for tier_block_policy [type = org.killbill.billing.catalog.api.TierBlockPolicy]
112
+ @tier_block_policy = j_obj.tier_block_policy
113
+ @tier_block_policy = @tier_block_policy.to_s.to_sym unless @tier_block_policy.nil?
114
+
102
115
  # conversion for billing_period [type = org.killbill.billing.catalog.api.BillingPeriod]
103
116
  @billing_period = j_obj.billing_period
104
117
  @billing_period = @billing_period.to_s.to_sym unless @billing_period.nil?
@@ -0,0 +1,83 @@
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.catalog.api'
33
+ class UsagePriceOverride
34
+
35
+ include org.killbill.billing.catalog.api.UsagePriceOverride
36
+
37
+ attr_accessor :name, :usage_type, :tier_price_overrides
38
+
39
+ def initialize()
40
+ end
41
+
42
+ def to_java()
43
+ # conversion for name [type = java.lang.String]
44
+ @name = @name.to_s unless @name.nil?
45
+
46
+ # conversion for usage_type [type = org.killbill.billing.catalog.api.UsageType]
47
+ @usage_type = Java::org.killbill.billing.catalog.api.UsageType.value_of( @usage_type.to_s ) unless @usage_type.nil?
48
+
49
+ # conversion for tier_price_overrides [type = java.util.List]
50
+ tmp = java.util.ArrayList.new
51
+ (@tier_price_overrides || []).each do |m|
52
+ # conversion for m [type = org.killbill.billing.catalog.api.TierPriceOverride]
53
+ m = m.to_java unless m.nil?
54
+ tmp.add(m)
55
+ end
56
+ @tier_price_overrides = tmp
57
+ self
58
+ end
59
+
60
+ def to_ruby(j_obj)
61
+ # conversion for name [type = java.lang.String]
62
+ @name = j_obj.name
63
+
64
+ # conversion for usage_type [type = org.killbill.billing.catalog.api.UsageType]
65
+ @usage_type = j_obj.usage_type
66
+ @usage_type = @usage_type.to_s.to_sym unless @usage_type.nil?
67
+
68
+ # conversion for tier_price_overrides [type = java.util.List]
69
+ @tier_price_overrides = j_obj.tier_price_overrides
70
+ tmp = []
71
+ (@tier_price_overrides || []).each do |m|
72
+ # conversion for m [type = org.killbill.billing.catalog.api.TierPriceOverride]
73
+ m = Killbill::Plugin::Model::TierPriceOverride.new.to_ruby(m) unless m.nil?
74
+ tmp << m
75
+ end
76
+ @tier_price_overrides = tmp
77
+ self
78
+ end
79
+
80
+ end
81
+ end
82
+ end
83
+ end
@@ -40,6 +40,40 @@ module Killbill
40
40
  end
41
41
 
42
42
 
43
+ java_signature 'Java::org.joda.time.DateTime getLatestCatalogVersion(Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.TenantContext)'
44
+ def get_latest_catalog_version(properties, context)
45
+
46
+ # conversion for properties [type = java.lang.Iterable]
47
+ tmp = []
48
+ (properties.nil? ? [] : properties.iterator).each do |m|
49
+ # conversion for m [type = org.killbill.billing.payment.api.PluginProperty]
50
+ m = Killbill::Plugin::Model::PluginProperty.new.to_ruby(m) unless m.nil?
51
+ tmp << m
52
+ end
53
+ properties = tmp
54
+
55
+ # conversion for context [type = org.killbill.billing.util.callcontext.TenantContext]
56
+ context = Killbill::Plugin::Model::TenantContext.new.to_ruby(context) unless context.nil?
57
+ begin
58
+ res = @delegate_plugin.get_latest_catalog_version(properties, context)
59
+ # conversion for res [type = org.joda.time.DateTime]
60
+ if !res.nil?
61
+ res = (res.kind_of? Time) ? DateTime.parse(res.to_s) : res
62
+ res = Java::org.joda.time.DateTime.new(res.to_s, Java::org.joda.time.DateTimeZone::UTC)
63
+ end
64
+ return res
65
+ rescue Exception => e
66
+ message = "Failure in get_latest_catalog_version: #{e}"
67
+ unless e.backtrace.nil?
68
+ message = "#{message}\n#{e.backtrace.join("\n")}"
69
+ end
70
+ logger.warn message
71
+ raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_latest_catalog_version failure", e.message)
72
+ ensure
73
+ @delegate_plugin.after_request
74
+ end
75
+ end
76
+
43
77
  java_signature 'Java::org.killbill.billing.catalog.plugin.api.VersionedPluginCatalog getVersionedPluginCatalog(Java::java.lang.Iterable, Java::org.killbill.billing.util.callcontext.TenantContext)'
44
78
  def get_versioned_plugin_catalog(properties, context)
45
79