org.springframework.beans.factory.config.YamlPropertiesFactoryBean#getObject ( )源码实例Demo

下面列出了org.springframework.beans.factory.config.YamlPropertiesFactoryBean#getObject ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

protected Properties generateProperties(String value,
                                        Format format) {
    final Properties props = new Properties();

    if (format == Format.PROPERTIES) {
        try {
            // Must use the ISO-8859-1 encoding because Properties.load(stream)
            // expects it.
            props.load(new ByteArrayInputStream(value.getBytes(StandardCharsets.ISO_8859_1)));
        } catch (IOException e) {
            logger.error("Can't be encoded with exception: ", e);
            throw new IllegalArgumentException(
                    value + " can't be encoded using ISO-8859-1");
        }
        return props;
    } else if (format == Format.YAML) {
        final YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
        yaml.setResources(new ByteArrayResource(value.getBytes(StandardCharsets.UTF_8)));
        return yaml.getObject();
    } else {
        return props;
    }
}
 
@Bean(name = "graviteeProperties")
public static Properties graviteeProperties() throws IOException {
    LOGGER.info("Loading Gravitee Management configuration.");

    YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();

    String yamlConfiguration = System.getProperty(GRAVITEE_CONFIGURATION);
    Resource yamlResource = new FileSystemResource(yamlConfiguration);

    LOGGER.info("\tGravitee Management configuration loaded from {}", yamlResource.getURL().getPath());

    yaml.setResources(yamlResource);
    Properties properties = yaml.getObject();
    LOGGER.info("Loading Gravitee Management configuration. DONE");

    return properties;
}
 
源代码3 项目: apollo   文件: ItemController.java
private void doSyntaxCheck(NamespaceTextModel model) {
  if (StringUtils.isBlank(model.getConfigText())) {
    return;
  }

  // only support yaml syntax check
  if (model.getFormat() != ConfigFileFormat.YAML && model.getFormat() != ConfigFileFormat.YML) {
    return;
  }

  // use YamlPropertiesFactoryBean to check the yaml syntax
  YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
  yamlPropertiesFactoryBean.setResources(new ByteArrayResource(model.getConfigText().getBytes()));
  // this call converts yaml to properties and will throw exception if the conversion fails
  yamlPropertiesFactoryBean.getObject();
}
 
static Function<String, Properties> yamlParserGenerator(Environment environment) {
	return s -> {
		YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
		yamlFactory.setDocumentMatchers(properties -> {
			String profiles = properties.getProperty("spring.profiles");
			if (environment != null && StringUtils.hasText(profiles)) {
				return environment.acceptsProfiles(Profiles.of(profiles)) ? FOUND
						: NOT_FOUND;
			}
			else {
				return ABSTAIN;
			}
		});
		yamlFactory.setResources(new ByteArrayResource(s.getBytes()));
		return yamlFactory.getObject();
	};
}
 
源代码5 项目: super-cloudops   文件: PropertySources.java
@Override
public Map<String, Object> resolve(String content) {
	YamlPropertiesFactoryBean ymlFb = new YamlPropertiesFactoryBean();

	ymlFb.setResources(new ByteArrayResource(content.getBytes(Charsets.UTF_8)));
	ymlFb.afterPropertiesSet();
	// Properties to map
	Map<String, Object> map = new HashMap<>();
	if (ymlFb.getObject() != null) {
		ymlFb.getObject().forEach((k, v) -> map.put(String.valueOf(k), v));
	}
	return map;
}
 
private Properties loadYamlIntoProperties(EncodedResource resource) throws FileNotFoundException {
    try {
        final YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
        factory.setResources(resource.getResource());
        factory.afterPropertiesSet();
        return factory.getObject();
    } catch (IllegalStateException e) {
        // for ignoreResourceNotFound
        final Throwable cause = e.getCause();
        if (cause instanceof FileNotFoundException) {
            throw (FileNotFoundException) cause;
        }
        throw e;
    }
}
 
源代码7 项目: servicecomb-java-chassis   文件: KieUtil.java
public static Map<String, String> processValueType(KVDoc kvDoc) {
  ValueType valueType = parseValueType(kvDoc.getValueType());

  Properties properties = new Properties();
  Map<String, String> kvMap = new HashMap<>();
  try {
    if (valueType == (ValueType.YAML) || valueType == (ValueType.YML)) {
      YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
      yamlFactory.setResources(new ByteArrayResource(kvDoc.getValue().getBytes()));
      properties = yamlFactory.getObject();
    } else if (valueType == (ValueType.PROPERTIES)) {
      properties.load(new StringReader(kvDoc.getValue()));
    } else if (valueType == (ValueType.TEXT) || valueType == (ValueType.STRING)) {
      kvMap.put(kvDoc.getKey(), kvDoc.getValue());
      return kvMap;
    } else {
      // ValueType.JSON
      kvMap.put(kvDoc.getKey(), kvDoc.getValue());
      return kvMap;
    }
    kvMap = toMap(kvDoc.getKey(), properties);
    return kvMap;
  } catch (Exception e) {
    LOGGER.error("read config failed", e);
  }
  return Collections.emptyMap();
}
 
