Skip to content

Commit

Permalink
Clean the Recently Deleted directory periodically
Browse files Browse the repository at this point in the history
  • Loading branch information
ME1312 committed Apr 26, 2019
1 parent 09c8c46 commit 7f23668
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 37 deletions.
Expand Up @@ -83,27 +83,27 @@ public void close() throws SecurityException {


// 30-49: Control Packets
//instance.registerPacket(0x0030, PacketInReload.class); TODO
//instance.registerPacket(0x0030, PacketInReload.class); // TODO
instance.registerPacket(0x0031, PacketCreateServer.class);
//instance.registerPacket(0x0032, PacketAddServer.class); TODO
//instance.registerPacket(0x0032, PacketAddServer.class); // TODO
instance.registerPacket(0x0033, PacketStartServer.class);
//instance.registerPacket(0x0034, PacketEditServer.class); TODO
//instance.registerPacket(0x0034, PacketEditServer.class); // TODO
instance.registerPacket(0x0035, PacketRestartServer.class);
instance.registerPacket(0x0036, PacketCommandServer.class);
instance.registerPacket(0x0037, PacketStopServer.class);
//instance.registerPacket(0x0038, PacketRemoveServer.class); TODO
//instance.registerPacket(0x0039, PacketDeleteServer.class); TODO
//instance.registerPacket(0x0038, PacketRemoveServer.class); // TODO
//instance.registerPacket(0x0039, PacketDeleteServer.class); // TODO

//instance.registerPacket(0x0030, new PacketInReload(plugin)); TODO
//instance.registerPacket(0x0030, new PacketInReload(plugin)); // TODO
instance.registerPacket(0x0031, new PacketCreateServer(plugin));
//instance.registerPacket(0x0032, new PacketAddServer(plugin)); TODO
//instance.registerPacket(0x0032, new PacketAddServer(plugin)); // TODO
instance.registerPacket(0x0033, new PacketStartServer(plugin));
//instance.registerPacket(0x0034, new PacketEditServer(plugin)); TODO
//instance.registerPacket(0x0034, new PacketEditServer(plugin)); // TODO
instance.registerPacket(0x0035, new PacketRestartServer(plugin));
instance.registerPacket(0x0036, new PacketCommandServer(plugin));
instance.registerPacket(0x0037, new PacketStopServer(plugin));
//instance.registerPacket(0x0038, new PacketRemoveServer(plugin)); TODO
//instance.registerPacket(0x0039, new PacketDeleteServer(plugin)); TODO
//instance.registerPacket(0x0038, new PacketRemoveServer(plugin)); // TODO
//instance.registerPacket(0x0039, new PacketDeleteServer(plugin)); // TODO


// 50-69: External Host Packets
Expand Down
67 changes: 40 additions & 27 deletions SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java
Expand Up @@ -149,46 +149,59 @@ protected SubPlugin(PrintStream out, boolean isPatched) throws IOException {
}
}

if (new UniversalFile(dir, "Recently Deleted").exists()) {
int f = new UniversalFile(dir, "Recently Deleted").listFiles().length;
for (File file : new UniversalFile(dir, "Recently Deleted").listFiles()) {
try {
if (file.isDirectory()) {
if (new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json").exists()) {
FileReader reader = new FileReader(new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json"));
YAMLSection info = new YAMLSection(new Gson().fromJson(Util.readAll(reader), Map.class));
reader.close();
if (info.contains("Timestamp")) {
if (TimeUnit.MILLISECONDS.toDays(Calendar.getInstance().getTime().getTime() - info.getLong("Timestamp")) >= 7) {
Runnable clean = () -> {
try {
if (new UniversalFile(dir, "Recently Deleted").exists()) {
int f = new UniversalFile(dir, "Recently Deleted").listFiles().length;
for (File file : new UniversalFile(dir, "Recently Deleted").listFiles()) {
try {
if (file.isDirectory()) {
if (new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json").exists()) {
FileReader reader = new FileReader(new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json"));
YAMLSection info = new YAMLSection(new Gson().fromJson(Util.readAll(reader), Map.class));
reader.close();
if (info.contains("Timestamp")) {
if (TimeUnit.MILLISECONDS.toDays(Calendar.getInstance().getTime().getTime() - info.getLong("Timestamp")) >= 7) {
Util.deleteDirectory(file);
f--;
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
}
} else {
Util.deleteDirectory(file);
f--;
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
}
} else {
Util.deleteDirectory(file);
f--;
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
}
} else {
Util.deleteDirectory(file);
Files.delete(file.toPath());
f--;
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
}
} else {
Util.deleteDirectory(file);
f--;
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
} catch (Exception e) {
System.out.println("SubServers > Problem scanning ~/SubServers/Recently Deleted/" + file.getName());
e.printStackTrace();
Files.delete(file.toPath());
}
} else {
Files.delete(file.toPath());
f--;
System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName());
}
} catch (Exception e) {
System.out.println("SubServers > Problem scanning ~/SubServers/Recently Deleted/" + file.getName());
e.printStackTrace();
Files.delete(file.toPath());
if (f <= 0) {
Files.delete(new UniversalFile(dir, "Recently Deleted").toPath());
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (f <= 0) {
Files.delete(new UniversalFile(dir, "Recently Deleted").toPath());
};
clean.run();
new Timer("SubServers.Bungee::Recycle_Cleaner").scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
clean.run();
}
}
}, TimeUnit.DAYS.toMillis(7), TimeUnit.DAYS.toMillis(7));

api.addHostDriver(net.ME1312.SubServers.Bungee.Host.Internal.InternalHost.class, "built-in");
api.addHostDriver(net.ME1312.SubServers.Bungee.Host.External.ExternalHost.class, "network");
Expand Down

0 comments on commit 7f23668

Please sign in to comment.