|
|
|
@ -6,12 +6,15 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
|
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
|
import org.mapdb.DB;
|
|
|
|
|
import org.mapdb.DBException;
|
|
|
|
|
import org.mapdb.DBMaker;
|
|
|
|
|
import org.mapdb.Serializer;
|
|
|
|
|
import sx.blah.discord.handle.obj.IGuild;
|
|
|
|
|
import sx.blah.discord.handle.obj.IRole;
|
|
|
|
|
import sx.blah.discord.handle.obj.IUser;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -40,12 +43,22 @@ public class DefaultPermissionsProvider implements ICommandPermissionsProvider
|
|
|
|
|
{
|
|
|
|
|
LOGGER.info("Building datastore.");
|
|
|
|
|
|
|
|
|
|
datastore = DBMaker.fileDB(new File(Configuration.DATA_DIR + "/permissions.db"))
|
|
|
|
|
.closeOnJvmShutdown()
|
|
|
|
|
.make();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
datastore = DBMaker.fileDB(new File(Configuration.DATA_DIR + "/permissions.db"))
|
|
|
|
|
.closeOnJvmShutdown()
|
|
|
|
|
.make();
|
|
|
|
|
|
|
|
|
|
userStore = datastore.hashMap("user", Serializer.STRING, Serializer.BOOLEAN).createOrOpen();
|
|
|
|
|
groupStore = datastore.hashMap("group", Serializer.STRING, Serializer.BOOLEAN).createOrOpen();
|
|
|
|
|
userStore = datastore.hashMap("user", Serializer.STRING, Serializer.BOOLEAN).createOrOpen();
|
|
|
|
|
groupStore = datastore.hashMap("group", Serializer.STRING, Serializer.BOOLEAN).createOrOpen();
|
|
|
|
|
}
|
|
|
|
|
catch(DBException e)
|
|
|
|
|
{
|
|
|
|
|
LOGGER.error("Error setting up the datastore.", e);
|
|
|
|
|
LOGGER.error("Switching to local memory storage. PERMISSIONS ARE NOT LOADED AND CHANGES WON'T BE SAVED.");
|
|
|
|
|
userStore = new HashMap<>();
|
|
|
|
|
groupStore = new HashMap<>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|