package se.kth.karamel.backend.github.util;
import java.io.IOException;
import se.kth.karamel.common.util.IoUtils;
public class CookbookGenerator {
public static StringBuilder instantiateFromTemplate(String filePath, String... pairs) throws IOException {
StringBuilder sb = new StringBuilder();
String script = IoUtils.readContentFromClasspath(filePath);
if (pairs.length > 0) {
for (int i = 0; i < pairs.length; i += 2) {
String key = pairs[i];
String val = pairs[i + 1];
script = script.replaceAll("%%" + key + "%%", val);
}
}
return sb.append(script);
}
public static StringBuilder metadataAttribute(StringBuilder sb, String cbName, String desc, String type) {
return metadataAttribute(sb, cbName, desc, type, null);
}
public static StringBuilder metadataAttribute(StringBuilder sb, String cbName, String desc, String type,
String defaultValue) {
desc = (desc == null) ? "" : desc;
sb.append(cbName).append(System.lineSeparator());
sb.append(desc).append(System.lineSeparator());
sb.append(type).append(System.lineSeparator());
if (defaultValue != null) {
sb.append(defaultValue).append(System.lineSeparator());
}
return sb;
}
public static StringBuilder defaultAttribute(StringBuilder sb, String cbName, String attr, String type,
String value) {
sb.append("default[:").append(cbName).append("][:").append(attr).append("] = ").append(value);
return sb;
}
}