package org.pdxfinder.services.constants;

import java.util.Arrays;
import java.util.EnumMap;
import java.util.List;

public enum DataProviderGroup {
    All,
    EurOPDX,
    UPDOG;


    public static List<DataProvider> getProvidersFrom(DataProviderGroup group) {

        EnumMap<DataProviderGroup, List<DataProvider>> map = new EnumMap<>(DataProviderGroup.class);
        map.put(DataProviderGroup.All, Arrays.asList(DataProvider.values()));
        map.put(DataProviderGroup.EurOPDX, Arrays.asList(
                DataProvider.Curie_BC,
                DataProvider.Curie_LC,
                DataProvider.Curie_OC,
                DataProvider.IRCC_CRC,
                DataProvider.IRCC_GC,
                DataProvider.TRACE,
                DataProvider.UOC_BC,
                DataProvider.UOM_BC,
                DataProvider.VHIO_BC,
                DataProvider.VHIO_CRC
        ));

        map.put(DataProviderGroup.UPDOG, Arrays.asList(
                DataProvider.IRCC_GC,
                DataProvider.IRCC_CRC,
                DataProvider.CRL,
                DataProvider.TRACE,
                DataProvider.Curie_BC,
                DataProvider.Curie_LC,
                DataProvider.Curie_OC,
                DataProvider.PMLB,
                DataProvider.UOC_BC,
                DataProvider.UOM_BC,
                DataProvider.VHIO_BC,
                DataProvider.VHIO_CRC,
                DataProvider.DFCI_CPDM
        ));

        return map.get(group);
    }

}
@@ -174,16 +174,35 @@
    UPDOG
+,%0A    CustomLoaders
 ;%0A%0A%0A    
@@ -1459,32 +1459,338 @@
 DM%0A        ));%0A%0A
+        map.put(DataProviderGroup.CustomLoaders, Arrays.asList(%0A                DataProvider.JAX,%0A                DataProvider.PDXNet_MDAnderson,%0A                DataProvider.PDXNet_HCI_BCM,%0A                DataProvider.PDXNet_Wistar_MDAnderson_Penn,%0A                DataProvider.PDXNet_WUSTL%0A        ));%0A%0A
         return m

Add group for custom loaders