/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.identity.Identity
 *  com.l7tech.identity.fed.VirtualGroup
 *  com.l7tech.identity.mapping.FederatedAttributeMapping
 *  com.l7tech.objectmodel.AttributeHeader
 */
package com.l7tech.server.identity.mapping;

import com.l7tech.identity.Identity;
import com.l7tech.identity.fed.VirtualGroup;
import com.l7tech.identity.mapping.FederatedAttributeMapping;
import com.l7tech.objectmodel.AttributeHeader;
import com.l7tech.server.identity.mapping.b;

public class FederatedAttributeExtractor
extends b<FederatedAttributeMapping> {
    public FederatedAttributeExtractor(FederatedAttributeMapping federatedAttributeMapping) {
        super(federatedAttributeMapping);
    }

    @Override
    public Object[] extractValues(Identity identity) {
        Object[] objectArray = super.extractValues(identity);
        if (objectArray != null && objectArray.length > 0) {
            return objectArray;
        }
        if (identity instanceof VirtualGroup) {
            VirtualGroup virtualGroup = (VirtualGroup)identity;
            AttributeHeader attributeHeader = ((FederatedAttributeMapping)this.mapping).getAttributeConfig().getHeader();
            if (attributeHeader == FederatedAttributeMapping.VIRTUAL_SAML_PATTERN) {
                return this.a(virtualGroup.getSamlEmailPattern());
            }
            if (attributeHeader == FederatedAttributeMapping.VIRTUAL_X509_PATTERN) {
                return this.a(virtualGroup.getX509SubjectDnPattern());
            }
        }
        return this.EMPTY;
    }
}

