@SuppressWarnings("unchecked") private Map<String, String> getResourceRegistry(){ // FIXME find alternative implementation not importing com.fasterxml.jackson.dataformat.yaml.snakeyaml package // this package is not visible in OSGi Yaml yaml = new Yaml(); Map<String, Object> content = (Map<String, Object>) yaml.load(getEnvContent()); return (Map<String, String>) content.get("resource_registry"); }
private Object[] buildParams(Object[] params, ServiceSpecification spec, Map<String, Object> serviceConfig) { // Add existing params List<Object> paramList = new ArrayList<Object>(); for(int i = 0; i < params.length; ++i) paramList.add(params[i]); // Add any dependency services Class<?>[] dependencies = spec.metadata.dependencies(); for(int i = 0; i < dependencies.length; ++i) paramList.add(getService(dependencies[i])); // If the service requires a configuration, add it Class<?> configClass = spec.metadata.configClass(); if(configClass != Void.class){ Yaml yaml = new Yaml(); String configString = yaml.dump(serviceConfig); Object configObject = yaml.loadAs(configString, configClass); paramList.add(configObject); } return paramList.toArray(); }
/** * Initializes the producer with the Snoop configuration properties. */ @PostConstruct private void init() { try { Yaml yaml = new Yaml(); Map<String, Object> props = (Map<String, Object>) yaml.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/snoop.yml")); snoopConfig = (Map<String, Object>) props.get("snoop"); } catch (YAMLException e) { LOGGER.config(() -> "No configuration file. Using env properties."); } } }
private Object[] buildParams(Object[] params, ServiceSpecification spec, Map<String, Object> serviceConfig) { // Add existing params List<Object> paramList = new ArrayList<Object>(); for(int i = 0; i < params.length; ++i) paramList.add(params[i]); // Add any dependency services Class<?>[] dependencies = spec.metadata.dependencies(); for(int i = 0; i < dependencies.length; ++i) paramList.add(getService(dependencies[i])); // If the service requires a configuration, add it Class<?> configClass = spec.metadata.configClass(); if(configClass != Void.class){ Yaml yaml = new Yaml(); String configString = yaml.dump(serviceConfig); Object configObject = yaml.loadAs(configString, configClass); paramList.add(configObject); } return paramList.toArray(); }
/** * Initializes the producer with the Snoop configuration properties. */ @PostConstruct private void init() { try { Yaml yaml = new Yaml(); Map<String, Object> props = (Map<String, Object>) yaml.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/snoop.yml")); snoopConfig = (Map<String, Object>) props.get("snoop"); } catch (YAMLException e) { LOGGER.config(() -> "No configuration file. Using env properties."); } } }
private void getFileContents() { // FIXME find alternative implementation not importing com.fasterxml.jackson.dataformat.yaml.snakeyaml package // this package is not visible in OSGi Yaml yaml = new Yaml(); @SuppressWarnings("unchecked") Map<String, Object> content = (Map<String, Object>) yaml.load(getTplContent()); try { resolveTemplateGetFiles(content); resolveTemplateType(content); } catch (IOException e) { LOG.error(e.getMessage(), e); } }
/** * Load a file from GCS or local and parse from json or yaml. * * @param <T> */ @SuppressWarnings("unchecked") public static <T> T parseFile(String path, Class<T> c) throws IOException { LOG.info("Parse file from path: " + path + " for class " + c); String text = readAll(path); // Ridiculous hack: direct parsing into a real Java object fails with // SnakeYaml, Gson and Jackson due to mysterious type incompatibility :( Map<String, Object> map; if (path.endsWith("yaml") || path.endsWith("yml")) { map = (Map<String, Object>) new Yaml().load(text); } else { map = (Map<String, Object>) new GsonBuilder() .setLenient() .create() .fromJson(text, new TypeToken<Map<String, Object>>() {}.getType()); } String s = StringUtils.toJson(map); return StringUtils.fromJson(s, c); }
private void readConfiguration() throws SnoopConfigurationException { Map<String, Object> snoopConfig = Collections.EMPTY_MAP; try { Yaml yaml = new Yaml(); Map<String, Object> props = (Map<String, Object>) yaml.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/snoop.yml")); snoopConfig = (Map<String, Object>) props.get("snoop"); } catch (YAMLException e) { LOGGER.config(() -> "No configuration file. Using env properties."); } applicationConfig.setServiceName(SnoopExtensionHelper.getServiceName()); final String host = readProperty("host", snoopConfig); final String port = readProperty("port", snoopConfig); applicationConfig.setServiceHome(host + ":" + port + "/"); applicationConfig.setServiceRoot(readProperty("serviceRoot", snoopConfig)); LOGGER.config(() -> "application config: " + applicationConfig.toJSON()); serviceUrl = "ws://" + readProperty("snoopService", snoopConfig); }
private void readConfiguration() throws SnoopConfigurationException { Map<String, Object> snoopConfig = Collections.EMPTY_MAP; try { Yaml yaml = new Yaml(); Map<String, Object> props = (Map<String, Object>) yaml.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/snoop.yml")); snoopConfig = (Map<String, Object>) props.get("snoop"); } catch (YAMLException e) { LOGGER.config(() -> "No configuration file. Using env properties."); } applicationConfig.setServiceName(SnoopExtensionHelper.getServiceName()); final String host = readProperty("host", snoopConfig); final String port = readProperty("port", snoopConfig); applicationConfig.setServiceHome(host + ":" + port + "/"); applicationConfig.setServiceRoot(readProperty("serviceRoot", snoopConfig)); LOGGER.config(() -> "application config: " + applicationConfig.toJSON()); serviceUrl = "ws://" + readProperty("snoopService", snoopConfig); }