package com.statscollector.application.config; import java.io.File; import java.io.IOException; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.statscollector.neo.sonar.config.SonarConfig; /** * I manage the creation, saving and loading of a config file to/from a raw JSON file. * * @author JCannon * */ public class SonarJsonConfigService { private final String fileName; private final ObjectMapper mapper = new ObjectMapper(); public SonarJsonConfigService(final String fileName) { super(); this.fileName = fileName; } public SonarConfig getConfigFile() throws JsonParseException, JsonMappingException, IOException { File file = new File(fileName); if(!file.exists()) { return null; } else { return mapper.readValue(file, SonarConfig.class); } } public void saveConfigFile(final SonarConfig config) throws JsonGenerationException, JsonMappingException, IOException { mapper.writeValue(new File(fileName), config); } }