/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.service.PublishedService
 *  com.l7tech.message.Message
 *  com.l7tech.util.Functions$TernaryThrows
 */
package com.l7tech.server.service.resolution;

import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.message.Message;
import com.l7tech.server.service.resolution.ServiceResolutionException;
import com.l7tech.server.service.resolution.ServiceResolutionManager;
import com.l7tech.server.service.resolution.ServiceResolver;
import com.l7tech.util.Functions;
import java.util.Collection;
import java.util.Map;

class d
implements Functions.TernaryThrows<Boolean, ServiceResolver, Map<String, Object>, Collection<PublishedService>, ServiceResolutionException> {
    final ServiceResolutionManager.ServiceResolutionListener val$rl;
    final boolean[] val$notified;
    final Message val$req;

    /*
     * Ignored method signature, as it can't be verified against descriptor
     */
    d(ServiceResolutionManager serviceResolutionManager, ServiceResolutionManager.ServiceResolutionListener serviceResolutionListener, boolean[] blArray, Message message) {
        this.val$rl = serviceResolutionListener;
        this.val$notified = blArray;
        this.val$req = message;
    }

    public Boolean call(ServiceResolver serviceResolver, Map<String, Object> map, Collection<PublishedService> collection) throws ServiceResolutionException {
        block8: {
            try {
                try {
                    try {
                        try {
                            if (this.val$rl == null || !serviceResolver.usesMessageContent()) break block8;
                        }
                        catch (ServiceResolutionException serviceResolutionException) {
                            throw d.a(serviceResolutionException);
                        }
                        if (this.val$notified[0]) break block8;
                    }
                    catch (ServiceResolutionException serviceResolutionException) {
                        throw d.a(serviceResolutionException);
                    }
                    this.val$notified[0] = true;
                    if (this.val$rl.notifyMessageBodyAccess(this.val$req, collection)) break block8;
                }
                catch (ServiceResolutionException serviceResolutionException) {
                    throw d.a(serviceResolutionException);
                }
                return false;
            }
            catch (ServiceResolutionException serviceResolutionException) {
                throw d.a(serviceResolutionException);
            }
        }
        serviceResolver.populateResolutionParameters(this.val$req, map);
        return true;
    }

    private static ServiceResolutionException a(ServiceResolutionException serviceResolutionException) {
        return serviceResolutionException;
    }
}

