com.sqatntu.stylechecker.configuration.JsonConfigurationLoader.java Source code

Java tutorial

Introduction

Here is the source code for com.sqatntu.stylechecker.configuration.JsonConfigurationLoader.java

Source

/*
 * The MIT License (MIT)
 *
 * Copyright (c) 2015 Andy Chong Chin Shin
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 * and associated documentation files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 * is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or
 * substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 */

package com.sqatntu.stylechecker.configuration;

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

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;

/**
 * Load configurations from JSON
 */
public class JsonConfigurationLoader implements ConfigurationLoader {

    @Override
    public Configuration loadFileConfiguration(String filePath) throws IOException {
        File configurationFile = new File(filePath);
        String configurationJson = FileUtils.readFileToString(configurationFile);

        return loadJsonConfiguration(configurationJson);
    }

    @Override
    public Configuration loadJsonConfiguration(String json) {
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapter(DefaultConfiguration.class, new ConfigurationDeserializer());

        Gson gson = gsonBuilder.create();
        DefaultConfiguration configuration = gson.fromJson(json, DefaultConfiguration.class);

        return configuration;
    }
}