1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-04-10 01:16:39 +02:00
unleash.unleash/unleash-client-java/src/main/java/no/finn/unleash/BackupFileHandler.java
2020-02-20 08:30:12 +01:00

36 lines
1.3 KiB
Java

package no.finn.unleash;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.*;
import java.util.Collections;
class BackupFileHandler {
private static final Logger LOG = LogManager.getLogger();
private static final String BACKUP_FILE =
System.getProperty("java.io.tmpdir") + File.separatorChar + "unleash-repo.json";
ToggleCollection read() {
LOG.info("Unleash will try to load feature toggle states from temporary backup");
try (FileReader reader = new FileReader(BACKUP_FILE)) {
BufferedReader br = new BufferedReader(reader);
return JsonToggleParser.fromJson(br);
} catch (FileNotFoundException e) {
LOG.warn("Unable to locate backup file:'{}'", BACKUP_FILE, e);
} catch (IOException e) {
LOG.error("Failed to read backup file:'{}'", BACKUP_FILE, e);
}
return new ToggleCollection(Collections.emptyList());
}
void write(ToggleCollection toggleCollection) {
try (FileWriter writer = new FileWriter(BACKUP_FILE)) {
writer.write(JsonToggleParser.toJsonString(toggleCollection));
} catch (IOException e) {
LOG.warn("Unleash was unable to backup feature toggles to file: {}", BACKUP_FILE, e);
}
}
}