Newer
Older
CrashLogBot / src / main / java / net / romvoid / crashbot / file / solution / SolutionFile.java
@y.varenkov y.varenkov on 2 Aug 2021 1 KB add
package net.romvoid.crashbot.file.solution;

import java.io.Reader;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class SolutionFile {
	
	private static List<Solution> solutions = new ArrayList<Solution>();
	private static Gson gson = new GsonBuilder().setPrettyPrinting().create();
	private static Writer writer;
	private static Reader reader;

	public static List<Solution> read() {
		try {
			reader = Files.newBufferedReader(Paths.get("solutions/solutions.json"));
			//setSolutions(gson.fromJson(reader, new TypeToken<List<Solution>>() {}.getType()));
			List<Solution> list = Arrays.asList(gson.fromJson(reader, Solution[].class));
			reader.close();
			return list;
		} catch (Exception e) {
			e.getStackTrace();
		}
		return null;
	}

	public static void write(Solution solution) {
		solutions.addAll(getSolutions());
		solutions.add(solution);
		try {

			writer = Files.newBufferedWriter(Paths.get("solutions/solutions.json"));
			gson.toJson(solutions, writer);
			for(Solution s : solutions) {
				System.out.println(s.toString());
			}
			writer.close();
		} catch (Exception e) {
			e.getStackTrace();
		}
	}
	
	
	public static List<Solution> getSolutions() {
		solutions = read();
		return solutions;
	}
}