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(); }
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(); }
public static String toYaml(Object o) throws IOException { // Round trip to json to suppress empty collections and null values String json = toJson(o); Object generic = fromJson(json, Object.class); return new Yaml().dump(generic); } }