diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2020-02-19 18:20:30 +0100 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2020-02-20 11:09:59 +0100 |
commit | 8123ab32e26c732302e3909757e0339d579576cb (patch) | |
tree | 8327979ef25c16b2f625afe8b7085d05ce1e601e /metrics-proxy | |
parent | 919450ac3928cbc8b2d8aa0be8f0ed85c7bf9b68 (diff) |
Evaluate template directly in Velocity engine. Read template using InputStreamReader
Diffstat (limited to 'metrics-proxy')
-rw-r--r-- | metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java index b4112583ba7..bf4f0d4c49b 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java @@ -4,13 +4,12 @@ package ai.vespa.metricsproxy.telegraf; import com.google.inject.Inject; import com.yahoo.component.AbstractComponent; import com.yahoo.system.execution.ProcessExecutor; -import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; -import org.apache.velocity.runtime.RuntimeConstants; -import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader; import java.io.FileWriter; +import java.io.InputStreamReader; +import java.io.Reader; import java.io.Writer; import static com.yahoo.yolean.Exceptions.uncheck; @@ -33,13 +32,14 @@ public class Telegraf extends AbstractComponent { } protected static void writeConfig(TelegrafConfig telegrafConfig, Writer writer) { - Template template = loadTemplate(); VelocityContext context = new VelocityContext(); context.put("intervalSeconds", telegrafConfig.intervalSeconds()); context.put("cloudwatchPlugins", telegrafConfig.cloudWatch()); // TODO: Add node cert if hosted - template.merge(context, writer); + VelocityEngine velocityEngine = new VelocityEngine(); + velocityEngine.init(); + velocityEngine.evaluate(context, writer, "TelegrafConfigWriter", getTemplateReader()); uncheck(writer::close); } @@ -60,12 +60,12 @@ public class Telegraf extends AbstractComponent { .orElseThrow(() -> new RuntimeException("Timed out running command: " + command)); } - private static Template loadTemplate() { - VelocityEngine velocityEngine = new VelocityEngine(); - velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath"); - velocityEngine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName()); - velocityEngine.init(); - return velocityEngine.getTemplate(TELEGRAF_CONFIG_TEMPLATE_PATH); + @SuppressWarnings("ConstantConditions") + private static Reader getTemplateReader() { + return new InputStreamReader(Telegraf.class.getClassLoader() + .getResourceAsStream(TELEGRAF_CONFIG_TEMPLATE_PATH) + ); + } @Override |