package eu.dnetlib.dnetexploremetrics.dao; import eu.dnetlib.dnetexploremetrics.model.Metrics; import eu.dnetlib.dnetexploremetrics.utils.PrometheusMetricsFormatter; import org.apache.commons.io.IOUtils; import org.apache.log4j.Logger; import java.io.*; import java.nio.file.Files; import java.nio.file.Paths; public class MetricsFileDAO implements MetricsDAO { private final Logger logger = Logger.getLogger(this.getClass()); private String fileName; @Override public void save(Metrics metrics) { try { Files.write(Paths.get("fileName"), PrometheusMetricsFormatter.formatMetrics(metrics).getBytes()); ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource(".").getFile() +"/metrics.txt"); FileWriter fileWriter = new FileWriter(file); PrintWriter printWriter = new PrintWriter(fileWriter); printWriter.print(PrometheusMetricsFormatter.formatMetrics(metrics)); printWriter.close(); } catch (IOException ioe) { logger.error("Error writing metrics to file " + fileName + ".", ioe); } } @Override public String getMetrics() { String metrics=""; try { FileInputStream inputStream = new FileInputStream(getClass().getClassLoader().getResource(".").getFile() +"/metrics.txt"); metrics = IOUtils.toString(inputStream, "UTF-8"); // do something with everything string } catch (IOException ioe) { logger.error("Error reading metrics to file " + fileName + ".", ioe); } return metrics; } }