public static Map<FeaturePackConfig, ConfigId> getExcludedConfigurations(PmSession session, FeaturePackConfig config, String configuration) throws PathParserException, PathConsumerException, ProvisioningException, Exception {
Map<FeaturePackConfig, ConfigId> configs = new HashMap<>();
if (config == null) {
for (FeaturePackConfig c : session.getState().getConfig().getFeaturePackDeps()) {
ConfigInfo info = getConfig(session, c.getLocation().getFPID(), configuration);
if (info != null && c.getExcludedConfigs().contains(new ConfigId(info.getModel(), info.getName()))) {
configs.put(c, info.getId());
}
}
} else {
ConfigInfo info = getConfig(session, config.getLocation().getFPID(), configuration);
if (info != null && config.getExcludedConfigs().contains(new ConfigId(info.getModel(), info.getName()))) {
configs.put(config, info.getId());
}
}
if (configs.isEmpty()) {
throw new ProvisioningException("Not a valid config " + configuration);
}
return configs;
}