private static void contributeDefaults(Map<String, Object> defaults, Resource resource) {
	if (resource.exists()) {
		YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
		yamlPropertiesFactoryBean.setResources(resource);
		yamlPropertiesFactoryBean.afterPropertiesSet();
		Properties p = yamlPropertiesFactoryBean.getObject();
		for (Object k : p.keySet()) {
			String key = k.toString();
			defaults.put(key, p.get(key));
		}
	}
}
 
源代码9 项目: klask-io   文件: DefaultProfileUtil.java
/**
 * Load application.yml from classpath.
 */
private static Properties readProperties() {
    try {
        YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
        factory.setResources(new ClassPathResource("config/application.yml"));
        return factory.getObject();
    } catch (Exception e) {
        log.error("Failed to read application.yml to get default profile");
    }
    return null;
}
 
源代码10 项目: apollo   文件: YamlParserTest.java
private void check(String yamlContent) {
  YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
  yamlPropertiesFactoryBean.setResources(new ByteArrayResource(yamlContent.getBytes()));
  Properties expected = yamlPropertiesFactoryBean.getObject();

  Properties actual = parser.yamlToProperties(yamlContent);

  assertTrue("expected: " + expected + " actual: " + actual, checkPropertiesEquals(expected, actual));
}
 
源代码11 项目: tutorials   文件: YamlPropertySourceFactory.java
@Override
public PropertySource<?> createPropertySource(String name, EncodedResource encodedResource) throws IOException {
    YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
    factory.setResources(encodedResource.getResource());

    Properties properties = factory.getObject();

    return new PropertiesPropertySource(encodedResource.getResource().getFilename(), properties);
}
 
@Override
public Properties read() {
	final YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
	try (InputStream in = inputStream) {
		yaml.setResources(new InputStreamResource(in));
		return yaml.getObject();
	}
	catch (IOException e) {
		throw new IllegalStateException("Cannot load environment", e);
	}
}
 
private KubernetesDeployerProperties bindDeployerProperties() throws Exception {
	YamlPropertiesFactoryBean properties = new YamlPropertiesFactoryBean();
	properties.setResources(new ClassPathResource("dataflow-server.yml"),
			new ClassPathResource("dataflow-server-tolerations.yml"),
			new ClassPathResource("dataflow-server-secretKeyRef.yml"),
			new ClassPathResource("dataflow-server-configMapKeyRef.yml"),
			new ClassPathResource("dataflow-server-podsecuritycontext.yml"),
			new ClassPathResource("dataflow-server-nodeAffinity.yml"),
			new ClassPathResource("dataflow-server-podAffinity.yml"),
			new ClassPathResource("dataflow-server-podAntiAffinity.yml"));
	Properties yaml = properties.getObject();
	MapConfigurationPropertySource source = new MapConfigurationPropertySource(yaml);
	return new Binder(source).bind("", Bindable.of(KubernetesDeployerProperties.class)).get();
}
 
源代码14 项目: OpenIoE   文件: DefaultProfileUtil.java
/**
 * Load application.yml from classpath.
 */
private static Properties readProperties() {
    try {
        YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
        factory.setResources(new ClassPathResource("config/application.yml"));
        return factory.getObject();
    } catch (Exception e) {
        log.error("Failed to read application.yml to get default profile");
    }
    return null;
}
 
private static void contributeDefaults(Map<String, Object> defaults, Resource resource) {
	if (resource.exists()) {
		YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
		yamlPropertiesFactoryBean.setResources(resource);
		yamlPropertiesFactoryBean.afterPropertiesSet();
		Properties p = yamlPropertiesFactoryBean.getObject();
		for (Object k : p.keySet()) {
			String key = k.toString();
			defaults.put(key, p.get(key));
		}
	}
}
 
