Package org.lightadmin.core.test.util

Source Code of org.lightadmin.core.test.util.ConfigurationUnitsUtils

package org.lightadmin.core.test.util;

import org.easymock.EasyMock;
import org.lightadmin.core.config.domain.DomainTypeAdministrationConfiguration;
import org.lightadmin.core.config.domain.GlobalAdministrationConfiguration;
import org.lightadmin.core.config.domain.unit.ConfigurationUnit;
import org.lightadmin.core.config.domain.unit.ConfigurationUnits;
import org.lightadmin.core.config.domain.unit.DomainConfigurationUnitType;
import org.lightadmin.core.test.model.Address;
import org.lightadmin.core.test.model.Customer;

import java.util.Collection;
import java.util.Set;

import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Sets.newLinkedHashSet;

public abstract class ConfigurationUnitsUtils {

    public static ConfigurationUnits configurationUnits(final Class configurationClass, ConfigurationUnit... configurationUnits) {
        return new ConfigurationUnits(configurationClass, configurationUnits);
    }

    public static ConfigurationUnit[] configurationUnitsFor(DomainConfigurationUnitType... unitTypes) {
        final Set<ConfigurationUnit> configurationUnits = newLinkedHashSet();
        for (DomainConfigurationUnitType unitType : unitTypes) {
            configurationUnits.add(configurationUnitFor(unitType));
        }
        return configurationUnits.toArray(new ConfigurationUnit[configurationUnits.size()]);
    }

    public static ConfigurationUnit configurationUnitFor(DomainConfigurationUnitType unitType, Class<? extends ConfigurationUnit> configurationUnitInterface) {
        ConfigurationUnit configurationUnit = EasyMock.createMock(configurationUnitInterface);
        EasyMock.expect(configurationUnit.getDomainConfigurationUnitType()).andReturn(unitType).anyTimes();
        EasyMock.replay(configurationUnit);
        return configurationUnit;
    }

    public static ConfigurationUnit configurationUnitFor(DomainConfigurationUnitType unitType) {
        return configurationUnitFor(unitType, ConfigurationUnit.class);
    }

    private GlobalAdministrationConfiguration globalAdministrationConfiguration() {
        final Collection<DomainTypeAdministrationConfiguration> configurations = newArrayList(domainTypeAdministrationConfiguration(Address.class, "AddressConfiguration"), domainTypeAdministrationConfiguration(Customer.class, "CustomerConfiguration"));

        GlobalAdministrationConfiguration globalAdministrationConfiguration = EasyMock.createMock(GlobalAdministrationConfiguration.class);
        EasyMock.expect(globalAdministrationConfiguration.getDomainTypeConfigurationsValues()).andReturn(configurations).once();
        EasyMock.replay(globalAdministrationConfiguration);

        return globalAdministrationConfiguration;
    }

    private DomainTypeAdministrationConfiguration domainTypeAdministrationConfiguration(Class domainType, String configurationName) {
        DomainTypeAdministrationConfiguration domainTypeAdministrationConfiguration = EasyMock.createMock(DomainTypeAdministrationConfiguration.class);
        EasyMock.expect(domainTypeAdministrationConfiguration.getDomainType()).andReturn(domainType).anyTimes();
        EasyMock.expect(domainTypeAdministrationConfiguration.getConfigurationName()).andReturn(configurationName).anyTimes();
        EasyMock.replay(domainTypeAdministrationConfiguration);
        return domainTypeAdministrationConfiguration;
    }
}
TOP

Related Classes of org.lightadmin.core.test.util.ConfigurationUnitsUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.