com.vangent.hieos.empi.config.IdentitySourceConfig.java Source code

Java tutorial

Introduction

Here is the source code for com.vangent.hieos.empi.config.IdentitySourceConfig.java

Source

/*
 * This code is subject to the HIEOS License, Version 1.0
 *
 * Copyright(c) 2011 Vangent, Inc.  All rights reserved.
 *
 * 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.
 */
package com.vangent.hieos.empi.config;

import com.vangent.hieos.empi.exception.EMPIException;
import com.vangent.hieos.subjectmodel.SubjectIdentifierDomain;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.configuration.HierarchicalConfiguration;

/**
 *
 * @author Bernie Thuman
 */
public class IdentitySourceConfig implements ConfigItem {

    private static String NAME = "name";
    private static String DEVICE_ID = "device-id";
    private static String DEVICE_NAME = "device-name";
    private static String DEFAULT_UNIVERSAL_ID = "default-universal-id";
    private static String IDENTIFIER_DOMAINS = "identifier-domains.identifier-domain";
    private static String UNIVERSAL_ID = "universal-id";
    private static String UNIVERSAL_ID_TYPE = "universal-id-type";
    private static String NAMESPACE_ID = "namespace-id";
    private String name;
    private String deviceId;
    private String deviceName;
    private String defaultUniversalId;
    private List<SubjectIdentifierDomain> identifierDomains = new ArrayList<SubjectIdentifierDomain>();

    /**
     * 
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     *
     * @return
     */
    public String getDeviceId() {
        return deviceId;
    }

    /**
     *
     * @return
     */
    public String getDeviceName() {
        return deviceName;
    }

    /**
     *
     * @return
     */
    public String getDefaultUniversalId() {
        return defaultUniversalId;
    }

    /**
     *
     * @return
     */
    public boolean isMultiDomain() {
        return identifierDomains.size() > 1;
    }

    /**
     *
     * @return
     */
    public List<SubjectIdentifierDomain> getIdentifierDomains() {
        return identifierDomains;
    }

    /**
     * 
     * @param hc
     * @param empiConfig
     * @throws EMPIException
     */
    @Override
    public void load(HierarchicalConfiguration hc, EMPIConfig empiConfig) throws EMPIException {
        this.name = hc.getString(NAME);
        this.deviceId = hc.getString(DEVICE_ID);
        this.deviceName = hc.getString(DEVICE_NAME);
        this.defaultUniversalId = hc.getString(DEFAULT_UNIVERSAL_ID);
        List identifierDomainsConfigurations = hc.configurationsAt(IDENTIFIER_DOMAINS);
        for (Iterator it = identifierDomainsConfigurations.iterator(); it.hasNext();) {
            HierarchicalConfiguration hcIdentifierDomain = (HierarchicalConfiguration) it.next();
            String universalId = hcIdentifierDomain.getString(UNIVERSAL_ID);
            String universalIdType = hcIdentifierDomain.getString(UNIVERSAL_ID_TYPE);
            String namespaceId = hcIdentifierDomain.getString(NAMESPACE_ID);
            SubjectIdentifierDomain identifierDomain = new SubjectIdentifierDomain();
            identifierDomain.setUniversalId(universalId);
            identifierDomain.setUniversalIdType(universalIdType);
            identifierDomain.setNamespaceId(namespaceId);
            this.identifierDomains.add(identifierDomain);
        }
    }
}