############################################################################################# # # # Copyright 2010-2013 Ning, Inc. # # Copyright 2014 Groupon, Inc. # # Copyright 2014 The Billing Project, LLC # # # # The Billing Project licenses this file to you under the Apache License, version 2.0 # # (the "License"); you may not use this file except in compliance with the # # License. You may obtain a copy of the License at: # # # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # # License for the specific language governing permissions and limitations # # under the License. # # # ############################################################################################# # # DO NOT EDIT!!! # File automatically generated by killbill-java-parser (git@github.com:killbill/killbill-java-parser.git) # require 'killbill/gen/plugin-api/notification_plugin_api' module Killbill module Plugin module Api java_package 'org.killbill.billing.invoice.plugin.api' class InvoicePluginApi < NotificationPluginApi include org.killbill.billing.invoice.plugin.api.InvoicePluginApi def initialize(real_class_name, services = {}) super(real_class_name, services) end 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)' def get_additional_invoice_items(invoice, properties, context) # conversion for invoice [type = org.killbill.billing.invoice.api.Invoice] invoice = Killbill::Plugin::Model::Invoice.new.to_ruby(invoice) unless invoice.nil? # conversion for properties [type = java.lang.Iterable] tmp = [] (properties.nil? ? [] : properties.iterator).each do |m| # conversion for m [type = org.killbill.billing.payment.api.PluginProperty] m = Killbill::Plugin::Model::PluginProperty.new.to_ruby(m) unless m.nil? tmp << m end properties = tmp # conversion for context [type = org.killbill.billing.util.callcontext.CallContext] context = Killbill::Plugin::Model::CallContext.new.to_ruby(context) unless context.nil? begin res = @delegate_plugin.get_additional_invoice_items(invoice, properties, context) # conversion for res [type = java.util.List] tmp = java.util.ArrayList.new (res || []).each do |m| # conversion for m [type = org.killbill.billing.invoice.api.InvoiceItem] m = m.to_java unless m.nil? tmp.add(m) end res = tmp return res rescue Exception => e message = "Failure in get_additional_invoice_items: #{e}" unless e.backtrace.nil? message = "#{message}\n#{e.backtrace.join("\n")}" end logger.warn message raise Java::org.killbill.billing.payment.plugin.api.PaymentPluginApiException.new("get_additional_invoice_items failure", e.message) ensure @delegate_plugin.after_request end end end end end end