package org.nightlabs.jfire.pbx.ui.config; import java.util.Collections; import java.util.HashSet; import java.util.Set; import javax.jdo.FetchPlan; import org.nightlabs.jfire.base.ui.config.AbstractConfigModuleController; import org.nightlabs.jfire.base.ui.config.AbstractConfigModulePreferencePage; import org.nightlabs.jfire.config.ConfigModule; import org.nightlabs.jfire.pbx.PhoneSystem; import org.nightlabs.jfire.pbx.config.PhoneSystemConfigModule; import org.nightlabs.util.CollectionUtil; /** * @author Chairat Kongarayawetchakun <!-- chairat [AT] nightlabs [DOT] de --> * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de */ public class PhoneSystemConfigModuleController extends AbstractConfigModuleController { public static final String[] FETCH_GROUPS_PHONE_SYSTEM = { FetchPlan.DEFAULT, PhoneSystem.FETCH_GROUP_NAME, }; private static Set<String> fetchGroups; static { fetchGroups = new HashSet<String>(AbstractConfigModuleController.getCommonConfigModuleFetchGroups()); fetchGroups.add(PhoneSystemConfigModule.FETCH_GROUP_PHONE_SYSTEM); fetchGroups.addAll(CollectionUtil.array2ArrayList(FETCH_GROUPS_PHONE_SYSTEM)); fetchGroups = Collections.unmodifiableSet(fetchGroups); } /** * @param preferencePage */ public PhoneSystemConfigModuleController(AbstractConfigModulePreferencePage preferencePage) { super(preferencePage); } /** * {@inheritDoc} * @see org.nightlabs.jfire.base.ui.config.IConfigModuleController#getConfigModuleClass() */ @Override public Class<? extends ConfigModule> getConfigModuleClass() { return PhoneSystemConfigModule.class; } @Override public Set<String> getConfigModuleFetchGroups() { return fetchGroups; } }