private void processConfigLayer(ConfigModelStack configStack, FeatureGroupSupport layer) throws ProvisioningException { this.configStack = configStack; try { if(layer.hasPackageDeps()) { processPackageDeps(layer, null); } processConfigItemContainer(layer); this.configStack = null; } catch (ProvisioningException e) { throw new ProvisioningException(Errors.failedToResolveConfigLayer(configStack.id.getModel(), layer.getName()), e); } }
public static void addFeatureGroupDepBody(FeatureGroupSupport dep, final ElementNode depE, String ns) { if(dep.getName() != null) { addAttribute(depE, Attribute.NAME, dep.getName()); } if(!dep.isInheritFeatures()) { addAttribute(depE, Attribute.INHERIT_FEATURES, FALSE); } addFeatureGroupIncludeExclude(dep, ns, depE); writeFeatureGroupSpecBody(depE, dep, ns); if(dep.hasExternalFeatureGroups()) { for(Map.Entry<String, FeatureGroup> entry : dep.getExternalFeatureGroups().entrySet()) { final ElementNode fpE = addElement(depE, Element.ORIGIN.getLocalName(), ns); addAttribute(fpE, Attribute.NAME, entry.getKey()); addFeatureGroupIncludeExclude(entry.getValue(), ns, fpE); } } if(dep.hasPackageDeps()) { PackageXmlWriter.writePackageDeps(dep, addElement(depE, Element.PACKAGES.getLocalName(), ns)); } }
private void processFeatureGroup(FeatureGroupSupport includedFg) throws ProvisioningException { final boolean pushed = configStack.pushGroup(includedFg); final FeaturePackRuntimeBuilder originalOrigin = currentOrigin; try { final FeatureGroupSupport originalFg = getFeatureGroupSpec(includedFg.getName()); if (originalFg.hasPackageDeps()) { processPackageDeps(originalFg, null); } if (!pushed) { return; } processConfigItemContainer(originalFg); } finally { currentOrigin = originalOrigin; } configStack.popGroup(); if(includedFg.hasItems()) { processConfigItemContainer(includedFg); } }
if(!(fg.isConfig() || fg.isLayer())) { final FeaturePackRuntimeBuilder originalOrigin = currentOrigin; getFeatureGroupSpec(fg.getName()); fgOrigin = currentOrigin.producer; currentOrigin = originalOrigin;