From b7c6e437c5da4a48f3b43d96a57da5f16bda3238 Mon Sep 17 00:00:00 2001 From: Albert Liu Date: Sat, 26 Aug 2023 11:27:29 -0700 Subject: [PATCH 1/3] meh --- src/build/gradle/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/build/gradle/gradle-wrapper.properties b/src/build/gradle/gradle-wrapper.properties index 2e6e5897..070cb702 100644 --- a/src/build/gradle/gradle-wrapper.properties +++ b/src/build/gradle/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 422ae3fa85f8bb9d78c94bafc806c5216aff5059 Mon Sep 17 00:00:00 2001 From: Albert Liu Date: Sat, 26 Aug 2023 11:45:25 -0700 Subject: [PATCH 2/3] upgrades and updates --- build.gradle | 2 +- src/main/java/api/App.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 54a0482e..17196e16 100644 --- a/build.gradle +++ b/build.gradle @@ -50,7 +50,7 @@ spotless { } dependencies { - def javalin = "5.3.0" + def javalin = "5.6.1" annotationProcessor( "io.javalin.community.openapi:openapi-annotation-processor:$javalin" diff --git a/src/main/java/api/App.java b/src/main/java/api/App.java index 59b81d5f..4535d078 100644 --- a/src/main/java/api/App.java +++ b/src/main/java/api/App.java @@ -67,8 +67,10 @@ public String getMessage() { public static final String DESCR_TEMPLATE = """ Schedge is an API to NYU's course catalog. Please note that - this API is a beta build currently under active development - and is subject to change.

+ this API is a beta build currently under development. + This means that changes to the API are possible, but practically + speaking, the API surface has been stable for over a year now. +

If you'd like to contribute, check out the repository.

From 8962abe8372e9ab1932c7955bee20018723bff9d Mon Sep 17 00:00:00 2001 From: Albert Liu Date: Sat, 26 Aug 2023 16:16:38 -0700 Subject: [PATCH 3/3] meh --- src/main/java/api/v1/ListTermsEndpoint.java | 1 - src/main/java/database/SelectTerms.java | 3 -- src/main/java/utils/ArrayJS.java | 1 - src/main/java/utils/Utils.java | 54 ++++++++++----------- src/test/java/test/CoursesTest.java | 12 ++--- 5 files changed, 30 insertions(+), 41 deletions(-) diff --git a/src/main/java/api/v1/ListTermsEndpoint.java b/src/main/java/api/v1/ListTermsEndpoint.java index ad3ed91a..fd00432d 100644 --- a/src/main/java/api/v1/ListTermsEndpoint.java +++ b/src/main/java/api/v1/ListTermsEndpoint.java @@ -7,7 +7,6 @@ import api.*; import io.javalin.http.Context; import io.javalin.openapi.*; -import java.util.*; public final class ListTermsEndpoint extends App.Endpoint { public String getPath() { diff --git a/src/main/java/database/SelectTerms.java b/src/main/java/database/SelectTerms.java index 4cca5732..2f17c9fd 100644 --- a/src/main/java/database/SelectTerms.java +++ b/src/main/java/database/SelectTerms.java @@ -1,10 +1,7 @@ package database; -import static utils.Nyu.*; - import java.sql.*; import java.util.*; -import org.slf4j.*; public final class SelectTerms { static final String SELECT_TERMS = "SELECT DISTINCT term from schools ORDER BY term"; diff --git a/src/main/java/utils/ArrayJS.java b/src/main/java/utils/ArrayJS.java index 1fdeb451..5d2f262e 100644 --- a/src/main/java/utils/ArrayJS.java +++ b/src/main/java/utils/ArrayJS.java @@ -1,7 +1,6 @@ package utils; import java.util.*; -import java.util.function.*; public final class ArrayJS { public interface ArrayFunc { diff --git a/src/main/java/utils/Utils.java b/src/main/java/utils/Utils.java index ce511197..30d3deee 100644 --- a/src/main/java/utils/Utils.java +++ b/src/main/java/utils/Utils.java @@ -1,5 +1,7 @@ package utils; +import static utils.Try.*; + import java.io.*; import java.net.*; import java.nio.charset.StandardCharsets; @@ -10,8 +12,7 @@ import java.util.stream.*; public final class Utils { - private static final BufferedReader inReader = - new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedReader inReader = new BufferedReader(new InputStreamReader(System.in)); public static final class Ref { public T value; @@ -29,17 +30,21 @@ public static void profileWait() { // The profile doesn't actually start automatically, you have to attach // a different program to this. The goal is simply to prevent the program // from making progress until the profiler is attached correctly. - // - Albert Liu, Feb 04, 2022 Fri 00:58 EST - Scanner scanner = new Scanner(inReader); - scanner.nextLine(); + // - Albert Liu, Feb 04, 2022 Fri 00:58 EST + try (Scanner scanner = new Scanner(inReader)) { + scanner.nextLine(); + } } public static String readResource(String path) { InputStream resource = Utils.class.getResourceAsStream(path); - if (resource == null) throw new IllegalArgumentException("Resource doesn't exist: " + path); + if (resource == null) + throw new IllegalArgumentException("Resource doesn't exist: " + path); - return new Scanner(resource, StandardCharsets.UTF_8).useDelimiter("\\A").next(); + try (var scanner = new Scanner(resource, StandardCharsets.UTF_8).useDelimiter("\\A")) { + return scanner.next(); + } } // Read entire file and then get it as a list of lines @@ -74,8 +79,7 @@ public static void writeToFileOrStdout(String file, Object value) { if (file == null) { System.out.println(value); } else { - try { - BufferedWriter writer = new BufferedWriter(new FileWriter(file)); + try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) { writer.write(value.toString() + "\n"); writer.flush(); } catch (IOException e) { @@ -85,14 +89,10 @@ public static void writeToFileOrStdout(String file, Object value) { } public static String readFromFileOrStdin(String file) { - if (file != null) { - try { - return new Scanner(new FileReader(file)).useDelimiter("\\A").next(); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } + var reader = file != null ? tcPass(() -> new BufferedReader(new FileReader(file))) : inReader; + try (var scanner = new Scanner(reader).useDelimiter("\\A")) { + return scanner.next(); } - return new Scanner(inReader).useDelimiter("\\A").next(); } public static DayOfWeek parseDayOfWeek(String dayOfWeek) { @@ -126,7 +126,7 @@ public static void setObject(PreparedStatement stmt, int index, Object obj) thro } public static String getEnvDefault(String name, String defaultValue) { - String value = System.getenv(name); + var value = System.getenv(name); if (value == null) { return defaultValue; } @@ -134,13 +134,13 @@ public static String getEnvDefault(String name, String defaultValue) { } public static int getEnvDefault(String name, int defaultValue) { - var value = Try.tcIgnore(() -> Integer.parseInt(System.getenv(name))); + var value = tcIgnore(() -> Integer.parseInt(System.getenv(name))); return value.orElse(defaultValue); } static class NullWrapper { - int type; - Object value; + final int type; + final Object value; NullWrapper(int type, Object value) { this.type = type; @@ -153,20 +153,16 @@ public static NullWrapper nullable(int type, Object value) { } public static void setArray(PreparedStatement stmt, Object... objs) { - int i = 0; - try { - for (i = 0; i < objs.length; i++) { + tcPass(() -> { + for (int i = 0; i < objs.length; i++) { setObject(stmt, i + 1, objs[i]); } - } catch (Exception e) { - // System.err.println("at index " + i); - throw new RuntimeException(e); - } + }); } public static String stackTrace(Throwable t) { - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); + var sw = new StringWriter(); + var pw = new PrintWriter(sw); t.printStackTrace(pw); return sw.toString(); } diff --git a/src/test/java/test/CoursesTest.java b/src/test/java/test/CoursesTest.java index 641d6fe7..963c6ba1 100644 --- a/src/test/java/test/CoursesTest.java +++ b/src/test/java/test/CoursesTest.java @@ -1,6 +1,5 @@ package test; -import static actions.CopyTermFromProduction.*; import static utils.JsonMapper.*; import static utils.Nyu.*; @@ -11,7 +10,7 @@ public class CoursesTest { @Test public void testFeature182() { - var subjects = new String[] {"CSCI-UA", "SCA-UA_1", "MATH-UA"}; + var subjects = new String[] { "CSCI-UA", "SCA-UA_1", "MATH-UA" }; var testUrl = "/api/courses/sp2021/"; var app = App.makeApp(); @@ -35,7 +34,7 @@ public void testFeature182() { @Test public void testCoursesInvalidSubject() { - var subjects = new String[] {"CSCI-UAd", "CSCI-d", "mEdew"}; + var subjects = new String[] { "CSCI-UAd", "CSCI-d", "mEdew" }; var testUrl = "/api/courses/sp2021/"; var app = App.makeApp(); @@ -49,10 +48,9 @@ public void testCoursesInvalidSubject() { Assert.assertEquals(resp.code(), 400); var body = respBody.string(); - var expected = - "{\"status\":400,\"message\":\"the subject \\\"" - + subject - + "\\\" is invalid for the term Term[semester=sp, year=2021]\"}"; + var expected = "{\"status\":400,\"message\":\"the subject \\\"" + + subject + + "\\\" is invalid for the term Term[semester=sp, year=2021]\"}"; Assert.assertEquals(body.toLowerCase(), expected.toLowerCase()); }