001package org.kuali.common.util.main;
002
003import java.util.Arrays;
004import java.util.Collections;
005import java.util.List;
006import java.util.Map;
007
008import org.kuali.common.util.Assert;
009import org.kuali.common.util.spring.service.PropertySourceConfig;
010import org.kuali.common.util.spring.service.PropertySourceService;
011import org.springframework.core.env.PropertySource;
012
013public class DefaultMainService implements MainService {
014
015        private final PropertySourceService service;
016
017        public DefaultMainService(PropertySourceService service) {
018                Assert.noNulls(service);
019                this.service = service;
020        }
021
022        @Override
023        public PropertySource<?> getPropertySource(MainContext context, Class<? extends PropertySourceConfig> config) {
024                Assert.noNulls(context, config);
025                Map<String, Object> beans = Collections.singletonMap(MainUtils.MAIN_CONTEXT_BEAN_NAME, (Object) context);
026                List<String> activeProfiles = Arrays.asList(MainUtils.MAIN_PROFILE_NAME);
027                return service.getPropertySource(beans, null, activeProfiles, config);
028        }
029
030        public PropertySourceService getService() {
031                return service;
032        }
033
034}