org.springframework.boot.configurationmetadata.ConfigurationMetadataGroup Java Examples
The following examples show how to use
org.springframework.boot.configurationmetadata.ConfigurationMetadataGroup.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DeployerConfigurationMetadataResolver.java From spring-cloud-skipper with Apache License 2.0 | 5 votes |
/** * Resolve all configuration metadata properties prefixed with {@code spring.cloud.deployer.} * * @return the list */ public List<ConfigurationMetadataProperty> resolve() { List<ConfigurationMetadataProperty> metadataProperties = new ArrayList<>(); ConfigurationMetadataRepositoryJsonBuilder builder = ConfigurationMetadataRepositoryJsonBuilder.create(); try { Resource[] resources = applicationContext.getResources(CONFIGURATION_METADATA_PATTERN); for (Resource resource : resources) { builder.withJsonResource(resource.getInputStream()); } } catch (IOException e) { throw new SkipperException("Unable to read configuration metadata", e); } ConfigurationMetadataRepository metadataRepository = builder.build(); Map<String, ConfigurationMetadataGroup> groups = metadataRepository.getAllGroups(); // 1. go through all groups and their properties // 2. filter 'spring.cloud.deployer.' properties // 3. pass in only group includes, empty passes through all // 4. pass in group excludes // 5. same logic for properties for includes and excludes // 6. what's left is white/black listed props groups.values().stream() .filter(g -> g.getId().startsWith(KEY_PREFIX)) .filter(groupEmptyOrAnyMatch(deployerProperties.getGroupIncludes())) .filter(groupNoneMatch(deployerProperties.getGroupExcludes())) .forEach(g -> { g.getProperties().values().stream() .filter(propertyEmptyOrAnyMatch(deployerProperties.getPropertyIncludes())) .filter(propertyNoneMatch(deployerProperties.getPropertyExcludes())) .forEach(p -> { metadataProperties.add(p); }); }); return metadataProperties; }
Example #2
Source File: PropertyDocumentation.java From joinfaces with Apache License 2.0 | 5 votes |
@TaskAction public void generatePropertyDocumentation() throws IOException { ConfigurationMetadataRepository configurationMetadataRepository; configurationMetadataRepository = ConfigurationMetadataRepositoryJsonBuilder.create() .withJsonResource(new FileInputStream(getInputFile().getAsFile().get())) .build(); try (PrintWriter writer = ResourceGroovyMethods.newPrintWriter(getOutputFile().getAsFile().get(), "UTF-8")) { writer.println("[source,properties,indent=0,subs=\"verbatim,attributes,macros\"]"); writer.println("----"); configurationMetadataRepository.getAllGroups().values().stream() .sorted(Comparator.comparing(ConfigurationMetadataGroup::getId)) .forEach(group -> { writer.printf("## %s\n", group.getId()); group.getSources().values() .stream() .map(ConfigurationMetadataSource::getShortDescription) .filter(s -> s != null && !s.isEmpty()) .forEach(d -> writer.printf("# %s\n", d)); group.getProperties().values().stream() .sorted(Comparator.comparing(ConfigurationMetadataProperty::getId)) .forEach(property -> printProperty(writer, property)); writer.println(); writer.flush(); }); writer.println("----"); } }
Example #3
Source File: DeployerConfigurationMetadataResolver.java From spring-cloud-dataflow with Apache License 2.0 | 5 votes |
/** * Resolve all configuration metadata properties prefixed with {@code spring.cloud.deployer.} * * @return the list */ public List<ConfigurationMetadataProperty> resolve() { List<ConfigurationMetadataProperty> metadataProperties = new ArrayList<>(); ConfigurationMetadataRepositoryJsonBuilder builder = ConfigurationMetadataRepositoryJsonBuilder.create(); try { Resource[] resources = applicationContext.getResources(CONFIGURATION_METADATA_PATTERN); for (Resource resource : resources) { builder.withJsonResource(resource.getInputStream()); } } catch (IOException e) { throw new SkipperException("Unable to read configuration metadata", e); } ConfigurationMetadataRepository metadataRepository = builder.build(); Map<String, ConfigurationMetadataGroup> groups = metadataRepository.getAllGroups(); // 1. go through all groups and their properties // 2. filter 'spring.cloud.deployer.' properties // 3. pass in only group includes, empty passes through all // 4. pass in group excludes // 5. same logic for properties for includes and excludes // 6. what's left is white/black listed props groups.values().stream() .filter(g -> g.getId().startsWith(KEY_PREFIX)) .filter(groupEmptyOrAnyMatch(deployerProperties.getGroupIncludes())) .filter(groupNoneMatch(deployerProperties.getGroupExcludes())) .forEach(g -> { g.getProperties().values().stream() .filter(propertyEmptyOrAnyMatch(deployerProperties.getPropertyIncludes())) .filter(propertyNoneMatch(deployerProperties.getPropertyExcludes())) .forEach(p -> { metadataProperties.add(p); }); }); return metadataProperties; }
Example #4
Source File: DeployerConfigurationMetadataResolver.java From spring-cloud-skipper with Apache License 2.0 | 4 votes |
private Predicate<ConfigurationMetadataGroup> groupEmptyOrAnyMatch(String[] matches) { if (ObjectUtils.isEmpty(matches)) { return g -> true; } return g -> Arrays.stream(matches).anyMatch(g.getId()::equals); }
Example #5
Source File: DeployerConfigurationMetadataResolver.java From spring-cloud-skipper with Apache License 2.0 | 4 votes |
private Predicate<ConfigurationMetadataGroup> groupNoneMatch(String[] matches) { return g -> Arrays.stream(matches).noneMatch(g.getId()::equals); }
Example #6
Source File: BootApplicationConfigurationMetadataResolver.java From spring-cloud-dashboard with Apache License 2.0 | 4 votes |
/** * Return whether a configuration property group (class) has been white listed as being a "main" group. */ private boolean isWhiteListed(ConfigurationMetadataGroup group, Collection<String> classes) { Set<String> sourceTypes = group.getSources().keySet(); return !sourceTypes.isEmpty() && classes.containsAll(sourceTypes); }
Example #7
Source File: BootApplicationConfigurationMetadataResolver.java From spring-cloud-dataflow with Apache License 2.0 | 4 votes |
/** * Return whether a configuration property group (class) has been white listed as * being a "main" group. */ private boolean isWhiteListed(ConfigurationMetadataGroup group, Collection<String> classes) { Set<String> sourceTypes = group.getSources().keySet(); return !sourceTypes.isEmpty() && classes.containsAll(sourceTypes); }
Example #8
Source File: DeployerConfigurationMetadataResolver.java From spring-cloud-dataflow with Apache License 2.0 | 4 votes |
private Predicate<ConfigurationMetadataGroup> groupEmptyOrAnyMatch(String[] matches) { if (ObjectUtils.isEmpty(matches)) { return g -> true; } return g -> Arrays.stream(matches).anyMatch(g.getId()::equals); }
Example #9
Source File: DeployerConfigurationMetadataResolver.java From spring-cloud-dataflow with Apache License 2.0 | 4 votes |
private Predicate<ConfigurationMetadataGroup> groupNoneMatch(String[] matches) { return g -> Arrays.stream(matches).noneMatch(g.getId()::equals); }