Skip to content

Commit e6c22a0

Browse files
feat: news sentiments now cache to disk
1 parent a23464e commit e6c22a0

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>net.swofty</groupId>
88
<artifactId>stockmarkettester</artifactId>
9-
<version>1.1.6</version>
9+
<version>1.1.7</version>
1010

1111
<properties>
1212
<maven.compiler.source>21</maven.compiler.source>

src/main/java/net/swofty/stockmarkettester/fetchers/AlphaVantageFetcher.java

+12
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ private static void loadCacheFromDisk() {
7373
Path earningsPath = cacheDirectory.resolve("earnings_cache.json");
7474
Path metricsPath = cacheDirectory.resolve("metrics_cache.json");
7575
Path incomePath = cacheDirectory.resolve("income_cache.json");
76+
Path sentimentPath = cacheDirectory.resolve("sentiment_cache.json");
7677

7778
if (Files.exists(earningsPath)) {
7879
JsonNode node = mapper.readTree(earningsPath.toFile());
@@ -101,6 +102,16 @@ private static void loadCacheFromDisk() {
101102
incomeCache.put(entry.getKey(), cacheEntry);
102103
});
103104
}
105+
106+
if (Files.exists(sentimentPath)) {
107+
JsonNode node = mapper.readTree(sentimentPath.toFile());
108+
node.fields().forEachRemaining(entry -> {
109+
CacheEntry<List<NewsSentiment>> cacheEntry = mapper.convertValue(entry.getValue(),
110+
mapper.getTypeFactory().constructParametricType(CacheEntry.class,
111+
mapper.getTypeFactory().constructCollectionType(List.class, NewsSentiment.class)));
112+
sentimentCache.put(entry.getKey(), cacheEntry);
113+
});
114+
}
104115
} catch (IOException e) {
105116
// Log error but continue - worst case we start with empty cache
106117
System.err.println("Failed to load cache from disk: " + e.getMessage());
@@ -112,6 +123,7 @@ private static void saveCacheToDisk() {
112123
mapper.writeValue(cacheDirectory.resolve("earnings_cache.json").toFile(), earningsCache);
113124
mapper.writeValue(cacheDirectory.resolve("metrics_cache.json").toFile(), metricsCache);
114125
mapper.writeValue(cacheDirectory.resolve("income_cache.json").toFile(), incomeCache);
126+
mapper.writeValue(cacheDirectory.resolve("sentiment_cache.json").toFile(), sentimentCache);
115127
} catch (IOException e) {
116128
System.err.println("Failed to save cache to disk: " + e.getMessage());
117129
}

0 commit comments

Comments
 (0)