private static Map<String, Map<String, Set<String>>> getAllLayers(ProvisioningLayout<FeaturePackLayout> pLayout,
boolean includeDependencies)
throws ProvisioningException, IOException {
Map<String, Map<String, Set<String>>> layersMap = new HashMap<>();
for (FeaturePackLayout fp : pLayout.getOrderedFeaturePacks()) {
for (ConfigId layer : fp.loadLayers()) {
String model = layer.getModel();
Map<String, Set<String>> names = layersMap.get(model);
if (names == null) {
names = new HashMap<>();
layersMap.put(model, names);
}
Set<String> dependencies = new TreeSet<>();
if (includeDependencies) {
ConfigLayerSpec spec = fp.loadConfigLayerSpec(model, layer.getName());
for (ConfigLayerDependency dep : spec.getLayerDeps()) {
dependencies.add(dep.getName());
}
}
names.put(layer.getName(), dependencies);
}
}
return layersMap;
}