package de.mrmysteri0us.dbmanager;

import de.mrmysteri0us.dbmanager.config.Config;
import org.apache.logging.log4j.Logger;
import org.spongepowered.api.event.SpongeEventHandler;
import org.spongepowered.api.event.state.PreInitializationEvent;
import org.spongepowered.api.event.state.ServerStoppingEvent;
import org.spongepowered.api.plugin.Plugin;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by robin on 01/11/2014
 */

@Plugin(id = "DBManager", name = "DBManager", version = "1.1_0")
public class DBManagerPlugin {
    private static DBManagerPlugin instance;
    private File                pluginDirectory;
    private Logger              log;
    private Config              config;
    private Config              configExceptions;
    private Map<String, Config> exceptions;

    @SpongeEventHandler
    public void onInit(PreInitializationEvent event) {
        log = event.getPluginLog();
        log.info("Plugin loading.");
        instance = this;
        pluginDirectory = event.getConfigurationDirectory();
        exceptions = new HashMap<String, Config>();
        config = new Config(new File(pluginDirectory, "config.yml"));
        configExceptions = new Config(new File(pluginDirectory, "exceptions.yml"));

        try {
            config.load();
            configExceptions.load();

            for(String s : configExceptions.getMap().keySet()) {
                exceptions.put(s, new Config(new File(pluginDirectory, configExceptions.getMap().get(s))));
            }
        } catch(IOException e) {
            e.printStackTrace();
        }

        log.info("Plugin enabled.");
    }

    @SpongeEventHandler
    public void onStop(ServerStoppingEvent event) {
        log.info("Plugin disabled.");
    }

    public static DBManagerPlugin getInstance() {
        return instance;
    }

    public Logger getLog() {
        return log;
    }

    public Config getConfig() {
        return config;
    }

    public Config getConfigExceptions() {
        return configExceptions;
    }

    public Map<String, Config> getExceptions() {
        return exceptions;
    }
}

@@ -1,8 +1,1094 @@
+/*%0AThe MIT License (MIT)%0A%0ACopyright (c) 2014 MrMysteri0us%0A%0APermission is hereby granted, free of charge, to any person obtaining a copy%0Aof this software and associated documentation files (the %22Software%22), to deal%0Ain the Software without restriction, including without limitation the rights%0Ato use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0Acopies of the Software, and to permit persons to whom the Software is%0Afurnished to do so, subject to the following conditions:%0A%0AThe above copyright notice and this permission notice shall be included in%0Aall copies or substantial portions of the Software.%0A%0ATHE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0AIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0AFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE%0AAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER%0ALIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,%0AOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN%0ATHE SOFTWARE.%0A*/%0A%0A
 package 

Add license