Skip to content

Commit 0c3172d

Browse files
authored
GH-157 Fix potential leaks (#157)
* Close responses, delete unused methods. * Close responses. Fix potential leaks.
1 parent dd3b26d commit 0c3172d

File tree

8 files changed

+13
-37
lines changed

8 files changed

+13
-37
lines changed

src/main/java/com/eternalcode/discordapp/database/DatabaseManager.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,6 @@ public void connect() throws SQLException {
6262
this.connectionSource = new DataSourceConnectionSource(this.hikariDataSource, this.hikariDataSource.getJdbcUrl());
6363
}
6464

65-
public void closeConnection() throws Exception {
66-
this.hikariDataSource.close();
67-
this.connectionSource.close();
68-
}
69-
7065
public ConnectionSource getConnectionSource() {
7166
return this.connectionSource;
7267
}

src/main/java/com/eternalcode/discordapp/leveling/LevelService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public LevelService(DatabaseManager databaseManager) {
1313
this.levelRepository = LevelRepositoryImpl.create(databaseManager);
1414
}
1515

16-
public CompletableFuture<Level> saveLevel(Level level) {
17-
return this.levelRepository.saveLevel(level);
16+
public void saveLevel(Level level) {
17+
this.levelRepository.saveLevel(level);
1818
}
1919

2020
public CompletableFuture<Level> find(long id) {

src/main/java/com/eternalcode/discordapp/leveling/experience/ExperienceService.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.eternalcode.discordapp.database.DatabaseManager;
44
import com.eternalcode.discordapp.observer.ObserverRegistry;
55

6-
import java.util.List;
76
import java.util.concurrent.CompletableFuture;
87
import java.util.function.LongSupplier;
98

@@ -17,14 +16,6 @@ public ExperienceService(DatabaseManager databaseManager, ObserverRegistry obser
1716
this.observerRegistry = observerRegistry;
1817
}
1918

20-
public CompletableFuture<Experience> saveExperience(Experience experience, LongSupplier channelId) {
21-
return this.experienceRepository.saveExperience(experience).whenComplete((experience1, throwable) -> {
22-
if (throwable == null) {
23-
this.observerRegistry.publish(new ExperienceChangeEvent(experience1, channelId));
24-
}
25-
});
26-
}
27-
2819
public CompletableFuture<Experience> modifyPoints(long userId, double points, boolean add, LongSupplier channelId) {
2920
return this.experienceRepository.modifyPoints(userId, points, add).whenComplete((experience, throwable) -> {
3021
if (throwable == null) {
@@ -33,8 +24,4 @@ public CompletableFuture<Experience> modifyPoints(long userId, double points, bo
3324
});
3425
}
3526

36-
public CompletableFuture<List<Experience>> getTop(int limit, long offset) {
37-
return this.experienceRepository.getTop(limit, offset);
38-
}
39-
4027
}

src/main/java/com/eternalcode/discordapp/review/GitHubReviewService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import java.io.IOException;
77
import java.util.ArrayList;
88
import java.util.List;
9-
import java.util.logging.Level;
109
import java.util.logging.Logger;
1110
import net.dv8tion.jda.api.JDA;
1211
import net.dv8tion.jda.api.entities.Guild;

src/main/java/com/eternalcode/discordapp/review/GitHubReviewUtil.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ public static List<String> getReviewers(GitHubPullRequest pullRequest, String gi
4949
JsonArray requestedReviewers = json.getAsJsonArray("requested_reviewers");
5050

5151
List<String> reviewers = new ArrayList<>();
52+
response.close();
53+
5254
for (int i = 0; i < requestedReviewers.size(); i++) {
5355
JsonObject reviewer = requestedReviewers.get(i).getAsJsonObject();
5456
String reviewerLogin = reviewer.get("login").getAsString();
@@ -78,6 +80,7 @@ public static String getPullRequestTitleFromUrl(GitHubPullRequest pullRequest, S
7880

7981
String string = response.body().string();
8082
JsonObject jsonObject = JsonParser.parseString(string).getAsJsonObject();
83+
response.close();
8184

8285
return jsonObject.get("title").getAsString();
8386
}
@@ -94,6 +97,8 @@ public static boolean isPullRequestMerged(GitHubPullRequest pullRequest, String
9497
}
9598

9699
JsonObject json = GSON.fromJson(response.body().string(), JsonObject.class);
100+
response.close();
101+
97102
return json.get("merged").getAsBoolean();
98103
}
99104

@@ -110,6 +115,8 @@ public static boolean isPullRequestClosed(GitHubPullRequest pullRequest, String
110115

111116
JsonObject json = GSON.fromJson(response.body().string(), JsonObject.class);
112117
String state = json.get("state").getAsString();
118+
response.close();
119+
113120

114121
return "closed".equalsIgnoreCase(state);
115122
}

src/main/java/com/eternalcode/discordapp/user/UserRepositoryException.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/com/eternalcode/discordapp/user/UserRepositoryImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ protected UserRepositoryImpl(DatabaseManager databaseManager) {
1818
super(databaseManager, UserWrapper.class);
1919
}
2020

21-
public static UserRepository create(DatabaseManager databaseManager) {
21+
public static void create(DatabaseManager databaseManager) {
2222
try {
2323
TableUtils.createTableIfNotExists(databaseManager.getConnectionSource(), UserWrapper.class);
2424
}
@@ -27,7 +27,7 @@ public static UserRepository create(DatabaseManager databaseManager) {
2727
throw new DataAccessException("Failed to create table", sqlException);
2828
}
2929

30-
return new UserRepositoryImpl(databaseManager);
30+
new UserRepositoryImpl(databaseManager);
3131
}
3232

3333
@Override

src/test/java/com/eternalcode/discordapp/review/GitHubReviewUtilTest.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,7 @@ Stream<DynamicTest> testValidPullRequestTitles() {
7878
"GH-123 This is a valid title",
7979
"GH-123 Another valid title"
8080
)
81-
.map(title -> dynamicTest("Valid Title: " + title, () -> {
82-
assertTrue(GitHubReviewUtil.isPullRequestTitleValid(title));
83-
}));
81+
.map(title -> dynamicTest("Valid Title: " + title, () -> assertTrue(GitHubReviewUtil.isPullRequestTitleValid(title))));
8482
}
8583

8684
@TestFactory
@@ -90,9 +88,7 @@ Stream<DynamicTest> testInvalidPullRequestTitles() {
9088
"This is an invalid title",
9189
"GH- This title has an invalid number"
9290
)
93-
.map(title -> dynamicTest("Invalid Title: " + title, () -> {
94-
assertFalse(GitHubReviewUtil.isPullRequestTitleValid(title));
95-
}));
91+
.map(title -> dynamicTest("Invalid Title: " + title, () -> assertFalse(GitHubReviewUtil.isPullRequestTitleValid(title))));
9692
}
9793

9894
@Test

0 commit comments

Comments
 (0)