@Override
public Environment findOne(String application, String profile, String label) {
	String[] profiles = StringUtils.commaDelimitedListToStringArray(profile);
	List<String> scrubbedProfiles = scrubProfiles(profiles);

	List<String> keys = findKeys(application, scrubbedProfiles);

	Environment environment = new Environment(application, profiles, label, null,
			getWatchState());

	for (String key : keys) {
		// read raw 'data' key from vault
		String data = read(key);
		if (data != null) {
			// data is in json format of which, yaml is a superset, so parse
			final YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
			yaml.setResources(new ByteArrayResource(data.getBytes()));
			Properties properties = yaml.getObject();

			if (!properties.isEmpty()) {
				environment.add(new PropertySource("vault:" + key, properties));
			}
		}
	}

	return environment;
}
 
private static Properties loadProperties(Resource resource) {
	YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
	yamlFactory.setResources(resource);
	yamlFactory.afterPropertiesSet();
	return yamlFactory.getObject();
}
 
源代码18 项目: spring-cloud   文件: YamlPropertySourceFactory.java
private Properties loadYamlIntoProperties(EncodedResource resource) {
    YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();
    factory.setResources(resource.getResource());
    factory.afterPropertiesSet();
    return factory.getObject();
}
 
源代码19 项目: zuihou-admin-cloud   文件: NoBootTest.java
@Test
public void test2() {
    String data = "zuihou:\n" +
            "  swagger:\n" +
            "    enabled: true\n" +
            "    title: 网关模块\n" +
            "    base-package: com.github.zuihou.zuul.controller\n" +
            "\n" +
            "zuul:\n" +
            "  retryable: false\n" +
            "  servlet-path: /\n" +
            "  ignored-services: \"*\"\n" +
            "  sensitive-headers:\n" +
            "  ratelimit:\n" +
            "    key-prefix: gate_rate\n" +
            "    enabled: true\n" +
            "    repository: REDIS\n" +
            "    behind-proxy: true\n" +
            "    default-policy:\n" +
            "      cycle-type: 1\n" +
            "      limit: 10\n" +
            "      refresh-interval: 60\n" +
            "      type:\n" +
            "        - APP\n" +
            "        - URL\n" +
            "  routes:\n" +
            "    authority:\n" +
            "      path: /authority/**\n" +
            "      serviceId: zuihou-authority-server\n" +
            "    file:\n" +
            "      path: /file/**\n" +
            "      serviceId: zuihou-file-server\n" +
            "    msgs:\n" +
            "      path: /msgs/**\n" +
            "      serviceId: zuihou-msgs-server\n" +
            "    order:\n" +
            "      path: /order/**\n" +
            "      serviceId: zuihou-order-server\n" +
            "    demo:\n" +
            "      path: /demo/**\n" +
            "      serviceId: zuihou-demo-server\n" +
            "\n" +
            "authentication:\n" +
            "  user:\n" +
            "    header-name: token\n" +
            "    pub-key: client/pub.key";

    YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
    yamlFactory.setResources(new ByteArrayResource(data.getBytes()));
    Properties object = yamlFactory.getObject();
    System.out.println(object);
}
 
@Override
protected void before() throws Throwable {
	try {
		String awsCredentialsDir = System.getProperty("aws.credentials.path");
		File awsCredentialsFile = new File(awsCredentialsDir, "aws.credentials.properties");
		Properties awsCredentials = new Properties();
		awsCredentials.load(new FileReader(awsCredentialsFile));
		String accessKey = awsCredentials.getProperty("cloud.aws.credentials.accessKey");
		String secretKey = awsCredentials.getProperty("cloud.aws.credentials.secretKey");
		this.cloudFormation = new AmazonCloudFormationClient(new BasicAWSCredentials(accessKey, secretKey));

		YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
		yamlPropertiesFactoryBean.setResources(new ClassPathResource("application.yml"));
		Properties applicationProperties = yamlPropertiesFactoryBean.getObject();

		this.stackName = applicationProperties.getProperty("cloud.aws.stack.name");

		after();

		ClassPathResource stackTemplate = new ClassPathResource("AwsIntegrationTestTemplate.json");
		String templateBody = FileCopyUtils.copyToString(new InputStreamReader(stackTemplate.getInputStream()));

		this.cloudFormation.createStack(
				new CreateStackRequest()
						.withTemplateBody(templateBody)
						.withOnFailure(OnFailure.DELETE)
						.withStackName(this.stackName));

		waitForCompletion();

		System.setProperty("cloud.aws.credentials.accessKey", accessKey);
		System.setProperty("cloud.aws.credentials.secretKey", secretKey);
	}
	catch (Exception e) {
		if (!(e instanceof AssumptionViolatedException)) {
			Assume.assumeTrue("Can't perform AWS integration test because of: " + e.getMessage(), false);
		}
		else {
			throw e;
		}
	}
}