/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.sa.email;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.text.StrSubstitutor;
import com.emc.sa.util.Messages;
import com.google.common.collect.Maps;
public class TemplateBase {
protected Messages messages = new Messages("com.emc.sa.email.EmailMessages");
private Map<String, String> parameters = Maps.newHashMap();
private StrSubstitutor substitutor = new StrSubstitutor(new TemplateStrLookup(parameters));
public TemplateBase() {
}
protected String getParameter(String name) {
return parameters.get(name);
}
protected void setParameter(String name, String value) {
parameters.put(name, value);
}
protected String evaluate(String value) {
addEmailMessagesToParameters();
return substitutor.replace(value);
}
private void addEmailMessagesToParameters() {
for (String key : messages.getKeySet()) {
if (parameters.containsKey(key) == false) {
parameters.put(key, messages.get(key));
}
}
}
protected static String readTemplate(String resource) {
InputStream in = TemplateBase.class.getResourceAsStream(resource);
try {
return IOUtils.toString(in, "UTF-8");
} catch (IOException e) {
throw new Error(e);
}
}
}