mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-29 06:57:40 +02:00
parent
daa1973d01
commit
8d4e1d592b
@ -20,10 +20,14 @@ import com.djrapitops.plan.TaskSystem;
|
|||||||
import com.djrapitops.plan.settings.config.ConfigNode;
|
import com.djrapitops.plan.settings.config.ConfigNode;
|
||||||
import com.djrapitops.plan.settings.config.PlanConfig;
|
import com.djrapitops.plan.settings.config.PlanConfig;
|
||||||
import com.djrapitops.plan.storage.file.PlanFiles;
|
import com.djrapitops.plan.storage.file.PlanFiles;
|
||||||
|
import com.djrapitops.plan.utilities.logging.ErrorContext;
|
||||||
|
import com.djrapitops.plan.utilities.logging.ErrorLogger;
|
||||||
import net.playeranalytics.plugin.scheduling.RunnableFactory;
|
import net.playeranalytics.plugin.scheduling.RunnableFactory;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.UncheckedIOException;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@ -37,11 +41,13 @@ public class ResourceWriteTask extends TaskSystem.Task {
|
|||||||
|
|
||||||
private final PlanConfig config;
|
private final PlanConfig config;
|
||||||
private final PlanFiles files;
|
private final PlanFiles files;
|
||||||
|
private final ErrorLogger errorLogger;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ResourceWriteTask(PlanConfig config, PlanFiles files) {
|
public ResourceWriteTask(PlanConfig config, PlanFiles files, ErrorLogger errorLogger) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.files = files;
|
this.files = files;
|
||||||
|
this.errorLogger = errorLogger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -57,7 +63,15 @@ public class ResourceWriteTask extends TaskSystem.Task {
|
|||||||
for (ConfigNode child : planCustomizationNode.get().getChildren()) {
|
for (ConfigNode child : planCustomizationNode.get().getChildren()) {
|
||||||
if (child.getBoolean()) {
|
if (child.getBoolean()) {
|
||||||
String resource = child.getKey(false).replace(',', '.');
|
String resource = child.getKey(false).replace(',', '.');
|
||||||
|
try {
|
||||||
resourceService.getResource("Plan", resource, () -> files.getResourceFromJar("web/" + resource).asWebResource());
|
resourceService.getResource("Plan", resource, () -> files.getResourceFromJar("web/" + resource).asWebResource());
|
||||||
|
} catch (UncheckedIOException resourceNoLongerFound) {
|
||||||
|
if (!(resourceNoLongerFound.getCause() instanceof FileNotFoundException)) {
|
||||||
|
errorLogger.error(resourceNoLongerFound, ErrorContext.builder()
|
||||||
|
.whatToDo("A resource could not be read from the jar: " + resource + ", try restarting the server. Report this if error still occurs afterwards: " + resourceNoLongerFound.getMessage())
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user