+ Added database flush command
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package commands;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
import core.Command;
|
||||
import core.DatabaseManager;
|
||||
import core.LocStrings;
|
||||
import dataStructures.KittyChannel;
|
||||
import dataStructures.KittyEmbed;
|
||||
import dataStructures.KittyGuild;
|
||||
import dataStructures.KittyRating;
|
||||
import dataStructures.KittyRole;
|
||||
import dataStructures.KittyUser;
|
||||
import dataStructures.Response;
|
||||
import dataStructures.UserInput;
|
||||
|
||||
public class CommandDBFlush extends Command
|
||||
{
|
||||
public CommandDBFlush(KittyRole level, KittyRating rating) { super(level, rating); }
|
||||
|
||||
@Override
|
||||
public String HelpText() { return LocStrings.Stub("DBFlushInfo"); }
|
||||
|
||||
@Override
|
||||
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
|
||||
{
|
||||
int numUpdated = DatabaseManager.instance.Upkeep();
|
||||
|
||||
KittyEmbed embed = new KittyEmbed();
|
||||
embed.title = "Database queue flushed";
|
||||
embed.descriptionText = "flushed: " + numUpdated;
|
||||
embed.color = new Color(7*16, 8*16, 9*16);
|
||||
|
||||
res.CallEmbed(embed);
|
||||
}
|
||||
}
|
||||
@@ -39,10 +39,12 @@ public class DatabaseManager
|
||||
|
||||
// Thumbs through registered objects and syncs them with the database.
|
||||
// Consider moving this operation to a separate thread.
|
||||
public void Upkeep()
|
||||
public int Upkeep()
|
||||
{
|
||||
synchronized(trackedObjects)
|
||||
{
|
||||
int numUpdated = 0;
|
||||
|
||||
for(int i = 0 ; i < trackedObjects.size(); ++i)
|
||||
{
|
||||
DatabaseTrackedObject dto = trackedObjects.get(i);
|
||||
@@ -51,8 +53,11 @@ public class DatabaseManager
|
||||
{
|
||||
SetRemoteValue(dto.identifier, dto.Serialize());
|
||||
dto.Resolve();
|
||||
++numUpdated;
|
||||
}
|
||||
}
|
||||
|
||||
return numUpdated;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -328,22 +328,27 @@ public class ObjectBuilderFactory
|
||||
|
||||
CommandManager manager = new CommandManager(commandEnabler);
|
||||
|
||||
// Dev
|
||||
manager.Register(LocCommands.Stub("work"), new CommandDoWork(KittyRole.Dev, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("shutdown"), new CommandShutdown(KittyRole.Dev, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("stats"), new CommandStats(KittyRole.Dev, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("invite"), new CommandInvite(KittyRole.Dev, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("buildHelp"), new CommandHelpBuilder(KittyRole.Dev, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("tweet"), new CommandTweet(KittyRole.Dev, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("dbflush"), new CommandDBFlush(KittyRole.Dev, KittyRating.Safe));
|
||||
|
||||
// Admin
|
||||
manager.Register(LocCommands.Stub("rating"), new CommandRating(KittyRole.Admin, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("indicator"), new CommandChangeIndicator(KittyRole.Admin, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("guildroleallowed"), new CommandGuildRoleAllowed(KittyRole.Admin, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("guildrolenotallowed"), new CommandGuildRoleNotAllowed(KittyRole.Admin, KittyRating.Safe));
|
||||
|
||||
// Mod
|
||||
manager.Register(LocCommands.Stub("poll"), new CommandPollManage(KittyRole.Mod, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("givebeans"), new CommandGiveBeans(KittyRole.Mod, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("rpg"), new CommandRPG(KittyRole.Mod, KittyRating.Safe));
|
||||
|
||||
// General
|
||||
manager.Register(LocCommands.Stub("fetch"), new CommandFetch(KittyRole.General, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("guildroleadd"), new CommandGuildRoleAdd(KittyRole.General, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("guildroleremove"), new CommandGuildRoleRemove(KittyRole.General, KittyRating.Safe));
|
||||
@@ -375,7 +380,6 @@ public class ObjectBuilderFactory
|
||||
manager.Register(LocCommands.Stub("guildrolelist"), new CommandGuildRoleList(KittyRole.General, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("bethistory"), new CommandBetHistory(KittyRole.General, KittyRating.Safe));
|
||||
manager.Register(LocCommands.Stub("crouton"), new CommandCrouton(KittyRole.General, KittyRating.Safe));
|
||||
|
||||
manager.Register(LocCommands.Stub("benchmark, bench"), new CommandBenchmark(KittyRole.General, KittyRating.Safe));
|
||||
|
||||
return manager;
|
||||
|
||||
Reference in New Issue
Block a user