continue; for (ResolvedFeature feature : entry.getValue().getFeatures()) { orderedFeatures.add(feature);
final SpecFeatures otherSpecFeatures = entry.getValue(); SpecFeatures specFeatures = null; for (ResolvedFeature feature : otherSpecFeatures.getFeatures()) { if(lastProcessedScope.isFilteredOut(feature.getSpecId(), feature.id)) { continue;
final List<ResolvedFeature> features = specFeatures.getFeatures(); while(i < features.size() && allCircularRefs == null) { allCircularRefs = orderFeature(features.get(i++));
final List<ResolvedFeature> features = specFeatures.getFeatures(); while(i < features.size() && allCircularRefs == null) { if (onParentChildrenBranch) {
getProviders(cap.toString(), true).add(specFeatures); } else { for(ResolvedFeature feature : specFeatures.getFeatures()) { final List<String> resolvedCaps = capResolver.resolve(cap, feature); if(resolvedCaps.isEmpty()) { continue; for (ResolvedFeature feature : entry.getValue().getFeatures()) { orderFeature(feature);
private void doOrder(ProvisioningRuntimeBuilder rt) throws ProvisioningException { for (SpecFeatures features : specFeatures.values()) { // resolve references features.spec.resolveRefMappings(rt); // resolve and register capability providers if(features.spec.xmlSpec.providesCapabilities()) { for(CapabilitySpec cap : features.spec.xmlSpec.getProvidedCapabilities()) { if(cap.isStatic()) { getProviders(cap.toString(), true).add(features); } else { for(ResolvedFeature feature : features.getFeatures()) { final List<String> resolvedCaps = capResolver.resolve(cap, feature); if(resolvedCaps.isEmpty()) { continue; } for(String resolvedCap : resolvedCaps) { getProviders(resolvedCap, true).add(feature); } } } } } } orderedFeatures = new ArrayList<>(features.size()); for(SpecFeatures features : specFeatures.values()) { orderFeaturesInSpec(features, false); } }