diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..e77d398c72b24fb5dd1643eff7d26c1c70faffab --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = tab +indent_size = 4 + +[*.yml] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..842380dae0463548dc0cbfb3e74636c57cdc0526 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,17 @@ +language: java + +dist: trusty + +cache: + directories: + - $HOME/.m2 + +jdk: + - oraclejdk11 + - openjdk11 + +os: + - linux + +branches: + except: [] diff --git a/build.gradle b/build.gradle index 265d280a1b52b87936bb8d1a5faf661298553fc5..b48488a34952496a6a5063df8fd898c7e1f6c3f5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,27 +1,17 @@ -buildscript { - repositories { - jcenter() - } - - dependencies { - classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0' - } +plugins { + id 'java' + id 'application' } -// Apply the java plugin to add support for Java -apply plugin: 'java' - -// Apply the application plugin to add support for building an application -apply plugin: 'application' - -apply plugin: 'com.github.ben-manes.versions' +sourceCompatibility = JavaVersion.VERSION_11 repositories { - jcenter() + mavenCentral() + jcenter() } // Define the main class for the application -mainClassName = 'App' +mainClassName = 'de.thro.inf.prg3.a11.App' dependencies { /* Commons Lang3 */ @@ -32,9 +22,16 @@ dependencies { implementation "com.squareup.retrofit2:converter-gson:$retrofit2_version" /* JUnit 5 */ - testImplementation("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}") - testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}") - testRuntime("org.junit.platform:junit-platform-launcher:${junitPlatformVersion}") + testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}") + testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitVersion}") + testRuntime("org.junit.jupiter:junit-jupiter-params:${junitVersion}") testRuntime("org.apache.logging.log4j:log4j-core:${log4jVersion}") testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}") -} \ No newline at end of file +} + +test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + } +} diff --git a/gradle.properties b/gradle.properties index 0f59cd88c3f14b55737295c90017777b7ce12c1e..99199f279c092639266d6c1ff1b94d6250cea621 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,4 @@ -commons_lang_version=3.7 -retrofit2_version=2.3.0 -junitPlatformVersion = 1.1.0-M1 -junitJupiterVersion = 5.1.0-M1 -log4jVersion = 2.10.0 \ No newline at end of file +commons_lang_version=3.8.1 +retrofit2_version=2.5.0 +log4jVersion = 2.11.1 +junitVersion=5.3.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 01b8bf6b1f99cad9213fc495b33ad5bbab8efd20..457aad0d98108420a977756b7145c93c8910b076 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 933b6473ce1ea83ca681969501e2c05453c313a1..6295dd776c08edd99de1b29fe9549e12509bb80d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Thu Dec 13 17:32:22 CET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip diff --git a/gradlew b/gradlew index cccdd3d517fc5249beaefa600691cf150f2fa3e6..af6708ff229fda75da4f7cc4da4747217bac4d53 100755 --- a/gradlew +++ b/gradlew @@ -28,7 +28,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/gradlew.bat b/gradlew.bat index f9553162f122c71b34635112e717c3e733b5b212..6d57edc706c93465988754383a2d7ff353d4e79f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/src/main/java/de/fhro/inf/prg3/a11/App.java b/src/main/java/de/thro/inf/prg3/a11/App.java similarity index 96% rename from src/main/java/de/fhro/inf/prg3/a11/App.java rename to src/main/java/de/thro/inf/prg3/a11/App.java index 59ef3edb02ebe31260afed03b6a065d50778134d..5091ba614c9d43b7ff84d5a0f5d40c80a8f3f256 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/App.java +++ b/src/main/java/de/thro/inf/prg3/a11/App.java @@ -1,7 +1,7 @@ -package de.fhro.inf.prg3.a11; +package de.thro.inf.prg3.a11; -import de.fhro.inf.prg3.a11.openmensa.OpenMensaAPI; -import de.fhro.inf.prg3.a11.openmensa.OpenMensaAPIService; +import de.thro.inf.prg3.a11.openmensa.OpenMensaAPI; +import de.thro.inf.prg3.a11.openmensa.OpenMensaAPIService; import java.text.ParseException; import java.text.SimpleDateFormat; diff --git a/src/main/java/de/fhro/inf/prg3/a11/MenuSelection.java b/src/main/java/de/thro/inf/prg3/a11/MenuSelection.java similarity index 84% rename from src/main/java/de/fhro/inf/prg3/a11/MenuSelection.java rename to src/main/java/de/thro/inf/prg3/a11/MenuSelection.java index 5d73375277f86a30c1174d05be318e4a2a5b1430..e6d988124824730bedc94639bd866e526e6db291 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/MenuSelection.java +++ b/src/main/java/de/thro/inf/prg3/a11/MenuSelection.java @@ -1,4 +1,4 @@ -package de.fhro.inf.prg3.a11; +package de.thro.inf.prg3.a11; /** * @author Peter Kurfer diff --git a/src/main/java/de/fhro/inf/prg3/a11/openmensa/OpenMensaAPI.java b/src/main/java/de/thro/inf/prg3/a11/openmensa/OpenMensaAPI.java similarity index 90% rename from src/main/java/de/fhro/inf/prg3/a11/openmensa/OpenMensaAPI.java rename to src/main/java/de/thro/inf/prg3/a11/openmensa/OpenMensaAPI.java index ba15e5485e5b415aa9b2efa9a98eff6b2a29bc5a..d3893746ac11f03ec1c348c3c427aa3420b9b437 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/openmensa/OpenMensaAPI.java +++ b/src/main/java/de/thro/inf/prg3/a11/openmensa/OpenMensaAPI.java @@ -1,8 +1,8 @@ -package de.fhro.inf.prg3.a11.openmensa; +package de.thro.inf.prg3.a11.openmensa; -import de.fhro.inf.prg3.a11.openmensa.model.Canteen; -import de.fhro.inf.prg3.a11.openmensa.model.Meal; -import de.fhro.inf.prg3.a11.openmensa.model.State; +import de.thro.inf.prg3.a11.openmensa.model.Canteen; +import de.thro.inf.prg3.a11.openmensa.model.Meal; +import de.thro.inf.prg3.a11.openmensa.model.State; import retrofit2.Response; import retrofit2.http.GET; import retrofit2.http.Path; diff --git a/src/main/java/de/fhro/inf/prg3/a11/openmensa/OpenMensaAPIService.java b/src/main/java/de/thro/inf/prg3/a11/openmensa/OpenMensaAPIService.java similarity index 96% rename from src/main/java/de/fhro/inf/prg3/a11/openmensa/OpenMensaAPIService.java rename to src/main/java/de/thro/inf/prg3/a11/openmensa/OpenMensaAPIService.java index 53e00b06ede5f6a3ed2db9692681671423b39105..b85303f8b33da5954767f8306441fbc2e0a05a09 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/openmensa/OpenMensaAPIService.java +++ b/src/main/java/de/thro/inf/prg3/a11/openmensa/OpenMensaAPIService.java @@ -1,4 +1,4 @@ -package de.fhro.inf.prg3.a11.openmensa; +package de.thro.inf.prg3.a11.openmensa; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; diff --git a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/Canteen.java b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/Canteen.java similarity index 97% rename from src/main/java/de/fhro/inf/prg3/a11/openmensa/model/Canteen.java rename to src/main/java/de/thro/inf/prg3/a11/openmensa/model/Canteen.java index fa8a9bebf9be9c8353c98cc41cb982e0ecb01844..55c9733bc0153f970a705414af6554e25dd1efeb 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/Canteen.java +++ b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/Canteen.java @@ -1,4 +1,4 @@ -package de.fhro.inf.prg3.a11.openmensa.model; +package de.thro.inf.prg3.a11.openmensa.model; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; diff --git a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/Meal.java b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/Meal.java similarity index 97% rename from src/main/java/de/fhro/inf/prg3/a11/openmensa/model/Meal.java rename to src/main/java/de/thro/inf/prg3/a11/openmensa/model/Meal.java index b55511c349a2e5f4f6a7072dc6a29ce1c1649251..62ec1ac35543095c0fe616e6143cb32979499a6d 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/Meal.java +++ b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/Meal.java @@ -1,4 +1,4 @@ -package de.fhro.inf.prg3.a11.openmensa.model; +package de.thro.inf.prg3.a11.openmensa.model; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; diff --git a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/PageInfo.java b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/PageInfo.java similarity index 97% rename from src/main/java/de/fhro/inf/prg3/a11/openmensa/model/PageInfo.java rename to src/main/java/de/thro/inf/prg3/a11/openmensa/model/PageInfo.java index e85a6f187e8bb99fef83db36a77856a40352e7bb..89106c36e34545655cb6630b3e43fa7b1cc717a7 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/PageInfo.java +++ b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/PageInfo.java @@ -1,10 +1,8 @@ -package de.fhro.inf.prg3.a11.openmensa.model; +package de.thro.inf.prg3.a11.openmensa.model; import okhttp3.Headers; import retrofit2.Response; -import java.util.function.Function; - /** * Utility class to handle HTTP response header containing the pagination information * required to fetch all pages of an entity diff --git a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/State.java b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/State.java similarity index 96% rename from src/main/java/de/fhro/inf/prg3/a11/openmensa/model/State.java rename to src/main/java/de/thro/inf/prg3/a11/openmensa/model/State.java index 352a84ba6e4616db1affe0ad194b23497d623498..9febe811b2cc4e653df1de2400ea4b43c463a1a0 100644 --- a/src/main/java/de/fhro/inf/prg3/a11/openmensa/model/State.java +++ b/src/main/java/de/thro/inf/prg3/a11/openmensa/model/State.java @@ -1,4 +1,4 @@ -package de.fhro.inf.prg3.a11.openmensa.model; +package de.thro.inf.prg3.a11.openmensa.model; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; diff --git a/src/test/java/de/fhro/inf/prg3/a11/tests/OpenMensaApiTests.java b/src/test/java/de/thro/inf/prg3/a11/tests/OpenMensaApiTests.java similarity index 65% rename from src/test/java/de/fhro/inf/prg3/a11/tests/OpenMensaApiTests.java rename to src/test/java/de/thro/inf/prg3/a11/tests/OpenMensaApiTests.java index e17b6c9b3708a9ddd47c222108287b906ced1681..d52e90d7d025cdf7d009d58f96e4c8ca12b36e4f 100644 --- a/src/test/java/de/fhro/inf/prg3/a11/tests/OpenMensaApiTests.java +++ b/src/test/java/de/thro/inf/prg3/a11/tests/OpenMensaApiTests.java @@ -1,17 +1,13 @@ -package de.fhro.inf.prg3.a11.tests; +package de.thro.inf.prg3.a11.tests; -import de.fhro.inf.prg3.a11.openmensa.OpenMensaAPI; -import de.fhro.inf.prg3.a11.openmensa.OpenMensaAPIService; -import de.fhro.inf.prg3.a11.openmensa.model.Canteen; -import de.fhro.inf.prg3.a11.openmensa.model.PageInfo; -import de.fhro.inf.prg3.a11.openmensa.model.State; +import de.thro.inf.prg3.a11.openmensa.OpenMensaAPI; +import de.thro.inf.prg3.a11.openmensa.OpenMensaAPIService; +import de.thro.inf.prg3.a11.openmensa.model.PageInfo; import org.junit.jupiter.api.Test; import retrofit2.HttpException; -import retrofit2.Response; import java.text.SimpleDateFormat; import java.util.Calendar; -import java.util.List; import java.util.Locale; import java.util.concurrent.ExecutionException; @@ -23,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.*; class OpenMensaApiTests { - private static final int FHRO_MENSA_ID = 229; + private static final int THRO_MENSA_ID = 229; private static final String OPEN_MENSA_DATE_FORMAT = "yyyy-MM-dd"; private final SimpleDateFormat dateFormat; private final OpenMensaAPI openMensaAPI; @@ -37,22 +33,22 @@ class OpenMensaApiTests { @Test void testGetFirstMensaPage() throws ExecutionException, InterruptedException { - Response<List<Canteen>> canteensResponse = openMensaAPI.getCanteens().get(); + final var canteensResponse = openMensaAPI.getCanteens().get(); assertNotNull(canteensResponse); assertNotNull(canteensResponse.body()); assertNotEquals(0, canteensResponse.body().size()); - for (Canteen c : canteensResponse.body()) { + for (var c : canteensResponse.body()) { System.out.println(c.getName()); } } @Test void testExtractPageInfo() throws ExecutionException, InterruptedException { - Response<List<Canteen>> canteensResponse = openMensaAPI.getCanteens().get(); + final var canteensResponse = openMensaAPI.getCanteens().get(); - PageInfo pageInfo = PageInfo.extractFromResponse(canteensResponse); + final var pageInfo = PageInfo.extractFromResponse(canteensResponse); assertNotNull(pageInfo); assertEquals(canteensResponse.body().size(), pageInfo.getItemCountPerPage()); @@ -64,7 +60,7 @@ class OpenMensaApiTests { @Test void testGetCanteenState() throws InterruptedException { try { - State mensaState = openMensaAPI.getCanteenState(FHRO_MENSA_ID, dateFormat.format(calendar.getTime())).get(); + final var mensaState = openMensaAPI.getCanteenState(THRO_MENSA_ID, dateFormat.format(calendar.getTime())).get(); assertNotNull(mensaState); }catch (ExecutionException e) { if(e.getCause() instanceof HttpException) { @@ -76,14 +72,14 @@ class OpenMensaApiTests { @Test void testGetMultiplePages() throws ExecutionException, InterruptedException { - Response<List<Canteen>> firstPage = openMensaAPI.getCanteens().get(); + final var firstPage = openMensaAPI.getCanteens().get(); assertNotNull(firstPage); assertNotNull(firstPage.body()); - PageInfo pageInfo = PageInfo.extractFromResponse(firstPage); - for(int i = 2; i <= pageInfo.getTotalCountOfPages(); i++) { - List<Canteen> canteensPage = openMensaAPI.getCanteens(i).get(); + final var pageInfo = PageInfo.extractFromResponse(firstPage); + for(var i = 2; i <= pageInfo.getTotalCountOfPages(); i++) { + var canteensPage = openMensaAPI.getCanteens(i).get(); assertNotNull(canteensPage); assertNotEquals(0, canteensPage.size()); }