/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.util.Functions
 *  com.l7tech.util.Functions$Unary
 *  org.springframework.transaction.TransactionStatus
 *  org.springframework.transaction.support.TransactionCallback
 */
package com.l7tech.server.bundling;

import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.server.bundling.EntityBundleImporterImpl;
import com.l7tech.server.bundling.EntityMappingResult;
import com.l7tech.server.bundling.m;
import com.l7tech.util.Functions;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;

class l
implements TransactionCallback<Void> {
    final Map val$cachedPrivateKeyOperations;
    final List val$mappingsRtn;
    final boolean val$ignoreKeyImportErrors;
    private static final String a = l.a(121, l.a("l5\b\t3$k@.]\u0003>ja\u000f7\u001c\u0015'mkHz\u000f\u0000$qi[z\u001b\n%$"));

    /*
     * Ignored method signature, as it can't be verified against descriptor
     */
    l(EntityBundleImporterImpl entityBundleImporterImpl, Map map, List list, boolean bl2) {
        this.val$cachedPrivateKeyOperations = map;
        this.val$mappingsRtn = list;
        this.val$ignoreKeyImportErrors = bl2;
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public Void doInTransaction(TransactionStatus transactionStatus) {
        for (EntityHeader entityHeader : this.val$cachedPrivateKeyOperations.keySet()) {
            EntityMappingResult entityMappingResult = (EntityMappingResult)Functions.grepFirst((Iterable)this.val$mappingsRtn, (Functions.Unary)new m(this, entityHeader));
            try {
                if (entityMappingResult == null) {
                    throw new IllegalStateException(a + entityHeader.toStringVerbose());
                }
            }
            catch (Throwable throwable) {
                throw l.a(throwable);
            }
            try {
                try {
                    ((Callable)this.val$cachedPrivateKeyOperations.get(entityHeader)).call();
                }
                finally {
                    transactionStatus.flush();
                }
            }
            catch (Throwable throwable) {
                try {
                    if (this.val$ignoreKeyImportErrors) {
                        entityMappingResult.makeIgnorableExceptional(throwable);
                        continue;
                    }
                }
                catch (Throwable throwable2) {
                    throw l.a(throwable2);
                }
                entityMappingResult.makeExceptional(throwable);
                transactionStatus.setRollbackOnly();
            }
        }
        return null;
    }

    private static Throwable a(Throwable throwable) {
        return throwable;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x7C);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 86;
                    case 1 -> 35;
                    case 2 -> 4;
                    case 3 -> 28;
                    case 4 -> 46;
                    case 5 -> 125;
                    default -> 124;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

