package com.atlassian.labs.speakeasy.util;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.springframework.stereotype.Component;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
*
*/
@Component
public class PomProperties
{
private final Map<String,String> pomProperties;
public PomProperties() {
InputStream in = null;
HashMap<String,String> props = new HashMap<String,String>();
try
{
in = BundleUtil.class.getClassLoader().getResourceAsStream("META-INF/maven/com.atlassian.labs/speakeasy-plugin/pom.xml");
final SAXReader reader = new SAXReader();
Document doc = reader.read(in);
for (Element e : new ArrayList<Element>(doc.getRootElement().element("properties").elements()))
{
props.put(e.getName(), e.getTextTrim());
}
props.put("project.version", doc.getRootElement().element("parent").element("version").getTextTrim());
}
catch (final DocumentException e)
{
throw new RuntimeException("Cannot parse pom.xml", e);
}
pomProperties = props;
}
public String get(String key)
{
return pomProperties.get(key);
}
}