
io.takari.orchestra.plugins.yaml.YamlParser Maven / Gradle / Ivy
The newest version!
package io.takari.orchestra.plugins.yaml;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import io.takari.bpm.model.ProcessDefinition;
import io.takari.orchestra.common.format.MultipleDefinitionParser;
import io.takari.orchestra.common.format.ParserException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Named;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.Map;
@Named
public class YamlParser implements MultipleDefinitionParser {
private static final Logger log = LoggerFactory.getLogger(YamlParser.class);
@Override
public Collection parse(InputStream in) throws ParserException {
YAMLMapper m = new YAMLMapper();
Map data;
try {
data = m.readValue(in, Map.class);
} catch (IOException e) {
throw new ParserException("Error while parsing the data", e);
}
if (data == null || data.isEmpty()) {
throw new ParserException("No definitions found");
}
log.debug("parse -> got: {}", data);
return YamlConverter.convert(data);
}
@Override
public String toString() {
return "Orchestra YAML parser";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy