/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.EntityType
 *  com.l7tech.objectmodel.ExternalEntityHeader
 *  com.l7tech.objectmodel.migration.MigrationDependency
 *  com.l7tech.objectmodel.migration.MigrationMappingSelection
 *  com.l7tech.objectmodel.migration.PropertyResolver$Type
 *  com.l7tech.objectmodel.migration.PropertyResolverException
 */
package com.l7tech.server.migration;

import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.ExternalEntityHeader;
import com.l7tech.objectmodel.migration.MigrationDependency;
import com.l7tech.objectmodel.migration.MigrationMappingSelection;
import com.l7tech.objectmodel.migration.PropertyResolver;
import com.l7tech.objectmodel.migration.PropertyResolverException;
import com.l7tech.server.migration.AssertionPropertyResolver;
import com.l7tech.server.migration.PropertyResolverFactory;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class UserGroupResolver
extends AssertionPropertyResolver {
    public UserGroupResolver(PropertyResolverFactory propertyResolverFactory, PropertyResolver.Type type) {
        super(propertyResolverFactory, type);
    }

    @Override
    public Map<ExternalEntityHeader, Set<MigrationDependency>> getDependencies(ExternalEntityHeader externalEntityHeader, Object object, Method method, String string) throws PropertyResolverException {
        HashMap<ExternalEntityHeader, Set<MigrationDependency>> hashMap = new HashMap<ExternalEntityHeader, Set<MigrationDependency>>();
        Map<ExternalEntityHeader, Set<MigrationDependency>> map = super.getDependencies(externalEntityHeader, object, method, string);
        boolean bl2 = false;
        for (ExternalEntityHeader externalEntityHeader2 : map.keySet()) {
            try {
                if (externalEntityHeader2.getType() != EntityType.USER && externalEntityHeader2.getType() != EntityType.GROUP) continue;
            }
            catch (PropertyResolverException propertyResolverException) {
                throw UserGroupResolver.b(propertyResolverException);
            }
            bl2 = true;
            break;
        }
        for (ExternalEntityHeader externalEntityHeader2 : map.keySet()) {
            block12: {
                block11: {
                    try {
                        if (externalEntityHeader2.getType() != EntityType.USER && externalEntityHeader2.getType() != EntityType.GROUP) break block11;
                    }
                    catch (PropertyResolverException propertyResolverException) {
                        throw UserGroupResolver.b(propertyResolverException);
                    }
                    for (MigrationDependency migrationDependency : map.get(externalEntityHeader2)) {
                        migrationDependency.setMappingType(MigrationMappingSelection.REQUIRED);
                    }
                    hashMap.put(externalEntityHeader2, map.get(externalEntityHeader2));
                    continue;
                }
                try {
                    try {
                        if (externalEntityHeader2.getType() != EntityType.ID_PROVIDER_CONFIG) break block12;
                        if (bl2) continue;
                    }
                    catch (PropertyResolverException propertyResolverException) {
                        throw UserGroupResolver.b(propertyResolverException);
                    }
                    hashMap.put(externalEntityHeader2, map.get(externalEntityHeader2));
                    continue;
                }
                catch (PropertyResolverException propertyResolverException) {
                    throw UserGroupResolver.b(propertyResolverException);
                }
            }
            hashMap.put(externalEntityHeader2, map.get(externalEntityHeader2));
        }
        return hashMap;
    }

    private static PropertyResolverException b(PropertyResolverException propertyResolverException) {
        return propertyResolverException;
    }
}

