diff --git a/README.md b/README.md index e160638d..4745fe28 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ [![Build Status](https://travis-ci.org/Longi94/JavaSteam.svg?branch=master)](https://travis-ci.org/Longi94/JavaSteam) [![codecov](https://codecov.io/gh/Longi94/JavaSteam/branch/master/graph/badge.svg)](https://codecov.io/gh/Longi94/JavaSteam) [![Discord](https://img.shields.io/discord/420907597906968586.svg)](https://discord.gg/8F2JuTu) -Work-in-progress Java port of [SteamKit2](https://github.com/SteamRE/SteamKit). JavaSteam targets Java 7. +Work-in-progress Java port of [SteamKit2](https://github.com/SteamRE/SteamKit). JavaSteam targets Java 8. ## Download -Version 1.1.0 is available through [Maven](https://mvnrepository.com/artifact/in.dragonbra/javasteam) +Latest version is available through [Maven](https://mvnrepository.com/artifact/in.dragonbra/javasteam) If you get a `java.security.InvalidKeyException: Illegal key size or default parameters` exception when trying to encrypt a message you need to download the [Unlimited Strength Jurisdiction Policy Files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) and place them under `${java.home}/jre/lib/security/`. See [this stackoverflow question](https://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters). @@ -47,21 +47,25 @@ Maven Gradle ```groovy -implementation 'org.bouncycastle:bcprov-jdk15on:1.69' // NON-ANDROID ONLY -implementation 'com.madgag.spongycastle:prov:1.58.0.0' // ANDROID ONLY +// https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on +implementation 'org.bouncycastle:bcprov-jdk15on:x.y.z>' // NON-ANDROID ONLY +// https://mvnrepository.com/artifact/com.madgag.spongycastle/prov +implementation 'com.madgag.spongycastle:prov:x.y.z' // ANDROID ONLY ``` Maven ```xml + org.bouncycastle bcprov-jdk15on - 1.69 + x.y.z + com.madgag.spongycastle prov - 1.58.0.0 + x.y.z ``` diff --git a/build.gradle b/build.gradle index 17ef8784..8d9275dd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,159 +1,163 @@ -import in.dragonbra.steamlanguagegen.SteamLanguageGenPlugin - -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17' - } +//file:noinspection GroovyAssignabilityCheck + +// https://mvnrepository.com/artifact/io.github.gradle-nexus/publish-plugin +// https://mvnrepository.com/artifact/com.google.protobuf/protobuf-gradle-plugin +plugins { + id "io.github.gradle-nexus.publish-plugin" version "1.1.0" + id 'com.google.protobuf' version "0.9.1" + id 'jacoco' + id 'java' + id 'maven-publish' + id 'signing' + id 'steamlanguagegen' + id 'projectversiongen' } -group 'in.dragonbra' -version '1.1.0' - allprojects { group 'in.dragonbra' - version '1.1.0' + version '1.2.0-SNAPSHOT' } -apply plugin: 'maven' -apply plugin: 'signing' -apply plugin: 'java' -apply plugin: 'com.google.protobuf' -apply plugin: 'jacoco' -apply plugin: SteamLanguageGenPlugin - -sourceCompatibility = 1.7 +sourceCompatibility = 1.8 repositories { mavenCentral() } -dependencies { - implementation 'com.google.code.gson:gson:2.8.9' - implementation 'com.google.protobuf:protobuf-java:3.19.3' - implementation 'com.squareup.okhttp3:okhttp:3.14.9' - implementation 'commons-validator:commons-validator:1.7' - implementation 'org.apache.commons:commons-lang3:3.12.0' - implementation 'org.java-websocket:Java-WebSocket:1.5.2' - testCompile 'com.squareup.okhttp3:mockwebserver:3.14.9' - testCompile 'commons-codec:commons-codec:1.15' - testCompile 'commons-io:commons-io:2.11.0' - testCompile 'junit:junit:4.13.2' - testCompile 'org.bouncycastle:bcprov-jdk15on:1.69' - testCompile 'org.mockito:mockito-core:3.12.4' - testCompile 'pl.pragmatists:JUnitParams:1.1.1' +// https://mvnrepository.com/artifact/com.google.protobuf/protoc +protobuf.protoc { + artifact = 'com.google.protobuf:protoc:3.21.12' } -protobuf { - protoc { - artifact = 'com.google.protobuf:protoc:3.18.0' - } -} +// https://www.eclemma.org/jacoco +jacoco.toolVersion = "0.8.8" -jacoco { - toolVersion = "0.8.7" +jacocoTestReport.reports { + xml.required = true + html.required = false } -jacocoTestReport { - reports { - xml.enabled true - html.enabled false - } +javadoc { + exclude "**/in/dragonbra/javasteam/protobufs/**" } -sourceSets { - main { - java { - srcDirs += new File(buildDir, 'generated/source/steamd/main/java') - srcDirs += new File(buildDir, 'generated/source/proto/main/java') - srcDirs += new File(buildDir, 'generated/source/javasteam/main/java') - } - } +test { + useJUnitPlatform() } -task sourcesJar(type: Jar, dependsOn: classes) { - classifier = 'sources' - from sourceSets.main.allSource +java { + withSourcesJar() + withJavadocJar() } -task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' - from javadoc.destinationDir +// Note: Only allow junit 5 +configurations { + configureEach { + exclude group: 'junit', module: 'junit' + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' + } } -task generatVersionClass { - def generatedDir = file("$buildDir/generated/source/javasteam/main/java") - def outputDir = file("$generatedDir/in/dragonbra/javasteam/util") - outputs.dir outputDir - doFirst { - outputDir.exists() || outputDir.mkdirs() - new File(outputDir, "Versions.java") - .write("""package in.dragonbra.javasteam.util; - -public class Versions { - public static final String VERSION = \"$project.version\"; -}""") - } +// Note: builtBy() fixes gradle warning "Execution optimizations have been disabled for task" +sourceSets.main { + java.srcDirs( + files("build/generated/source/steamd/main/java").builtBy(generateSteamLanguage), + files("build/generated/source/javasteam/main/java").builtBy(generateProjectVersion) + ) } -compileJava.dependsOn generatVersionClass -compileJava.dependsOn generateSteamLanguage check.dependsOn jacocoTestReport +compileJava.dependsOn(generateSteamLanguage) +compileJava.dependsOn(generateProjectVersion) -javadoc { - exclude "**/in/dragonbra/javasteam/protobufs/**" -} - -artifacts { - archives sourcesJar - archives javadocJar +dependencies { + // https://mvnrepository.com/artifact/com.google.code.gson/gson + implementation 'com.google.code.gson:gson:2.10' + // https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java + implementation 'com.google.protobuf:protobuf-java:3.21.12' + // https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp + implementation 'com.squareup.okhttp3:okhttp:4.10.0' + // https://mvnrepository.com/artifact/commons-validator/commons-validator + implementation 'commons-validator:commons-validator:1.7' + // https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 + implementation 'org.apache.commons:commons-lang3:3.12.0' + // https://mvnrepository.com/artifact/org.java-websocket/Java-WebSocket + implementation 'org.java-websocket:Java-WebSocket:1.5.3' + + /* Unit Testing */ + + // https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver3-junit5 + testImplementation 'com.squareup.okhttp3:mockwebserver3-junit5:5.0.0-alpha.10' + // https://mvnrepository.com/artifact/commons-codec/commons-codec + testImplementation 'commons-codec:commons-codec:1.15' + // https://mvnrepository.com/artifact/commons-io/commons-io + testImplementation 'commons-io:commons-io:2.11.0' + // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1' + // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine + testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.9.1' + // https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on + testImplementation 'org.bouncycastle:bcprov-jdk15on:1.70' + // https://mvnrepository.com/artifact/org.mockito/mockito-core + testImplementation 'org.mockito:mockito-core:4.10.0' + // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params + testImplementation 'org.junit.jupiter:junit-jupiter-params:5.9.1' + // https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter + testImplementation 'org.mockito:mockito-junit-jupiter:4.10.0' } -signing { - sign configurations.archives -} +/* Artifact publishing */ -uploadArchives { +nexusPublishing { repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - pom.project { - name 'JavaSteam' - packaging 'jar' - description 'Java library to interact with Valve\'s Steam network.' - url 'https://github.com/Longi94/JavaSteam' - inceptionYear '2018' + sonatype() + } +} +publishing { + publications { + mavenJava(MavenPublication) { + from(components.java) + pom { + name = 'JavaSteam' + packaging = 'jar' + description = 'Java library to interact with Valve\'s Steam network.' + url = 'https://github.com/Longi94/JavaSteam' + inceptionYear = '2018' scm { - connection 'scm:git:git://github.com/Longi94/JavaSteam.git' - developerConnection 'scm:git:ssh://github.com:Longi94/JavaSteam.git' - url 'http://github.com/Longi94/JavaSteam/tree/master' + connection = 'scm:git:git://github.com/Longi94/JavaSteam.git' + developerConnection = 'scm:git:ssh://github.com:Longi94/JavaSteam.git' + url = 'http://github.com/Longi94/JavaSteam/tree/master' } - licenses { license { - name 'MIT License' - url 'http://www.opensource.org/licenses/mit-license.php' + name = 'MIT License' + url = 'http://www.opensource.org/licenses/mit-license.php' } } - developers { developer { - id 'Longi' - name 'Long Tran' - email 'lngtrn94@gmail.com' + id = 'Longi' + name = 'Long Tran' + email = 'lngtrn94@gmail.com' } } } } } + repositories { + maven { + def stagingRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/' + def snapshotRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots/' + url = version.endsWith('SNAPSHOT') ? snapshotRepoUrl : stagingRepoUrl + credentials { + username = ossrhUsername ?: '' + password = ossrhPassword ?: '' + } + } + } +} + +signing { + sign publishing.publications.mavenJava } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index e308da94..d86ced53 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -1,11 +1,35 @@ -apply plugin: 'groovy' +//file:noinspection GroovyAssignabilityCheck + +plugins { + id 'groovy' + id 'java-gradle-plugin' +} repositories { mavenCentral() } dependencies { - compile gradleApi() - compile localGroovy() + implementation gradleApi() + implementation localGroovy() + + // https://mvnrepository.com/artifact/commons-io/commons-io implementation 'commons-io:commons-io:2.11.0' } + +gradlePlugin { + plugins { + create("steamlanguagegen") { + id = "steamlanguagegen" + implementationClass = "in.dragonbra.steamlanguagegen.SteamLanguageGenPlugin" + version = "1.0.0" + group = "in.dragonbra.steamlanguagegen" + } + create("projectversiongen") { + id = "projectversiongen" + implementationClass = "in.dragonbra.versiongen.VersionGenPlugin" + version = "1.0.0" + group = "in.dragonbra.versiongen" + } + } +} diff --git a/buildSrc/src/main/groovy/in/dragonbra/versiongen/VersionGenPlugin.groovy b/buildSrc/src/main/groovy/in/dragonbra/versiongen/VersionGenPlugin.groovy new file mode 100644 index 00000000..026894f5 --- /dev/null +++ b/buildSrc/src/main/groovy/in/dragonbra/versiongen/VersionGenPlugin.groovy @@ -0,0 +1,12 @@ +package in.dragonbra.versiongen + +import org.gradle.api.Plugin +import org.gradle.api.Project + +@SuppressWarnings("GroovyUnusedDeclaration") +class VersionGenPlugin implements Plugin { + @Override + void apply(Project project) { + project.getTasks().register("generateProjectVersion", VersionGenTask.class) + } +} diff --git a/buildSrc/src/main/groovy/in/dragonbra/versiongen/VersionGenTask.groovy b/buildSrc/src/main/groovy/in/dragonbra/versiongen/VersionGenTask.groovy new file mode 100644 index 00000000..f0f96bcd --- /dev/null +++ b/buildSrc/src/main/groovy/in/dragonbra/versiongen/VersionGenTask.groovy @@ -0,0 +1,26 @@ +package in.dragonbra.versiongen + +import in.dragonbra.versiongen.generator.JavaGen +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.TaskAction + +class VersionGenTask extends DefaultTask { + + private String _package = 'in.dragonbra.javasteam.util' + + private File outputDir = new File(project.buildDir, "generated/source/javasteam/main/java/$_package") + + @OutputDirectory + File getOutputDir() { + return outputDir + } + + @TaskAction + def generate() { + def javaGen = new JavaGen(_package, outputDir) + javaGen.emit("Versions", project.version.toString()) + javaGen.flush() + javaGen.close() + } +} diff --git a/buildSrc/src/main/groovy/in/dragonbra/versiongen/generator/JavaGen.groovy b/buildSrc/src/main/groovy/in/dragonbra/versiongen/generator/JavaGen.groovy new file mode 100644 index 00000000..53c38fbf --- /dev/null +++ b/buildSrc/src/main/groovy/in/dragonbra/versiongen/generator/JavaGen.groovy @@ -0,0 +1,48 @@ +package in.dragonbra.versiongen.generator + +import in.dragonbra.steamlanguagegen.generator.JavaFileWriter + +class JavaGen implements Closeable, Flushable { + + private JavaFileWriter writer + + private String _package + + private File destination + + JavaGen(String _package, File destination) { + this._package = _package + this.destination = destination + } + + void emit(String classname, String version) throws IOException { + if (!destination.exists() && !destination.isDirectory() && !destination.mkdirs()) { + throw new IllegalStateException('Couldn\'t create folders') + } + + def file = new File(destination, "${classname}.java") + + this.writer = new JavaFileWriter(file) + writer.writeln "package $_package;" + writer.writeln() + writer.writeln "public class $classname {" + writer.indent() + writer.writeln "public static final String VERSION = \"$version\";" + writer.unindent() + writer.writeln '}' + } + + @Override + void close() throws IOException { + if (writer != null) { + writer.close() + } + } + + @Override + void flush() throws IOException { + if (writer != null) { + writer.flush() + } + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2d169611..e708b1c0 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 e0968ab3..070cb702 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Thu Feb 15 11:36:56 CET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-all.zip diff --git a/gradlew b/gradlew index cccdd3d5..4f906e0c 100755 --- a/gradlew +++ b/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,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" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -66,6 +82,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -109,10 +126,11 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath @@ -138,19 +156,19 @@ if $cygwin ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi @@ -159,14 +177,9 @@ save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } -APP_ARGS=$(save "$@") +APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index f9553162..107acd32 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -13,15 +29,18 @@ if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @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" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -35,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -45,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/javasteam-samples/build.gradle b/javasteam-samples/build.gradle index ccd4f029..46b68348 100644 --- a/javasteam-samples/build.gradle +++ b/javasteam-samples/build.gradle @@ -1,7 +1,6 @@ -group 'in.dragonbra' -version '1.1.0' - -apply plugin: 'java' +plugins { + id 'java' +} sourceCompatibility = 1.8 @@ -10,11 +9,15 @@ repositories { } dependencies { - compile rootProject + implementation rootProject + + // https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on implementation 'org.bouncycastle:bcprov-jdk15on:1.70' // To access protobufs directly as shown in Sample #2 - implementation 'com.google.protobuf:protobuf-java:3.19.3' + // https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java + implementation 'com.google.protobuf:protobuf-java:3.21.12' - testImplementation 'junit:junit:4.13.2' + // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1' } diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_1logon/SampleLogon.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_1logon/SampleLogon.java index 3cff34dd..3906ea88 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_1logon/SampleLogon.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_1logon/SampleLogon.java @@ -16,7 +16,7 @@ // Sample 1: Logon // // the first act of business before being able to use steamkit2's features is to -// logon to the steam network +// log on to the steam network // // interaction with steamkit is done through client message handlers and the results // come back through a callback queue controlled by a steamclient instance @@ -30,7 +30,7 @@ * @author lngtr * @since 2018-02-23 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleLogon implements Runnable { private SteamClient steamClient; @@ -41,9 +41,9 @@ public class SampleLogon implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; public SampleLogon(String user, String pass) { this.user = user; diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/MyHandler.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/MyHandler.java index fff1ee89..bc03ec23 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/MyHandler.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/MyHandler.java @@ -58,6 +58,7 @@ public void handleMsg(IPacketMsg packetMsg) { // the SteamClient class will pass the message along to every registered ClientMsgHandler // the MsgType exposes the EMsg (type) of the message + //noinspection SwitchStatementWithTooFewBranches switch (packetMsg.getMsgType()) { case ClientLogOnResponse: handleLogonResponse(packetMsg); diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/SampleExtending.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/SampleExtending.java index e4bb4f41..2f48566c 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/SampleExtending.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_2extending/SampleExtending.java @@ -27,7 +27,7 @@ * @author lngtr * @since 2021-10-11 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleExtending implements Runnable { private SteamClient steamClient; @@ -40,9 +40,9 @@ public class SampleExtending implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; public SampleExtending(String user, String pass) { this.user = user; diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_3debuglog/SampleDebugLog.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_3debuglog/SampleDebugLog.java index 5049bd4b..025e4936 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_3debuglog/SampleDebugLog.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_3debuglog/SampleDebugLog.java @@ -38,7 +38,7 @@ * @author lngtr * @since 2021-10-11 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleDebugLog implements Runnable { private SteamClient steamClient; @@ -49,16 +49,16 @@ public class SampleDebugLog implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; // define our debuglog listener static class MyListener implements LogListener { // this function will be called when internal steamkit components write to the debuglog @Override - public void onLog(Class clazz, String message, Throwable throwable) { + public void onLog(Class clazz, String message, Throwable throwable) { // for this example, we'll print the output to the console System.out.println("MyListener - " + clazz.getName() + ": " + message); } diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_4friends/SampleFriends.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_4friends/SampleFriends.java index 12c38751..b7cd02cf 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_4friends/SampleFriends.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_4friends/SampleFriends.java @@ -33,7 +33,7 @@ * @author lngtr * @since 2018-02-28 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleFriends implements Runnable { private SteamClient steamClient; @@ -46,9 +46,9 @@ public class SampleFriends implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; public SampleFriends(String user, String pass) { this.user = user; diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_5steamguard/SampleSteamGuardRememberMe.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_5steamguard/SampleSteamGuardRememberMe.java index 944a5765..5318bb90 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_5steamguard/SampleSteamGuardRememberMe.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_5steamguard/SampleSteamGuardRememberMe.java @@ -19,6 +19,7 @@ import java.io.*; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; +import java.nio.file.Files; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Scanner; @@ -28,7 +29,7 @@ // // this sample goes into detail for how to handle steamguard protected accounts and how to login to them // -// SteamGuard works by enforcing a two factor authentication scheme +// SteamGuard works by enforcing a two-factor authentication scheme // upon first logon to an account with SG enabled, the steam server will email an authcode to the validated address of the account // this authcode token can be used as the second factor during logon, but the token has a limited time span in which it is valid // @@ -56,7 +57,7 @@ * @author lngtr * @since 2018-02-28 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleSteamGuardRememberMe implements Runnable { private SteamClient steamClient; @@ -67,9 +68,9 @@ public class SampleSteamGuardRememberMe implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; private String authCode; @@ -247,17 +248,22 @@ private void onLoginKey(LoginKeyCallback callback) { } } - private byte[] calculateSHA1(File file) throws NoSuchAlgorithmException, IOException { + private byte[] calculateSHA1(File file) throws NoSuchAlgorithmException { MessageDigest digest = MessageDigest.getInstance("SHA-1"); - InputStream fis = new FileInputStream(file); - int n = 0; - byte[] buffer = new byte[8192]; - while (n != -1) { - n = fis.read(buffer); - if (n > 0) { - digest.update(buffer, 0, n); + + try (InputStream fis = Files.newInputStream(file.toPath());) { + int n = 0; + byte[] buffer = new byte[8192]; + while (n != -1) { + n = fis.read(buffer); + if (n > 0) { + digest.update(buffer, 0, n); + } } + } catch (IOException e) { + throw new RuntimeException("Failed to calculate SHA1", e); } + return digest.digest(); } } diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_6webapi/SampleWebApi.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_6webapi/SampleWebApi.java index 6eca5c13..a9bd5198 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_6webapi/SampleWebApi.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_6webapi/SampleWebApi.java @@ -15,6 +15,7 @@ import in.dragonbra.javasteam.util.log.LogManager; import java.io.IOException; +import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -32,7 +33,7 @@ * @author lngtr * @since 2021-10-11 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleWebApi implements Runnable { private SteamClient steamClient; @@ -43,9 +44,9 @@ public class SampleWebApi implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; public SampleWebApi(String user, String pass) { this.user = user; @@ -167,10 +168,7 @@ private void onLoggedOff(LoggedOffCallback callback) { // Recursively print out child KeyValues. private void printKeyValue(KeyValue keyValue, int depth) { - StringBuilder spacePadding = new StringBuilder(); - for (int x = 0; x < depth; x++) { - spacePadding.append(" "); - } + String spacePadding = String.join("", Collections.nCopies(depth, " ")); if (keyValue.getChildren().size() == 0) { System.out.println(spacePadding + keyValue.getName() + ": " + keyValue.getValue()); diff --git a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_7serverlist/SampleServerList.java b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_7serverlist/SampleServerList.java index 939123c0..f16c11aa 100644 --- a/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_7serverlist/SampleServerList.java +++ b/javasteam-samples/src/main/java/in/dragonbra/javasteamsamples/_7serverlist/SampleServerList.java @@ -30,7 +30,7 @@ * @author lngtr * @since 2021-10-11 */ -@SuppressWarnings("Duplicates") +@SuppressWarnings("FieldCanBeLocal") public class SampleServerList implements Runnable { private SteamClient steamClient; @@ -41,9 +41,9 @@ public class SampleServerList implements Runnable { private boolean isRunning; - private String user; + private final String user; - private String pass; + private final String pass; private int cellID = 0; diff --git a/javasteam-tf/build.gradle b/javasteam-tf/build.gradle index b7555e94..957d9474 100644 --- a/javasteam-tf/build.gradle +++ b/javasteam-tf/build.gradle @@ -1,95 +1,95 @@ -apply plugin: 'maven' -apply plugin: 'signing' -apply plugin: 'java' -apply plugin: 'com.google.protobuf' +//file:noinspection GroovyAssignabilityCheck -sourceCompatibility = 1.7 +plugins { + id 'com.google.protobuf' version "0.9.1" + id 'java' + id 'maven-publish' + id 'signing' +} + +sourceCompatibility = 1.8 repositories { mavenCentral() } -dependencies { - implementation 'com.google.protobuf:protobuf-java:3.19.3' - testImplementation 'junit:junit:4.13.2' +// https://mvnrepository.com/artifact/com.google.protobuf/protoc +protobuf.protoc { + artifact = 'com.google.protobuf:protoc:3.21.12' } -protobuf { - protoc { - artifact = 'com.google.protobuf:protoc:3.18.0' - } +javadoc { + exclude "**/in/dragonbra/javasteam/protobufs/**" } -sourceSets { - main { - java { - srcDirs += new File(buildDir, 'generated/source/proto/main/java') - } - } +test { + useJUnitPlatform() } -task sourcesJar(type: Jar, dependsOn: classes) { - classifier = 'sources' - from sourceSets.main.allSource +java { + withSourcesJar() + withJavadocJar() } -task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' - from javadoc.destinationDir -} +dependencies { + // https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java + implementation 'com.google.protobuf:protobuf-java:3.21.12' -javadoc { - exclude "**/in/dragonbra/javasteam/protobufs/**" -} + /* Unit Testing */ -artifacts { - archives sourcesJar - archives javadocJar + // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1' } -signing { - sign configurations.archives -} +/* Artifact publishing */ -uploadArchives { - repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: ossrhUsername, password: ossrhPassword) - } - pom.project { - name 'JavaSteam-tf' - packaging 'jar' - description 'TF classes for JavaSteam.' - url 'https://github.com/Longi94/JavaSteam' - inceptionYear '2018' +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + pom { + name = 'JavaSteam-tf' + packaging = 'jar' + description = 'TF classes for JavaSteam.' + url = 'https://github.com/Longi94/JavaSteam' + inceptionYear = '2018' scm { - connection 'scm:git:git://github.com/Longi94/JavaSteam.git' - developerConnection 'scm:git:ssh://github.com:Longi94/JavaSteam.git' - url 'http://github.com/Longi94/JavaSteam/tree/master' + connection = 'scm:git:git://github.com/Longi94/JavaSteam.git' + developerConnection = 'scm:git:ssh://github.com:Longi94/JavaSteam.git' + url = 'http://github.com/Longi94/JavaSteam/tree/master' } licenses { license { - name 'MIT License' - url 'http://www.opensource.org/licenses/mit-license.php' + name = 'MIT License' + url = 'http://www.opensource.org/licenses/mit-license.php' } } developers { developer { - id 'Longi' - name 'Long Tran' - email 'lngtrn94@gmail.com' + id = 'Longi' + name = 'Long Tran' + email = 'lngtrn94@gmail.com' } } } } } -} \ No newline at end of file + repositories { + maven { + def stagingRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/' + def snapshotRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots/' + url = version.endsWith('SNAPSHOT') ? snapshotRepoUrl : stagingRepoUrl + credentials { + username = ossrhUsername ?: '' + password = ossrhPassword ?: '' + } + } + } +} + +signing { + sign configurations.archives +} diff --git a/src/main/java/in/dragonbra/javasteam/base/ClientGCMsg.java b/src/main/java/in/dragonbra/javasteam/base/ClientGCMsg.java index 45c45b54..838c7353 100644 --- a/src/main/java/in/dragonbra/javasteam/base/ClientGCMsg.java +++ b/src/main/java/in/dragonbra/javasteam/base/ClientGCMsg.java @@ -19,7 +19,7 @@ public class ClientGCMsg extends GCMsgB private static final Logger logger = LogManager.getLogger(ClientGCMsg.class); - private int msgType; + private final int msgType; private BodyType body; diff --git a/src/main/java/in/dragonbra/javasteam/base/ClientGCMsgProtobuf.java b/src/main/java/in/dragonbra/javasteam/base/ClientGCMsgProtobuf.java index 9a17b99a..ec58cbfb 100644 --- a/src/main/java/in/dragonbra/javasteam/base/ClientGCMsgProtobuf.java +++ b/src/main/java/in/dragonbra/javasteam/base/ClientGCMsgProtobuf.java @@ -27,7 +27,7 @@ public class ClientGCMsgProtobuf clazz; + private final Class clazz; /** * Initializes a new instance of the {@link ClientMsgProtobuf} class. diff --git a/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsg.java b/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsg.java index 0c767988..f3fbc1f9 100644 --- a/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsg.java +++ b/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsg.java @@ -11,13 +11,13 @@ */ public class PacketClientGCMsg implements IPacketGCMsg { - private int msgType; + private final int msgType; - private JobID targetJobID; + private final JobID targetJobID; - private JobID sourceJobID; + private final JobID sourceJobID; - private byte[] payload; + private final byte[] payload; /** * Initializes a new instance of the {@link PacketClientGCMsg} class. diff --git a/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsgProtobuf.java b/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsgProtobuf.java index 799e578e..1723926b 100644 --- a/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsgProtobuf.java +++ b/src/main/java/in/dragonbra/javasteam/base/PacketClientGCMsgProtobuf.java @@ -11,13 +11,13 @@ */ public class PacketClientGCMsgProtobuf implements IPacketGCMsg { - private int msgType; + private final int msgType; - private JobID targetJobID; + private final JobID targetJobID; - private JobID sourceJobID; + private final JobID sourceJobID; - private byte[] payload; + private final byte[] payload; /** * Initializes a new instance of the {@link PacketClientGCMsgProtobuf} class. diff --git a/src/main/java/in/dragonbra/javasteam/base/PacketClientMsg.java b/src/main/java/in/dragonbra/javasteam/base/PacketClientMsg.java index 867c943a..ba6320fc 100644 --- a/src/main/java/in/dragonbra/javasteam/base/PacketClientMsg.java +++ b/src/main/java/in/dragonbra/javasteam/base/PacketClientMsg.java @@ -11,13 +11,13 @@ */ public class PacketClientMsg implements IPacketMsg { - private EMsg msgType; + private final EMsg msgType; - private long targetJobID; + private final long targetJobID; - private long sourceJobID; + private final long sourceJobID; - private byte[] payload; + private final byte[] payload; /** * Initializes a new instance of the {@link PacketClientMsg} class. diff --git a/src/main/java/in/dragonbra/javasteam/base/PacketClientMsgProtobuf.java b/src/main/java/in/dragonbra/javasteam/base/PacketClientMsgProtobuf.java index 975877de..4f3bab92 100644 --- a/src/main/java/in/dragonbra/javasteam/base/PacketClientMsgProtobuf.java +++ b/src/main/java/in/dragonbra/javasteam/base/PacketClientMsgProtobuf.java @@ -11,13 +11,13 @@ */ public class PacketClientMsgProtobuf implements IPacketMsg { - private EMsg msgType; + private final EMsg msgType; - private long targetJobID; + private final long targetJobID; - private long sourceJobID; + private final long sourceJobID; - private byte[] payload; + private final byte[] payload; /** * Initializes a new instance of the {@link PacketClientMsgProtobuf} class. diff --git a/src/main/java/in/dragonbra/javasteam/base/PacketMsg.java b/src/main/java/in/dragonbra/javasteam/base/PacketMsg.java index f3864464..669d258e 100644 --- a/src/main/java/in/dragonbra/javasteam/base/PacketMsg.java +++ b/src/main/java/in/dragonbra/javasteam/base/PacketMsg.java @@ -11,13 +11,13 @@ */ public class PacketMsg implements IPacketMsg { - private EMsg msgType; + private final EMsg msgType; - private long targetJobID; + private final long targetJobID; - private long sourceJobID; + private final long sourceJobID; - private byte[] payload; + private final byte[] payload; /** * Initializes a new instance of the{@link PacketMsg} class. diff --git a/src/main/java/in/dragonbra/javasteam/handlers/ClientMsgHandler.java b/src/main/java/in/dragonbra/javasteam/handlers/ClientMsgHandler.java index 31b532a2..a6c6cd7d 100644 --- a/src/main/java/in/dragonbra/javasteam/handlers/ClientMsgHandler.java +++ b/src/main/java/in/dragonbra/javasteam/handlers/ClientMsgHandler.java @@ -18,7 +18,7 @@ public void setup(SteamClient client) { /** * Gets whether or not the related {@link SteamClient} should imminently expect the server to close the connection. * If this is true when the connection is closed, the {@link DisconnectedCallback}'s - * {@link DisconnectedCallback#userInitiated} property will be set to true. + * {@link DisconnectedCallback#isUserInitiated()} property will be set to true. * * @return whether or not the related {@link SteamClient} should imminently expect the server to close the connection. */ @@ -29,7 +29,7 @@ protected boolean isExpectDisconnection() { /** * Sets whether or not the related {@link SteamClient} should imminently expect the server to close the connection. * If this is true when the connection is closed, the {@link DisconnectedCallback}'s - * {@link DisconnectedCallback#userInitiated} property will be set to true. + * {@link DisconnectedCallback#isUserInitiated()} property will be set to true. * * @param expectDisconnection whether or not the related {@link SteamClient} should imminently expect the server to close the connection. */ diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/DisconnectedEventArgs.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/DisconnectedEventArgs.java index 12ff7d9d..5d063dc5 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/DisconnectedEventArgs.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/DisconnectedEventArgs.java @@ -8,7 +8,7 @@ */ public class DisconnectedEventArgs extends EventArgs { - private boolean userInitiated; + private final boolean userInitiated; public DisconnectedEventArgs(boolean userInitiated) { this.userInitiated = userInitiated; diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/EnvelopeEncryptedConnection.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/EnvelopeEncryptedConnection.java index 60c04bfd..546d0999 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/EnvelopeEncryptedConnection.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/EnvelopeEncryptedConnection.java @@ -34,6 +34,7 @@ public class EnvelopeEncryptedConnection extends Connection { private EncryptionState state; private INetFilterEncryption encryption; + @SuppressWarnings("FieldCanBeLocal") private final EventHandler onConnected = new EventHandler() { @Override public void handleEvent(Object sender, EventArgs e) { @@ -41,6 +42,7 @@ public void handleEvent(Object sender, EventArgs e) { } }; + @SuppressWarnings("FieldCanBeLocal") private final EventHandler onDisconnected = new EventHandler() { @Override public void handleEvent(Object sender, DisconnectedEventArgs e) { @@ -51,6 +53,7 @@ public void handleEvent(Object sender, DisconnectedEventArgs e) { } }; + @SuppressWarnings("FieldCanBeLocal") private final EventHandler onNetMsgReceived = new EventHandler() { @Override public void handleEvent(Object sender, NetMsgEventArgs e) { @@ -121,7 +124,7 @@ private void handleEncryptRequest(IPacketMsg packetMsg) { Msg response = new Msg<>(MsgChannelEncryptResponse.class); byte[] tempSessionKey = CryptoHelper.generateRandomBlock(32); - byte[] encryptedHandshakeBlob = null; + byte[] encryptedHandshakeBlob; RSACrypto rsa = new RSACrypto(publicKey); diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/NetMsgEventArgs.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/NetMsgEventArgs.java index 83f75f3b..50b290c7 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/NetMsgEventArgs.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/NetMsgEventArgs.java @@ -10,9 +10,9 @@ */ public class NetMsgEventArgs extends EventArgs { - private byte[] data; + private final byte[] data; - private InetSocketAddress endPoint; + private final InetSocketAddress endPoint; public NetMsgEventArgs(byte[] data, InetSocketAddress endPoint) { this.data = data; diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/TcpConnection.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/TcpConnection.java index 5b56cb73..28491948 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/TcpConnection.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/TcpConnection.java @@ -28,6 +28,7 @@ public class TcpConnection extends Connection { private BinaryReader netReader; + @SuppressWarnings("FieldCanBeLocal") private Thread netThread; private NetLoop netLoop; diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpConnection.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpConnection.java index 8c6798a2..1275c4ef 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpConnection.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpConnection.java @@ -48,15 +48,19 @@ public class UdpConnection extends Connection { */ private volatile AtomicReference state; - private Thread netThread; + + @SuppressWarnings("FieldCanBeLocal") private NetLoop netLoop; - private DatagramSocket sock; + + private final DatagramSocket sock; private long timeout; + private long nextResend; private static int SOURCE_CONN_ID = 512; + private int remoteConnId; /** @@ -178,7 +182,7 @@ private void sendData(MemoryStream ms) { UdpPacket[] packets = new UdpPacket[(int) ((ms.getLength() / UdpPacket.MAX_PAYLOAD) + 1)]; for (int i = 0; i < packets.length; i++) { - long index = i * UdpPacket.MAX_PAYLOAD; + long index = (long) i * UdpPacket.MAX_PAYLOAD; long length = Math.min(UdpPacket.MAX_PAYLOAD, ms.getLength() - index); packets[i] = new UdpPacket(EUdpPacketType.Data, ms, length); @@ -393,12 +397,7 @@ private void receivePacket(UdpPacket packet) { outSeqSent = outSeqAcked; } - Iterator iter = outPackets.iterator(); - while (iter.hasNext()) { - if (iter.next().getHeader().getSeqThis() <= outSeqAcked) { - iter.remove(); - } - } + outPackets.removeIf(udpPacket -> udpPacket.getHeader().getSeqThis() <= outSeqAcked); nextResend = System.currentTimeMillis() + RESEND_DELAY; } @@ -485,6 +484,7 @@ private void receiveData(UdpPacket packet) { inPackets.put(packet.getHeader().getSeqThis(), packet); + //noinspection StatementWithEmptyBody while (dispatchMessage()) ; } diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpPacket.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpPacket.java index 0ad5126c..2c649814 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpPacket.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/UdpPacket.java @@ -15,7 +15,7 @@ class UdpPacket { public static final int MAX_PAYLOAD = 0x4DC; - private UdpHeader header; + private final UdpHeader header; private MemoryStream payload; diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.java b/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.java index aef9496e..54a0c1f3 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.java +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.java @@ -12,7 +12,7 @@ public class WebSocketConnection extends Connection implements WebSocketCMClient private static final Logger logger = LogManager.getLogger(WebSocketConnection.class); - private AtomicReference client = new AtomicReference<>(null); + private final AtomicReference client = new AtomicReference<>(null); private volatile boolean userInitiated = false; diff --git a/src/main/java/in/dragonbra/javasteam/steam/CMClient.java b/src/main/java/in/dragonbra/javasteam/steam/CMClient.java index 560c7fea..365b36a0 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/CMClient.java +++ b/src/main/java/in/dragonbra/javasteam/steam/CMClient.java @@ -44,7 +44,7 @@ public abstract class CMClient { private static final Logger logger = LogManager.getLogger(CMClient.class); - private SteamConfiguration configuration; + private final SteamConfiguration configuration; private boolean isConnected; @@ -65,25 +65,17 @@ public abstract class CMClient { private Connection connection; - private ScheduledFunction heartBeatFunc; + private final ScheduledFunction heartBeatFunc; - private Map> serverMap; + private final Map> serverMap; - private final EventHandler netMsgReceived = new EventHandler() { - @Override - public void handleEvent(Object sender, NetMsgEventArgs e) { - onClientMsgReceived(getPacketMsg(e.getData())); - } - }; + private final EventHandler netMsgReceived = (sender, e) -> onClientMsgReceived(getPacketMsg(e.getData())); - private final EventHandler connected = new EventHandler() { - @Override - public void handleEvent(Object sender, EventArgs e) { - getServers().tryMark(connection.getCurrentEndPoint(), connection.getProtocolTypes(), ServerQuality.GOOD); + private final EventHandler connected = (sender, e) -> { + getServers().tryMark(connection.getCurrentEndPoint(), connection.getProtocolTypes(), ServerQuality.GOOD); - isConnected = true; - onClientConnected(); - } + isConnected = true; + onClientConnected(); }; private final EventHandler disconnected = new EventHandler() { @@ -117,12 +109,7 @@ public CMClient(SteamConfiguration configuration) { this.configuration = configuration; this.serverMap = new HashMap<>(); - heartBeatFunc = new ScheduledFunction(new Runnable() { - @Override - public void run() { - send(new ClientMsgProtobuf(CMsgClientHeartBeat.class, EMsg.ClientHeartBeat)); - } - }, 5000); + heartBeatFunc = new ScheduledFunction(() -> send(new ClientMsgProtobuf(CMsgClientHeartBeat.class, EMsg.ClientHeartBeat)), 5000); } /** @@ -362,7 +349,7 @@ private void handleMulti(IPacketMsg packetMsg) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); int res = 0; - byte buf[] = new byte[1024]; + byte[] buf = new byte[1024]; while (res >= 0) { res = gzin.read(buf, 0, buf.length); if (res > 0) { diff --git a/src/main/java/in/dragonbra/javasteam/steam/discovery/FileServerListProvider.java b/src/main/java/in/dragonbra/javasteam/steam/discovery/FileServerListProvider.java index f81d146d..c42283b8 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/discovery/FileServerListProvider.java +++ b/src/main/java/in/dragonbra/javasteam/steam/discovery/FileServerListProvider.java @@ -17,7 +17,7 @@ public class FileServerListProvider implements IServerListProvider { private static final Logger logger = LogManager.getLogger(FileServerListProvider.class); - private File file; + private final File file; /** * Instantiates a {@link FileServerListProvider} object. @@ -81,7 +81,6 @@ public void updateServerList(List endpoints) { try (FileOutputStream fos = new FileOutputStream(file, false)) { builder.build().writeTo(fos); fos.flush(); - fos.close(); } catch (IOException e) { logger.debug("Failed to write servers to file " + file.getAbsolutePath(), e); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerInfo.java b/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerInfo.java index 2a38fe93..44261137 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerInfo.java +++ b/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerInfo.java @@ -9,9 +9,10 @@ * @since 2018-02-20 */ public class ServerInfo { - private ServerRecord record; - private ProtocolTypes protocol; + private final ServerRecord record; + + private final ProtocolTypes protocol; private Date lastBadConnection; diff --git a/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerRecord.java b/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerRecord.java index 74eb28a6..8b05c887 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerRecord.java +++ b/src/main/java/in/dragonbra/javasteam/steam/discovery/ServerRecord.java @@ -11,9 +11,9 @@ */ public class ServerRecord { - private InetSocketAddress endpoint; + private final InetSocketAddress endpoint; - private EnumSet protocolTypes; + private final EnumSet protocolTypes; ServerRecord(InetSocketAddress endpoint, ProtocolTypes protocolTypes) { this(endpoint, EnumSet.of(protocolTypes)); @@ -95,7 +95,7 @@ public static ServerRecord createWebSocketServer(String address) { @Override public boolean equals(Object obj) { - if (obj == null || !(obj instanceof ServerRecord)) { + if (!(obj instanceof ServerRecord)) { return false; } diff --git a/src/main/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerList.java b/src/main/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerList.java index 705e3529..4e61c56f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerList.java +++ b/src/main/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerList.java @@ -19,7 +19,7 @@ public class SmartCMServerList { private final SteamConfiguration configuration; - private List servers = Collections.synchronizedList(new ArrayList()); + private final List servers = Collections.synchronizedList(new ArrayList<>()); private Long badConnectionMemoryTimeSpan; @@ -162,23 +162,21 @@ private ServerRecord getNextServerCandidateInternal(EnumSet suppo } } - Collections.sort(serverInfos, new Comparator() { - @Override - public int compare(ServerInfo o1, ServerInfo o2) { - if (o1.getLastBadConnection() == null && o2.getLastBadConnection() == null) { - return 1; - } - - if (o1.getLastBadConnection() == null) { - return -1; - } + //noinspection ComparatorMethodParameterNotUsed + serverInfos.sort((o1, o2) -> { + if (o1.getLastBadConnection() == null && o2.getLastBadConnection() == null) { + return 1; + } - if (o2.getLastBadConnection() == null) { - return 1; - } + if (o1.getLastBadConnection() == null) { + return -1; + } - return o1.getLastBadConnection().before(o2.getLastBadConnection()) ? -1 : 1; + if (o2.getLastBadConnection() == null) { + return 1; } + + return o1.getLastBadConnection().before(o2.getLastBadConnection()) ? -1 : 1; }); if (serverInfos.isEmpty()) { diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/License.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/License.java index 08a2e212..adf76f74 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/License.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/License.java @@ -13,33 +13,33 @@ */ public class License { - private int packageID; + private final int packageID; - private int lastChangeNumber; + private final int lastChangeNumber; - private Date timeCreated; + private final Date timeCreated; - private Date timeNextProcess; + private final Date timeNextProcess; - private int minuteLimit; + private final int minuteLimit; - private int minutesUsed; + private final int minutesUsed; - private EPaymentMethod paymentMethod; + private final EPaymentMethod paymentMethod; - private EnumSet licenseFlags; + private final EnumSet licenseFlags; - private String purchaseCode; + private final String purchaseCode; - private ELicenseType licenseType; + private final ELicenseType licenseType; - private int territoryCode; + private final int territoryCode; - private long accessToken; + private final long accessToken; - private int ownerAccountID; + private final int ownerAccountID; - private int masterPackageID; + private final int masterPackageID; public License(CMsgClientLicenseList.License license) { packageID = license.getPackageId(); @@ -115,7 +115,7 @@ public EnumSet getLicenseFlags() { } /** - * @return the two letter country code where the license was purchased. + * @return the two-letter country code where the license was purchased. */ public String getPurchaseCode() { return purchaseCode; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSChangeData.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSChangeData.java index 1e433195..8bf06566 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSChangeData.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSChangeData.java @@ -7,11 +7,11 @@ */ public class PICSChangeData { - private int id; + private final int id; - private int changeNumber; + private final int changeNumber; - private boolean needsToken; + private final boolean needsToken; public PICSChangeData(CMsgClientPICSChangesSinceResponse.AppChange change) { id = change.getAppid(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSProductInfo.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSProductInfo.java index e9e9d55d..319ed831 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSProductInfo.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/PICSProductInfo.java @@ -11,21 +11,22 @@ import java.io.IOException; import java.net.URI; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; /** * Represents the information for a single app or package */ public class PICSProductInfo extends CallbackMsg { - private int id; + private final int id; - private int changeNumber; + private final int changeNumber; - private boolean missingToken; + private final boolean missingToken; - private byte[] shaHash; + private final byte[] shaHash; - private KeyValue keyValues; + private final KeyValue keyValues; private boolean onlyPublic; @@ -46,7 +47,7 @@ public PICSProductInfo(CMsgClientPICSProductInfoResponse.Builder parentResponse, // note: IDK why, but we have to encode this using the default charset String bufferString = appInfo.getBuffer().toString(Charset.defaultCharset()); // get the buffer as a byte array using utf-8 as a supported charset - byte[] byteBuffer = bufferString.getBytes("UTF-8"); + byte[] byteBuffer = bufferString.getBytes(StandardCharsets.UTF_8); // we don't want to read the trailing null byte MemoryStream ms = new MemoryStream(byteBuffer, 0, byteBuffer.length - 1); keyValues.readAsText(ms); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamApps.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamApps.java index 37da2bcf..79a95b59 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamApps.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamApps.java @@ -35,96 +35,21 @@ public class SteamApps extends ClientMsgHandler { public SteamApps() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientLicenseList, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleLicenseList(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientRequestFreeLicenseResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFreeLicense(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPurchaseResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePurchaseResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientRedeemGuestPassResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleRedeemGuestPassResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientGameConnectTokens, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleGameConnectTokens(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientVACBanStatus, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleVACBanStatus(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientGetAppOwnershipTicketResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleAppOwnershipTicketResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientGetDepotDecryptionKeyResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleDepotKeyResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientGetLegacyGameKeyResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleLegacyGameKeyResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPICSAccessTokenResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePICSAccessTokenResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPICSChangesSinceResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePICSChangesSinceResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPICSProductInfoResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePICSProductInfoResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientUpdateGuestPassesList, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleGuestPassList(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientGetCDNAuthTokenResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleCDNAuthTokenResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientCheckAppBetaPasswordResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleCheckAppBetaPasswordResponse(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientLicenseList, this::handleLicenseList); + dispatchMap.put(EMsg.ClientRequestFreeLicenseResponse, this::handleFreeLicense); + dispatchMap.put(EMsg.ClientPurchaseResponse, this::handlePurchaseResponse); + dispatchMap.put(EMsg.ClientRedeemGuestPassResponse, this::handleRedeemGuestPassResponse); + dispatchMap.put(EMsg.ClientGameConnectTokens, this::handleGameConnectTokens); + dispatchMap.put(EMsg.ClientVACBanStatus, this::handleVACBanStatus); + dispatchMap.put(EMsg.ClientGetAppOwnershipTicketResponse, this::handleAppOwnershipTicketResponse); + dispatchMap.put(EMsg.ClientGetDepotDecryptionKeyResponse, this::handleDepotKeyResponse); + dispatchMap.put(EMsg.ClientGetLegacyGameKeyResponse, this::handleLegacyGameKeyResponse); + dispatchMap.put(EMsg.ClientPICSAccessTokenResponse, this::handlePICSAccessTokenResponse); + dispatchMap.put(EMsg.ClientPICSChangesSinceResponse, this::handlePICSChangesSinceResponse); + dispatchMap.put(EMsg.ClientPICSProductInfoResponse, this::handlePICSProductInfoResponse); + dispatchMap.put(EMsg.ClientUpdateGuestPassesList, this::handleGuestPassList); + dispatchMap.put(EMsg.ClientGetCDNAuthTokenResponse, this::handleCDNAuthTokenResponse); + dispatchMap.put(EMsg.ClientCheckAppBetaPasswordResponse, this::handleCheckAppBetaPasswordResponse); dispatchMap = Collections.unmodifiableMap(dispatchMap); } @@ -327,7 +252,7 @@ public JobID picsGetProductInfo(Iterable apps, Iterable apps, Iterable packages, boolean metaDataOnly) { diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/AppOwnershipTicketCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/AppOwnershipTicketCallback.java index 5ee2505c..f46d2141 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/AppOwnershipTicketCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/AppOwnershipTicketCallback.java @@ -11,11 +11,11 @@ */ public class AppOwnershipTicketCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int appID; + private final int appID; - private byte[] ticket; + private final byte[] ticket; public AppOwnershipTicketCallback(JobID jobID, CMsgClientGetAppOwnershipTicketResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CDNAuthTokenCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CDNAuthTokenCallback.java index d3f90c92..8e170766 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CDNAuthTokenCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CDNAuthTokenCallback.java @@ -12,11 +12,11 @@ */ public class CDNAuthTokenCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private String token; + private final String token; - private Date expiration; + private final Date expiration; public CDNAuthTokenCallback(JobID jobID, CMsgClientGetCDNAuthTokenResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CheckAppBetaPasswordCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CheckAppBetaPasswordCallback.java index 6f8e621b..3526a196 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CheckAppBetaPasswordCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/CheckAppBetaPasswordCallback.java @@ -14,9 +14,9 @@ */ public class CheckAppBetaPasswordCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private Map betaPasswords; + private final Map betaPasswords; public CheckAppBetaPasswordCallback(JobID jobID, CMsgClientCheckAppBetaPasswordResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/DepotKeyCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/DepotKeyCallback.java index 3dc09ec0..e639e72c 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/DepotKeyCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/DepotKeyCallback.java @@ -11,11 +11,11 @@ */ public class DepotKeyCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int depotID; + private final int depotID; - private byte[] depotKey; + private final byte[] depotKey; public DepotKeyCallback(JobID jobID, CMsgClientGetDepotDecryptionKeyResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/FreeLicenseCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/FreeLicenseCallback.java index 7ff7b94d..b24feefb 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/FreeLicenseCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/FreeLicenseCallback.java @@ -14,11 +14,11 @@ */ public class FreeLicenseCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private List grantedApps; + private final List grantedApps; - private List grantedPackages; + private final List grantedPackages; public FreeLicenseCallback(JobID jobID, CMsgClientRequestFreeLicenseResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GameConnectTokensCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GameConnectTokensCallback.java index 30fd3736..cc596058 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GameConnectTokensCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GameConnectTokensCallback.java @@ -13,9 +13,9 @@ */ public class GameConnectTokensCallback extends CallbackMsg { - private int tokensToKeep; + private final int tokensToKeep; - private List tokens; + private final List tokens; public GameConnectTokensCallback(CMsgClientGameConnectTokens.Builder msg) { tokensToKeep = msg.getMaxTokensToKeep(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GuestPassListCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GuestPassListCallback.java index d8201fac..cadf76c0 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GuestPassListCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/GuestPassListCallback.java @@ -15,13 +15,13 @@ */ public class GuestPassListCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int countGuestPassesToGive; + private final int countGuestPassesToGive; - private int countGuestPassesToRedeem; + private final int countGuestPassesToRedeem; - private List guestPasses; + private final List guestPasses; public GuestPassListCallback(MsgClientUpdateGuestPassesList msg, InputStream payload) { result = msg.getResult(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LegacyGameKeyCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LegacyGameKeyCallback.java index fd42a099..09abc72e 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LegacyGameKeyCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LegacyGameKeyCallback.java @@ -11,9 +11,9 @@ */ public class LegacyGameKeyCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int appID; + private final int appID; private String key; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LicenseListCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LicenseListCallback.java index 68eb6fdf..f8169a7f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LicenseListCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/LicenseListCallback.java @@ -14,9 +14,9 @@ */ public class LicenseListCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private List licenseList; + private final List licenseList; public LicenseListCallback(CMsgClientLicenseList.Builder msg) { result = EResult.from(msg.getEresult()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSChangesCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSChangesCallback.java index 0da37ea1..01fdf271 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSChangesCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSChangesCallback.java @@ -13,19 +13,19 @@ */ public class PICSChangesCallback extends CallbackMsg { - private int lastChangeNumber; + private final int lastChangeNumber; - private int currentChangeNumber; + private final int currentChangeNumber; - private boolean requiresFullUpdate; + private final boolean requiresFullUpdate; - private boolean requiresFullAppUpdate; + private final boolean requiresFullAppUpdate; - private boolean requiresFullPackageUpdate; + private final boolean requiresFullPackageUpdate; - private Map packageChanges; + private final Map packageChanges; - private Map appChanges; + private final Map appChanges; public PICSChangesCallback(JobID jobID, CMsgClientPICSChangesSinceResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSProductInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSProductInfoCallback.java index 817b80f9..48b7f420 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSProductInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSProductInfoCallback.java @@ -15,17 +15,17 @@ */ public class PICSProductInfoCallback extends CallbackMsg { - private boolean metaDataOnly; + private final boolean metaDataOnly; - private boolean responsePending; + private final boolean responsePending; - private List unknownPackages; + private final List unknownPackages; - private List unknownApps; + private final List unknownApps; - private Map apps; + private final Map apps; - private Map packages; + private final Map packages; public PICSProductInfoCallback(JobID jobID, CMsgClientPICSProductInfoResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSTokensCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSTokensCallback.java index 7548960f..fc9b3524 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSTokensCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PICSTokensCallback.java @@ -14,13 +14,13 @@ */ public class PICSTokensCallback extends CallbackMsg { - private List packageTokensDenied; + private final List packageTokensDenied; - private List appTokensDenied; + private final List appTokensDenied; - private Map packageTokens; + private final Map packageTokens; - private Map appTokens; + private final Map appTokens; public PICSTokensCallback(JobID jobID, CMsgClientPICSAccessTokenResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PurchaseResponseCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PurchaseResponseCallback.java index 5afca160..cdd99a5a 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PurchaseResponseCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/PurchaseResponseCallback.java @@ -12,11 +12,11 @@ public class PurchaseResponseCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private EPurchaseResultDetail purchaseResultDetail; + private final EPurchaseResultDetail purchaseResultDetail; - private KeyValue purchaseReceiptInfo; + private final KeyValue purchaseReceiptInfo; public PurchaseResponseCallback(JobID jobID, CMsgClientPurchaseResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/RedeemGuestPassResponseCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/RedeemGuestPassResponseCallback.java index f6c3859f..9e26536f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/RedeemGuestPassResponseCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/RedeemGuestPassResponseCallback.java @@ -7,11 +7,11 @@ public class RedeemGuestPassResponseCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private Integer packageID; + private final Integer packageID; - private Integer mustOwnAppID; + private final Integer mustOwnAppID; public RedeemGuestPassResponseCallback(JobID jobID, CMsgClientRedeemGuestPassResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/VACStatusCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/VACStatusCallback.java index 26daa20e..90ef2b64 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/VACStatusCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamapps/callback/VACStatusCallback.java @@ -15,7 +15,7 @@ */ public class VACStatusCallback extends CallbackMsg { - private List bannedApps; + private final List bannedApps; public VACStatusCallback(MsgClientVACBanStatus msg, byte[] payload) { List tempList = new ArrayList<>(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/SteamCloud.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/SteamCloud.java index 310185da..2cff3162 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/SteamCloud.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/SteamCloud.java @@ -31,24 +31,9 @@ public class SteamCloud extends ClientMsgHandler { public SteamCloud() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientUFSGetUGCDetailsResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleUGCDetailsResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientUFSGetSingleFileInfoResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleSingleFileInfoResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientUFSShareFileResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleShareFileResponse(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientUFSGetUGCDetailsResponse, this::handleUGCDetailsResponse); + dispatchMap.put(EMsg.ClientUFSGetSingleFileInfoResponse, this::handleSingleFileInfoResponse); + dispatchMap.put(EMsg.ClientUFSShareFileResponse, this::handleShareFileResponse); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/ShareFileCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/ShareFileCallback.java index bcaae997..0fdae607 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/ShareFileCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/ShareFileCallback.java @@ -11,9 +11,9 @@ */ public class ShareFileCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private long ugcId; + private final long ugcId; public ShareFileCallback(JobID jobID, CMsgClientUFSShareFileResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/SingleFileInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/SingleFileInfoCallback.java index 7918be43..47eefa32 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/SingleFileInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/SingleFileInfoCallback.java @@ -13,19 +13,19 @@ */ public class SingleFileInfoCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int appID; + private final int appID; - private String fileName; + private final String fileName; - private byte[] shaHash; + private final byte[] shaHash; - private Date timestamp; + private final Date timestamp; - private int fileSize; + private final int fileSize; - private boolean isExplicitDelete; + private final boolean isExplicitDelete; public SingleFileInfoCallback(JobID jobID, CMsgClientUFSGetSingleFileInfoResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/UGCDetailsCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/UGCDetailsCallback.java index 98516c60..99d2b679 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/UGCDetailsCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamcloud/callback/UGCDetailsCallback.java @@ -13,17 +13,17 @@ */ public class UGCDetailsCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int appID; + private final int appID; - private SteamID creator; + private final SteamID creator; - private String url; + private final String url; - private String fileName; + private final String fileName; - private int fileSize; + private final int fileSize; public UGCDetailsCallback(JobID jobID, CMsgClientUFSGetUGCDetailsResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Event.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Event.java index e3d9cc97..288b5bc8 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Event.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Event.java @@ -11,15 +11,15 @@ */ public class Event { - private GlobalID id; + private final GlobalID id; - private Date eventTime; + private final Date eventTime; - private String headline; + private final String headline; - private GameID gameID; + private final GameID gameID; - private boolean justPosted; + private final boolean justPosted; public Event(CMsgClientClanState.Event clanEvent) { id = new GlobalID(clanEvent.getGid()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Friend.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Friend.java index 3d3a0e7c..9dd3f9ae 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Friend.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/Friend.java @@ -9,9 +9,9 @@ */ public class Friend { - private SteamID steamID; + private final SteamID steamID; - private EFriendRelationship relationship; + private final EFriendRelationship relationship; public Friend(CMsgClientFriendsList.Friend friend) { steamID = new SteamID(friend.getUlfriendid()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/FriendMessage.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/FriendMessage.java index 7257e43f..765c0736 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/FriendMessage.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/FriendMessage.java @@ -9,13 +9,13 @@ */ public class FriendMessage { - private SteamID steamID; + private final SteamID steamID; - private boolean unread; + private final boolean unread; - private String message; + private final String message; - private Date timestamp; + private final Date timestamp; public FriendMessage(SteamID steamID, boolean unread, String message, Date timestamp) { this.steamID = steamID; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameInstance.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameInstance.java index 151a2a18..1febfc83 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameInstance.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameInstance.java @@ -9,9 +9,9 @@ */ public class NameInstance { - private String name; + private final String name; - private Date nameSince; + private final Date nameSince; public NameInstance(CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance.NameInstance instance) { name = instance.getName(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameTableInstance.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameTableInstance.java index c420b522..e551f110 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameTableInstance.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/NameTableInstance.java @@ -13,9 +13,9 @@ */ public class NameTableInstance { - private EResult result; + private final EResult result; - private SteamID steamID; + private final SteamID steamID; private List names; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PersonaState.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PersonaState.java index b8b8f2d3..f3bfcb15 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PersonaState.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PersonaState.java @@ -17,43 +17,43 @@ */ public class PersonaState { - private EnumSet statusFlags; + private final EnumSet statusFlags; - private SteamID friendID; + private final SteamID friendID; - private EPersonaState state; + private final EPersonaState state; - private EnumSet stateFlags; + private final EnumSet stateFlags; - private int gameAppID; + private final int gameAppID; - private GameID gameID; + private final GameID gameID; - private String gameName; + private final String gameName; - private InetAddress gameServerIP; + private final InetAddress gameServerIP; - private int gameServerPort; + private final int gameServerPort; - private int queryPort; + private final int queryPort; - private SteamID sourceSteamID; + private final SteamID sourceSteamID; - private byte[] gameDataBlob; + private final byte[] gameDataBlob; - private String name; + private final String name; - private byte[] avatarHash; + private final byte[] avatarHash; - private Date lastLogOff; + private final Date lastLogOff; - private Date lastLogOn; + private final Date lastLogOn; - private int clanRank; + private final int clanRank; - private String clanTag; + private final String clanTag; - private int onlineSessionInstances; + private final int onlineSessionInstances; public PersonaState(CMsgClientPersonaState.Friend friend) { statusFlags = EClientPersonaStateFlag.from(friend.getPersonaStateFlags()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PlayerNickname.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PlayerNickname.java index a317d460..47566458 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PlayerNickname.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/PlayerNickname.java @@ -8,9 +8,9 @@ */ public class PlayerNickname { - private SteamID steamID; + private final SteamID steamID; - private String nickname; + private final String nickname; public PlayerNickname(CMsgClientPlayerNicknameList.PlayerNickname nickname) { this.nickname = nickname.getNickname(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriends.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriends.java index ffe04bf5..a2067157 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriends.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriends.java @@ -24,7 +24,7 @@ import in.dragonbra.javasteam.util.log.Logger; import java.io.IOException; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.*; /** @@ -40,120 +40,25 @@ public class SteamFriends extends ClientMsgHandler { public SteamFriends() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientPersonaState, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePersonaState(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientClanState, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleClanState(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientFriendsList, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFriendsList(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientFriendMsgIncoming, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFriendMsg(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientFriendMsgEchoToSender, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFriendEchoMsg(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatGetFriendMessageHistoryResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFriendMessageHistoryResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientAddFriendResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFriendResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatEnter, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleChatEnter(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatMsg, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleChatMsg(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatMemberInfo, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleChatMemberInfo(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatRoomInfo, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleChatRoomInfo(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatActionResult, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleChatActionResult(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatInvite, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleChatInvite(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientSetIgnoreFriendResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleIgnoreFriendResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientFriendProfileInfoResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleProfileInfoResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPersonaChangeResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePersonaChangeResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPlayerNicknameList, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleNicknameList(packetMsg); - } - }); - dispatchMap.put(EMsg.AMClientSetPlayerNicknameResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePlayerNicknameResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientAMGetPersonaNameHistoryResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleAliasHistoryResponse(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientPersonaState, this::handlePersonaState); + dispatchMap.put(EMsg.ClientClanState, this::handleClanState); + dispatchMap.put(EMsg.ClientFriendsList, this::handleFriendsList); + dispatchMap.put(EMsg.ClientFriendMsgIncoming, this::handleFriendMsg); + dispatchMap.put(EMsg.ClientFriendMsgEchoToSender, this::handleFriendEchoMsg); + dispatchMap.put(EMsg.ClientChatGetFriendMessageHistoryResponse, this::handleFriendMessageHistoryResponse); + dispatchMap.put(EMsg.ClientAddFriendResponse, this::handleFriendResponse); + dispatchMap.put(EMsg.ClientChatEnter, this::handleChatEnter); + dispatchMap.put(EMsg.ClientChatMsg, this::handleChatMsg); + dispatchMap.put(EMsg.ClientChatMemberInfo, this::handleChatMemberInfo); + dispatchMap.put(EMsg.ClientChatRoomInfo, this::handleChatRoomInfo); + dispatchMap.put(EMsg.ClientChatActionResult, this::handleChatActionResult); + dispatchMap.put(EMsg.ClientChatInvite, this::handleChatInvite); + dispatchMap.put(EMsg.ClientSetIgnoreFriendResponse, this::handleIgnoreFriendResponse); + dispatchMap.put(EMsg.ClientFriendProfileInfoResponse, this::handleProfileInfoResponse); + dispatchMap.put(EMsg.ClientPersonaChangeResponse, this::handlePersonaChangeResponse); + dispatchMap.put(EMsg.ClientPlayerNicknameList, this::handleNicknameList); + dispatchMap.put(EMsg.AMClientSetPlayerNicknameResponse, this::handlePlayerNicknameResponse); + dispatchMap.put(EMsg.ClientAMGetPersonaNameHistoryResponse, this::handleAliasHistoryResponse); dispatchMap = Collections.unmodifiableMap(dispatchMap); } @@ -255,7 +160,7 @@ public void sendChatMessage(SteamID target, EChatEntryType type, String message) chatMsg.getBody().setSteamid(target.convertToUInt64()); chatMsg.getBody().setChatEntryType(type.code()); - chatMsg.getBody().setMessage(ByteString.copyFrom(message, Charset.forName("UTF-8"))); + chatMsg.getBody().setMessage(ByteString.copyFrom(message, StandardCharsets.UTF_8)); client.send(chatMsg); } @@ -387,7 +292,7 @@ public void sendChatRoomMessage(SteamID steamIdChat, EChatEntryType type, String chatMsg.getBody().setSteamIdChatter(client.getSteamID()); try { - chatMsg.writeNullTermString(message, Charset.forName("UTF-8")); + chatMsg.writeNullTermString(message, StandardCharsets.UTF_8); } catch (IOException e) { logger.debug(e); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatActionResultCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatActionResultCallback.java index 79d4e0a4..d5ccdbd0 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatActionResultCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatActionResultCallback.java @@ -11,19 +11,18 @@ */ public class ChatActionResultCallback extends CallbackMsg { - private SteamID chatRoomID; + private final SteamID chatRoomID; - private SteamID chatterID; + private final SteamID chatterID; - private EChatAction action; + private final EChatAction action; - private EChatActionResult result; + private final EChatActionResult result; public ChatActionResultCallback(MsgClientChatActionResult result) { - chatRoomID = result.getSteamIdChat(); - chatterID = result.getSteamIdUserActedOn(); - - action = result.getChatAction(); + this.chatRoomID = result.getSteamIdChat(); + this.chatterID = result.getSteamIdUserActedOn(); + this.action = result.getChatAction(); this.result = result.getActionResult(); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatEnterCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatEnterCallback.java index d5693d55..142026cd 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatEnterCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatEnterCallback.java @@ -10,7 +10,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -20,21 +20,21 @@ */ public class ChatEnterCallback extends CallbackMsg { - private SteamID chatID; + private final SteamID chatID; - private SteamID friendID; + private final SteamID friendID; - private EChatRoomType chatRoomType; + private final EChatRoomType chatRoomType; - private SteamID ownerID; + private final SteamID ownerID; - private SteamID clanID; + private final SteamID clanID; - private byte chatFlags; + private final byte chatFlags; - private EChatRoomEnterResponse enterResponse; + private final EChatRoomEnterResponse enterResponse; - private int numChatMembers; + private final int numChatMembers; private String chatRoomName; @@ -59,7 +59,7 @@ public ChatEnterCallback(MsgClientChatEnter msg, byte[] payload) { try (BinaryReader br = new BinaryReader(bais)) { // steamclient always attempts to read the chat room name, regardless of the enter response - chatRoomName = br.readNullTermString(Charset.forName("UTF-8")); + chatRoomName = br.readNullTermString(StandardCharsets.UTF_8); if (enterResponse != EChatRoomEnterResponse.Success) { // the rest of the payload depends on a successful chat enter diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatInviteCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatInviteCallback.java index d6eec070..87f11b3b 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatInviteCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatInviteCallback.java @@ -11,19 +11,19 @@ */ public class ChatInviteCallback extends CallbackMsg { - private SteamID invitedID; + private final SteamID invitedID; - private SteamID chatRoomID; + private final SteamID chatRoomID; - private SteamID patronID; + private final SteamID patronID; - private EChatRoomType chatRoomType; + private final EChatRoomType chatRoomType; - private SteamID friendChatID; + private final SteamID friendChatID; - private String chatRoomName; + private final String chatRoomName; - private GameID gameID; + private final GameID gameID; public ChatInviteCallback(CMsgClientChatInvite.Builder invite) { invitedID = new SteamID(invite.getSteamIdInvited()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMemberInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMemberInfoCallback.java index c1642050..675eba25 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMemberInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMemberInfoCallback.java @@ -17,9 +17,9 @@ */ public class ChatMemberInfoCallback extends CallbackMsg { - private SteamID chatRoomID; + private final SteamID chatRoomID; - private EChatInfoType type; + private final EChatInfoType type; private StateChangeDetails stateChangeInfo; @@ -27,6 +27,7 @@ public ChatMemberInfoCallback(MsgClientChatMemberInfo msg, byte[] payload) { chatRoomID = msg.getSteamIdChat(); type = msg.getType(); + //noinspection SwitchStatementWithTooFewBranches switch (type) { case StateChange: stateChangeInfo = new StateChangeDetails(payload); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMsgCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMsgCallback.java index cb57293c..fbc71848 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMsgCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatMsgCallback.java @@ -5,27 +5,27 @@ import in.dragonbra.javasteam.steam.steamclient.callbackmgr.CallbackMsg; import in.dragonbra.javasteam.types.SteamID; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; /** * This callback is fired when a chat room message arrives. */ public class ChatMsgCallback extends CallbackMsg { - private SteamID chatterID; + private final SteamID chatterID; - private SteamID chatRoomID; + private final SteamID chatRoomID; - private EChatEntryType chatMsgType; + private final EChatEntryType chatMsgType; - private String message; + private final String message; public ChatMsgCallback(MsgClientChatMsg msg, byte[] payload) { chatterID = msg.getSteamIdChatter(); chatRoomID = msg.getSteamIdChatRoom(); chatMsgType = msg.getChatMsgType(); - message = new String(payload, Charset.forName("UTF-8")).replaceAll("\0+$", ""); // trim any extra null chars from the end + message = new String(payload, StandardCharsets.UTF_8).replaceAll("\0+$", ""); // trim any extra null chars from the end } /** diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatRoomInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatRoomInfoCallback.java index 78b882cd..f19efe53 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatRoomInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ChatRoomInfoCallback.java @@ -10,9 +10,9 @@ */ public class ChatRoomInfoCallback extends CallbackMsg { - private SteamID chatRoomID; + private final SteamID chatRoomID; - private EChatInfoType type; + private final EChatInfoType type; public ChatRoomInfoCallback(MsgClientChatRoomInfo msg, byte[] payload) { chatRoomID = msg.getSteamIdChat(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ClanStateCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ClanStateCallback.java index 8ba41197..955822bc 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ClanStateCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ClanStateCallback.java @@ -16,11 +16,11 @@ */ public class ClanStateCallback extends CallbackMsg { - private SteamID clanID; + private final SteamID clanID; - private EnumSet accountFlags; + private final EnumSet accountFlags; - private boolean chatRoomPrivate; + private final boolean chatRoomPrivate; private String clanName; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendAddedCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendAddedCallback.java index 8adc0b0f..0dbc87de 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendAddedCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendAddedCallback.java @@ -10,11 +10,11 @@ */ public class FriendAddedCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private SteamID steamID; + private final SteamID steamID; - private String personaName; + private final String personaName; public FriendAddedCallback(CMsgClientAddFriendResponse.Builder msg) { result = EResult.from(msg.getEresult()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgCallback.java index 50544a58..139cdfc7 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgCallback.java @@ -5,18 +5,18 @@ import in.dragonbra.javasteam.steam.steamclient.callbackmgr.CallbackMsg; import in.dragonbra.javasteam.types.SteamID; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; /** * This callback is fired in response to receiving a message from a friend. */ public class FriendMsgCallback extends CallbackMsg { - private SteamID sender; + private final SteamID sender; - private EChatEntryType entryType; + private final EChatEntryType entryType; - private boolean fromLimitedAccount; + private final boolean fromLimitedAccount; private String message; @@ -27,7 +27,7 @@ public FriendMsgCallback(CMsgClientFriendMsgIncoming.Builder msg) { fromLimitedAccount = msg.getFromLimitedAccount(); if (msg.hasMessage()) { - message = msg.getMessage().toString(Charset.forName("UTF-8")); + message = msg.getMessage().toString(StandardCharsets.UTF_8); message = message.replaceAll("\0+$", ""); // trim any extra null chars from the end } } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgEchoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgEchoCallback.java index bbdeca43..e90c64e3 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgEchoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgEchoCallback.java @@ -5,18 +5,18 @@ import in.dragonbra.javasteam.steam.steamclient.callbackmgr.CallbackMsg; import in.dragonbra.javasteam.types.SteamID; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; /** * This callback is fired in response to receiving an echo message from another instance. */ public class FriendMsgEchoCallback extends CallbackMsg { - private SteamID sender; + private final SteamID sender; - private EChatEntryType entryType; + private final EChatEntryType entryType; - private boolean fromLimitedAccount; + private final boolean fromLimitedAccount; private String message; @@ -27,7 +27,7 @@ public FriendMsgEchoCallback(CMsgClientFriendMsgIncoming.Builder msg) { fromLimitedAccount = msg.getFromLimitedAccount(); if (msg.hasMessage()) { - message = msg.getMessage().toString(Charset.forName("UTF-8")); + message = msg.getMessage().toString(StandardCharsets.UTF_8); message = message.replaceAll("\0+$", ""); // trim any extra null chars from the end } } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgHistoryCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgHistoryCallback.java index fd48923c..89be7929 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgHistoryCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendMsgHistoryCallback.java @@ -22,11 +22,11 @@ */ public class FriendMsgHistoryCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private SteamID steamID; + private final SteamID steamID; - private List messages; + private final List messages; public FriendMsgHistoryCallback(CMsgClientChatGetFriendMessageHistoryResponse.Builder msg, EUniverse universe) { result = EResult.from(msg.getSuccess()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendsListCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendsListCallback.java index 173ac507..f2a3033c 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendsListCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/FriendsListCallback.java @@ -13,9 +13,9 @@ */ public class FriendsListCallback extends CallbackMsg { - private boolean incremental; + private final boolean incremental; - private List friendList; + private final List friendList; public FriendsListCallback(CMsgClientFriendsList.Builder msg) { incremental = msg.getBincremental(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/IgnoreFriendCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/IgnoreFriendCallback.java index 005fa313..e937bd1b 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/IgnoreFriendCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/IgnoreFriendCallback.java @@ -10,7 +10,7 @@ */ public class IgnoreFriendCallback extends CallbackMsg { - private EResult result; + private final EResult result; public IgnoreFriendCallback(JobID jobID, MsgClientSetIgnoreFriendResponse response) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/NicknameCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/NicknameCallback.java index bbe3fe84..3206d915 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/NicknameCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/NicknameCallback.java @@ -12,7 +12,7 @@ */ public class NicknameCallback extends CallbackMsg { - private EResult result; + private final EResult result; public NicknameCallback(JobID jobID, CMsgClientSetPlayerNicknameResponse.Builder body) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaChangeCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaChangeCallback.java index 13871905..db872cda 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaChangeCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaChangeCallback.java @@ -13,9 +13,9 @@ */ public class PersonaChangeCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private String name; + private final String name; public PersonaChangeCallback(JobID jobID, CMsgPersonaChangeResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaStatesCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaStatesCallback.java index 2f0bbb5d..49bfbc00 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaStatesCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/PersonaStatesCallback.java @@ -12,7 +12,7 @@ */ public class PersonaStatesCallback extends CallbackMsg { - private List personaStates = new LinkedList<>(); + private final List personaStates = new LinkedList<>(); public PersonaStatesCallback(CMsgClientPersonaState.Builder body) { for (CMsgClientPersonaState.Friend friend : body.getFriendsList()) { diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ProfileInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ProfileInfoCallback.java index 6fb2f540..fd575109 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ProfileInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamfriends/callback/ProfileInfoCallback.java @@ -13,23 +13,23 @@ */ public class ProfileInfoCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private SteamID steamID; + private final SteamID steamID; - private Date timeCreated; + private final Date timeCreated; - private String realName; + private final String realName; - private String cityName; + private final String cityName; - private String stateName; + private final String stateName; - private String countryName; + private final String countryName; - private String headline; + private final String headline; - private String summary; + private final String summary; public ProfileInfoCallback(JobID jobID, CMsgClientFriendProfileInfoResponse.Builder response) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/SteamGameCoordinator.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/SteamGameCoordinator.java index 066c9c14..cd2fd201 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/SteamGameCoordinator.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/SteamGameCoordinator.java @@ -25,12 +25,7 @@ public class SteamGameCoordinator extends ClientMsgHandler { public SteamGameCoordinator() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientFromGC, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFromGC(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientFromGC, this::handleFromGC); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/callback/MessageCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/callback/MessageCallback.java index 7ddd138b..5d99e234 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/callback/MessageCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgamecoordinator/callback/MessageCallback.java @@ -13,11 +13,11 @@ */ public class MessageCallback extends CallbackMsg { - private int eMsg; + private final int eMsg; - private int appID; + private final int appID; - private IPacketGCMsg message; + private final IPacketGCMsg message; public MessageCallback(JobID jobID, CMsgGCClient.Builder gcMsg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/SteamGameServer.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/SteamGameServer.java index eff2b454..5431e067 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/SteamGameServer.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/SteamGameServer.java @@ -40,19 +40,8 @@ public class SteamGameServer extends ClientMsgHandler { public SteamGameServer() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.GSStatusReply, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleStatusReply(packetMsg); - } - }); - - dispatchMap.put(EMsg.ClientTicketAuthComplete, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleAuthComplete(packetMsg); - } - }); + dispatchMap.put(EMsg.GSStatusReply, this::handleStatusReply); + dispatchMap.put(EMsg.ClientTicketAuthComplete, this::handleAuthComplete); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/StatusReplyCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/StatusReplyCallback.java index 8f349319..826a5cb3 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/StatusReplyCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/StatusReplyCallback.java @@ -7,7 +7,8 @@ * This callback is fired when the game server receives a status reply. */ public class StatusReplyCallback extends CallbackMsg { - private boolean secure; + + private final boolean secure; public StatusReplyCallback(CMsgGSStatusReply.Builder reply) { secure = reply.getIsSecure(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/TicketAuthCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/TicketAuthCallback.java index 5e15b4d2..faabf4ac 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/TicketAuthCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamgameserver/callback/TicketAuthCallback.java @@ -11,17 +11,17 @@ */ public class TicketAuthCallback extends CallbackMsg { - private SteamID steamID; + private final SteamID steamID; - private GameID gameID; + private final GameID gameID; - private int state; + private final int state; - private EAuthSessionResponse authSessionResponse; + private final EAuthSessionResponse authSessionResponse; - private int ticketCrc; + private final int ticketCrc; - private int ticketSequence; + private final int ticketSequence; public TicketAuthCallback(CMsgClientTicketAuthComplete.Builder tickAuth) { steamID = new SteamID(tickAuth.getSteamId()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/Server.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/Server.java index f281e2e3..ebabf88f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/Server.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/Server.java @@ -10,13 +10,12 @@ */ public class Server { - private InetSocketAddress endPoint; + private final InetSocketAddress endPoint; - private int authedPlayers; + private final int authedPlayers; - //NOTE: getDeprecatedServerIp() added public Server(CMsgGMSClientServerQueryResponse.Server server) { - endPoint = new InetSocketAddress(NetHelpers.getIPAddress(server.getDeprecatedServerIp()), server.getQueryPort()); + endPoint = new InetSocketAddress(NetHelpers.getIPAddress(server.getServerIp().getV4()), server.getQueryPort()); authedPlayers = server.getAuthPlayers(); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/SteamMasterServer.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/SteamMasterServer.java index b8e8dc94..947f32d7 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/SteamMasterServer.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/SteamMasterServer.java @@ -25,12 +25,7 @@ public class SteamMasterServer extends ClientMsgHandler { public SteamMasterServer() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.GMSClientServerQueryResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleServerQueryResponse(packetMsg); - } - }); + dispatchMap.put(EMsg.GMSClientServerQueryResponse, this::handleServerQueryResponse); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/callback/QueryCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/callback/QueryCallback.java index f0e55a57..0483fb83 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/callback/QueryCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammasterserver/callback/QueryCallback.java @@ -16,7 +16,7 @@ */ public class QueryCallback extends CallbackMsg { - private List servers; + private final List servers; public QueryCallback(JobID jobID, CMsgGMSClientServerQueryResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/Notification.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/Notification.java index 1b5ecfc5..fc9bd0fa 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/Notification.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/Notification.java @@ -7,9 +7,9 @@ */ public class Notification { - private int count; + private final int count; - private int type; + private final int type; public Notification(CMsgClientUserNotifications.Notification notification) { count = notification.getCount(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/SteamNotifications.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/SteamNotifications.java index 40a35c6c..d45b6cf8 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/SteamNotifications.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/SteamNotifications.java @@ -25,30 +25,10 @@ public class SteamNotifications extends ClientMsgHandler { public SteamNotifications() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientUserNotifications, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleUserNotifications(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientChatOfflineMessageNotification, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleOfflineMessageNotification(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientCommentNotifications, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleCommentNotifications(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientItemAnnouncements, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleItemAnnouncements(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientUserNotifications, this::handleUserNotifications); + dispatchMap.put(EMsg.ClientChatOfflineMessageNotification, this::handleOfflineMessageNotification); + dispatchMap.put(EMsg.ClientCommentNotifications, this::handleCommentNotifications); + dispatchMap.put(EMsg.ClientItemAnnouncements, this::handleItemAnnouncements); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/CommentNotificationsCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/CommentNotificationsCallback.java index dca3d2e3..f044c1cd 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/CommentNotificationsCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/CommentNotificationsCallback.java @@ -9,11 +9,11 @@ */ public class CommentNotificationsCallback extends CallbackMsg { - private int commentCount; + private final int commentCount; - private int commentOwnerCount; + private final int commentOwnerCount; - private int commentSubscriptionsCount; + private final int commentSubscriptionsCount; public CommentNotificationsCallback(CMsgClientCommentNotifications.Builder msg) { commentCount = msg.getCountNewComments(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/ItemAnnouncementsCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/ItemAnnouncementsCallback.java index a02ffa8d..ae68b727 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/ItemAnnouncementsCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/ItemAnnouncementsCallback.java @@ -9,7 +9,7 @@ */ public class ItemAnnouncementsCallback extends CallbackMsg { - private int count; + private final int count; public ItemAnnouncementsCallback(CMsgClientItemAnnouncements.Builder msg) { count = msg.getCountNewItems(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/OfflineMessageNotificationCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/OfflineMessageNotificationCallback.java index 99f70250..6bb5d08b 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/OfflineMessageNotificationCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/OfflineMessageNotificationCallback.java @@ -14,7 +14,7 @@ */ public class OfflineMessageNotificationCallback extends CallbackMsg { - private int messageCount; + private final int messageCount; private List friendsWithOfflineMessages; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/UserNotificationsCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/UserNotificationsCallback.java index b89e9c7b..1395a4b4 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/UserNotificationsCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamnotifications/callback/UserNotificationsCallback.java @@ -12,7 +12,7 @@ */ public class UserNotificationsCallback extends CallbackMsg { - private List notifications; + private final List notifications; public UserNotificationsCallback(CMsgClientUserNotifications.Builder msg) { notifications = new ArrayList<>(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/SteamScreenshots.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/SteamScreenshots.java index 7650a9c4..40ac1d35 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/SteamScreenshots.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/SteamScreenshots.java @@ -29,12 +29,7 @@ public class SteamScreenshots extends ClientMsgHandler { public SteamScreenshots() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientUCMAddScreenshotResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleUCMAddScreenshot(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientUCMAddScreenshotResponse, this::handleUCMAddScreenshot); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/callback/ScreenshotAddedCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/callback/ScreenshotAddedCallback.java index 47a294ff..65504f3e 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/callback/ScreenshotAddedCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamscreenshots/callback/ScreenshotAddedCallback.java @@ -11,9 +11,9 @@ */ public class ScreenshotAddedCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private UGCHandle screenshotID; + private final UGCHandle screenshotID; public ScreenshotAddedCallback(JobID jobID, CMsgClientUCMAddScreenshotResponse.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/SteamTrading.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/SteamTrading.java index a0e9d698..b7e55d0e 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/SteamTrading.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/SteamTrading.java @@ -28,24 +28,9 @@ public class SteamTrading extends ClientMsgHandler { public SteamTrading() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.EconTrading_InitiateTradeProposed, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleTradeProposed(packetMsg); - } - }); - dispatchMap.put(EMsg.EconTrading_InitiateTradeResult, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleTradeResult(packetMsg); - } - }); - dispatchMap.put(EMsg.EconTrading_StartSession, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleStartSession(packetMsg); - } - }); + dispatchMap.put(EMsg.EconTrading_InitiateTradeProposed, this::handleTradeProposed); + dispatchMap.put(EMsg.EconTrading_InitiateTradeResult, this::handleTradeResult); + dispatchMap.put(EMsg.EconTrading_StartSession, this::handleStartSession); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/SessionStartCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/SessionStartCallback.java index b837fa7c..834ca2b5 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/SessionStartCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/SessionStartCallback.java @@ -9,7 +9,7 @@ */ public class SessionStartCallback extends CallbackMsg { - private SteamID otherClient; + private final SteamID otherClient; public SessionStartCallback(CMsgTrading_StartSession.Builder msg) { otherClient = new SteamID(msg.getOtherSteamid()); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeProposedCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeProposedCallback.java index 29f68cce..beacf1ef 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeProposedCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeProposedCallback.java @@ -9,9 +9,9 @@ */ public class TradeProposedCallback extends CallbackMsg { - private int tradeID; + private final int tradeID; - private SteamID otherClient; + private final SteamID otherClient; public TradeProposedCallback(CMsgTrading_InitiateTradeRequest.Builder msg) { tradeID = msg.getTradeRequestId(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeResultCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeResultCallback.java index a07acd1b..0c9a800f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeResultCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamtrading/callback/TradeResultCallback.java @@ -10,19 +10,19 @@ */ public class TradeResultCallback extends CallbackMsg { - private int tradeID; + private final int tradeID; - private EEconTradeResponse response; + private final EEconTradeResponse response; - private SteamID otherClient; + private final SteamID otherClient; - private int numDaysSteamGuardRequired; + private final int numDaysSteamGuardRequired; - private int numDaysNewDeviceCooldown; + private final int numDaysNewDeviceCooldown; - private int defaultNumDaysPasswordResetProbation; + private final int defaultNumDaysPasswordResetProbation; - private int numDaysPasswordResetProbation; + private final int numDaysPasswordResetProbation; public TradeResultCallback(CMsgTrading_InitiateTradeResponse.Builder msg) { tradeID = msg.getTradeRequestId(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.java index ed860817..1691b69c 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.java @@ -36,7 +36,7 @@ public class LogOnDetails { private EOSType clientOSType; - private String clientLanguage = ""; + private String clientLanguage; public LogOnDetails() { accountInstance = SteamID.DESKTOP_INSTANCE; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.java index 0e58cf5a..3d5d072b 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.java @@ -15,7 +15,6 @@ import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesBase; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver.CMsgClientSessionToken; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver.CMsgClientWalletInfoUpdate; -import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientEmailAddrInfo; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientPlayingSessionState; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientUpdateMachineAuth; @@ -45,78 +44,18 @@ public class SteamUser extends ClientMsgHandler { public SteamUser() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientLogOnResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleLogOnResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientLoggedOff, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleLoggedOff(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientNewLoginKey, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleLoginKey(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientSessionToken, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleSessionToken(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientUpdateMachineAuth, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleUpdateMachineAuth(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientAccountInfo, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleAccountInfo(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientEmailAddrInfo, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleEmailAddrInfo(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientWalletInfoUpdate, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleWalletInfo(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientRequestWebAPIAuthenticateUserNonceResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleWebAPIUserNonce(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientVanityURLChangedNotification, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleVanityURLChangedNotification(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientMarketingMessageUpdate2, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleMarketingMessageUpdate(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientPlayingSessionState, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handlePlayingSessionState(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientLogOnResponse, this::handleLogOnResponse); + dispatchMap.put(EMsg.ClientLoggedOff, this::handleLoggedOff); + dispatchMap.put(EMsg.ClientNewLoginKey, this::handleLoginKey); + dispatchMap.put(EMsg.ClientSessionToken, this::handleSessionToken); + dispatchMap.put(EMsg.ClientUpdateMachineAuth, this::handleUpdateMachineAuth); + dispatchMap.put(EMsg.ClientAccountInfo, this::handleAccountInfo); + dispatchMap.put(EMsg.ClientEmailAddrInfo, this::handleEmailAddrInfo); + dispatchMap.put(EMsg.ClientWalletInfoUpdate, this::handleWalletInfo); + dispatchMap.put(EMsg.ClientRequestWebAPIAuthenticateUserNonceResponse, this::handleWebAPIUserNonce); + dispatchMap.put(EMsg.ClientVanityURLChangedNotification, this::handleVanityURLChangedNotification); + dispatchMap.put(EMsg.ClientMarketingMessageUpdate2, this::handleMarketingMessageUpdate); + dispatchMap.put(EMsg.ClientPlayingSessionState, this::handlePlayingSessionState); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/AccountInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/AccountInfoCallback.java index bceb32bc..ca58f0a5 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/AccountInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/AccountInfoCallback.java @@ -12,17 +12,17 @@ */ public class AccountInfoCallback extends CallbackMsg { - private String personaName; + private final String personaName; - private String country; + private final String country; - private int countAuthedComputers; + private final int countAuthedComputers; - private EnumSet accountFlags; + private final EnumSet accountFlags; - private long facebookID; + private final long facebookID; - private String facebookName; + private final String facebookName; public AccountInfoCallback(CMsgClientAccountInfo.Builder msg) { personaName = msg.getPersonaName(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/EmailAddrInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/EmailAddrInfoCallback.java index 90594f32..ab824a2f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/EmailAddrInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/EmailAddrInfoCallback.java @@ -8,17 +8,17 @@ */ public class EmailAddrInfoCallback extends CallbackMsg { - private String emailAddress; + private final String emailAddress; - private boolean emailIsValidated; + private final boolean emailIsValidated; - private boolean emailValidationChanged; + private final boolean emailValidationChanged; - private boolean credentialChangeRequiresCode; + private final boolean credentialChangeRequiresCode; - private boolean passwordOrSecretqaChangeRequiresCode; + private final boolean passwordOrSecretqaChangeRequiresCode; - private boolean remindUserAboutEmail; + private final boolean remindUserAboutEmail; public EmailAddrInfoCallback(CMsgClientEmailAddrInfo.Builder msg) { emailAddress = msg.getEmailAddress(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOffCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOffCallback.java index 5ab7c5da..ee7b6f22 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOffCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOffCallback.java @@ -8,7 +8,7 @@ */ public class LoggedOffCallback extends CallbackMsg { - private EResult result; + private final EResult result; public LoggedOffCallback(EResult result) { this.result = result; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOnCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOnCallback.java index fe1ed4b2..35a0daec 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOnCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoggedOnCallback.java @@ -22,7 +22,7 @@ */ public class LoggedOnCallback extends CallbackMsg { - private EResult result; + private final EResult result; private EResult extendedResult; @@ -104,7 +104,7 @@ public LoggedOnCallback(MsgClientLogOnResponse resp) { outOfGameSecsPerHeartbeat = resp.getOutOfGameHeartbeatRateSec(); inGameSecsPerHeartbeat = resp.getInGameHeartbeatRateSec(); - publicIP = NetHelpers.getIPAddress((int) resp.getIpPublic()); + publicIP = NetHelpers.getIPAddress(resp.getIpPublic()); serverTime = new Date(resp.getServerRealTime() * 1000L); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoginKeyCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoginKeyCallback.java index e9d3f414..78180efc 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoginKeyCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/LoginKeyCallback.java @@ -8,9 +8,9 @@ */ public class LoginKeyCallback extends CallbackMsg { - private String loginKey; + private final String loginKey; - private int uniqueID; + private final int uniqueID; public LoginKeyCallback(CMsgClientNewLoginKey.Builder logKey) { this.loginKey = logKey.getLoginKey(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/MarketingMessageCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/MarketingMessageCallback.java index 7aecdbe9..b2164afb 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/MarketingMessageCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/MarketingMessageCallback.java @@ -10,7 +10,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.*; /** @@ -20,9 +20,9 @@ public class MarketingMessageCallback extends CallbackMsg { private static final Logger logger = LogManager.getLogger(MarketingMessageCallback.class); - private Date updateTime; + private final Date updateTime; - private Collection messages; + private final Collection messages; public MarketingMessageCallback(MsgClientMarketingMessageUpdate2 body, byte[] payload) { updateTime = new Date(body.getMarketingMessageUpdateTime() * 1000L); @@ -70,7 +70,7 @@ public static class Message { Message(byte[] data) { try (BinaryReader br = new BinaryReader(new ByteArrayInputStream(data))) { id = new GlobalID(br.readLong()); - url = br.readNullTermString(Charset.forName("UTF-8")); + url = br.readNullTermString(StandardCharsets.UTF_8); flags = EMarketingMessageFlags.from(br.readInt()); } catch (IOException e) { logger.debug(e); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/PlayingSessionStateCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/PlayingSessionStateCallback.java index bca0feab..3d6f5a31 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/PlayingSessionStateCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/PlayingSessionStateCallback.java @@ -11,9 +11,9 @@ */ public class PlayingSessionStateCallback extends CallbackMsg { - private boolean playingBlocked; + private final boolean playingBlocked; - private int playingAppID; + private final int playingAppID; public PlayingSessionStateCallback(JobID jobID, CMsgClientPlayingSessionState.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/SessionTokenCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/SessionTokenCallback.java index b40d279e..6df40421 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/SessionTokenCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/SessionTokenCallback.java @@ -9,7 +9,7 @@ */ public class SessionTokenCallback extends CallbackMsg { - private long sessionToken; + private final long sessionToken; public SessionTokenCallback(SteammessagesClientserver.CMsgClientSessionToken.Builder msg) { sessionToken = msg.getToken(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/UpdateMachineAuthCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/UpdateMachineAuthCallback.java index 2f0f434a..1bc1b54e 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/UpdateMachineAuthCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/UpdateMachineAuthCallback.java @@ -9,15 +9,15 @@ */ public class UpdateMachineAuthCallback extends CallbackMsg { - private byte[] data; + private final byte[] data; - private int bytesToWrite; + private final int bytesToWrite; - private int offset; + private final int offset; - private String fileName; + private final String fileName; - private OTPDetails oneTimePassword; + private final OTPDetails oneTimePassword; public UpdateMachineAuthCallback(JobID jobID, CMsgClientUpdateMachineAuth.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/VanityURLChangedCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/VanityURLChangedCallback.java index e5f18d1d..f7a656a4 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/VanityURLChangedCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/VanityURLChangedCallback.java @@ -9,7 +9,7 @@ */ public class VanityURLChangedCallback extends CallbackMsg { - private String vanityUrl; + private final String vanityUrl; public VanityURLChangedCallback(JobID jobID, SteammessagesClientserver2.CMsgClientVanityURLChangedNotification.Builder msg) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WalletInfoCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WalletInfoCallback.java index 4fe51894..e1696ece 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WalletInfoCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WalletInfoCallback.java @@ -9,13 +9,13 @@ */ public class WalletInfoCallback extends CallbackMsg { - private boolean hasWallet; + private final boolean hasWallet; - private ECurrencyCode currency; + private final ECurrencyCode currency; - private int balance; + private final int balance; - private long longBalance; + private final long longBalance; public WalletInfoCallback(CMsgClientWalletInfoUpdate.Builder wallet) { hasWallet = wallet.getHasWallet(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WebAPIUserNonceCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WebAPIUserNonceCallback.java index c8a1415e..40f231b7 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WebAPIUserNonceCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/callback/WebAPIUserNonceCallback.java @@ -10,9 +10,9 @@ */ public class WebAPIUserNonceCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private String nonce; + private final String nonce; public WebAPIUserNonceCallback(JobID jobID, CMsgClientRequestWebAPIAuthenticateUserNonceResponse.Builder body) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/LeaderboardEntry.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/LeaderboardEntry.java index 200b762c..a8bee9bb 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/LeaderboardEntry.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/LeaderboardEntry.java @@ -16,13 +16,13 @@ */ public class LeaderboardEntry { - private SteamID steamID; + private final SteamID steamID; - private int globalRank; + private final int globalRank; - private int score; + private final int score; - private UGCHandle ugcId; + private final UGCHandle ugcId; private List details; diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/SteamUserStats.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/SteamUserStats.java index ed945856..5773b6fb 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/SteamUserStats.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/SteamUserStats.java @@ -33,24 +33,9 @@ public class SteamUserStats extends ClientMsgHandler { public SteamUserStats() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientGetNumberOfCurrentPlayersDPResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleNumberOfPlayersResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientLBSFindOrCreateLBResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleFindOrCreateLBResponse(packetMsg); - } - }); - dispatchMap.put(EMsg.ClientLBSGetLBEntriesResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleGetLBEntriesResponse(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientGetNumberOfCurrentPlayersDPResponse, this::handleNumberOfPlayersResponse); + dispatchMap.put(EMsg.ClientLBSFindOrCreateLBResponse, this::handleFindOrCreateLBResponse); + dispatchMap.put(EMsg.ClientLBSGetLBEntriesResponse, this::handleGetLBEntriesResponse); dispatchMap = Collections.unmodifiableMap(dispatchMap); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/FindOrCreateLeaderboardCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/FindOrCreateLeaderboardCallback.java index 2547a7a8..dd41ebab 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/FindOrCreateLeaderboardCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/FindOrCreateLeaderboardCallback.java @@ -14,15 +14,15 @@ */ public class FindOrCreateLeaderboardCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int id; + private final int id; - private int entryCount; + private final int entryCount; - private ELeaderboardSortMethod sortMethod; + private final ELeaderboardSortMethod sortMethod; - private ELeaderboardDisplayType displayType; + private final ELeaderboardDisplayType displayType; public FindOrCreateLeaderboardCallback(JobID jobID, CMsgClientLBSFindOrCreateLBResponse.Builder resp) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/LeaderboardEntriesCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/LeaderboardEntriesCallback.java index 23611919..177e586f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/LeaderboardEntriesCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/LeaderboardEntriesCallback.java @@ -17,11 +17,11 @@ */ public class LeaderboardEntriesCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int entryCount; + private final int entryCount; - private List entries; + private final List entries; public LeaderboardEntriesCallback(JobID jobID, CMsgClientLBSGetLBEntriesResponse.Builder resp) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/NumberOfPlayersCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/NumberOfPlayersCallback.java index 9f8b73e9..90a7d0f5 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/NumberOfPlayersCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/callback/NumberOfPlayersCallback.java @@ -11,9 +11,9 @@ */ public class NumberOfPlayersCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private int numPlayers; + private final int numPlayers; public NumberOfPlayersCallback(JobID jobID, CMsgDPGetNumberOfCurrentPlayersResponse.Builder resp) { setJobID(jobID); diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/SteamWorkshop.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/SteamWorkshop.java index 5548c3a1..26e9a04e 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/SteamWorkshop.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/SteamWorkshop.java @@ -24,18 +24,13 @@ public class SteamWorkshop extends ClientMsgHandler { public SteamWorkshop() { dispatchMap = new HashMap<>(); - dispatchMap.put(EMsg.ClientUCMEnumeratePublishedFilesByUserActionResponse, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleEnumPublishedFilesByAction(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientUCMEnumeratePublishedFilesByUserActionResponse, this::handleEnumPublishedFilesByAction); dispatchMap = Collections.unmodifiableMap(dispatchMap); } /** - * Enumerates the list of published files for the current logged in user based on user action. + * Enumerates the list of published files for the current logged-in user based on user action. * Results are returned in a {@link UserActionPublishedFilesCallback}. * * @param details The specific details of the request. diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/callback/UserActionPublishedFilesCallback.java b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/callback/UserActionPublishedFilesCallback.java index 176dbca2..4a6f2f9a 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/callback/UserActionPublishedFilesCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamworkshop/callback/UserActionPublishedFilesCallback.java @@ -17,11 +17,11 @@ */ public class UserActionPublishedFilesCallback extends CallbackMsg { - private EResult result; + private final EResult result; - private List files; + private final List files; - private int totalResults; + private final int totalResults; public UserActionPublishedFilesCallback(JobID jobID, CMsgClientUCMEnumeratePublishedFilesByUserActionResponse.Builder msg) { setJobID(jobID); @@ -63,9 +63,9 @@ public int getTotalResults() { */ public static class File { - private long fileID; + private final long fileID; - private Date timestamp; + private final Date timestamp; public File(CMsgClientUCMEnumeratePublishedFilesByUserActionResponse.PublishedFileId file) { fileID = file.getPublishedFileId(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/SteamClient.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/SteamClient.java index 4af9ccfd..30305c48 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/SteamClient.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/SteamClient.java @@ -40,17 +40,17 @@ public class SteamClient extends CMClient { private static final Logger logger = LogManager.getLogger(SteamClient.class); - private Map, ClientMsgHandler> handlers = new HashMap<>(); + private final Map, ClientMsgHandler> handlers = new HashMap<>(); - private AtomicLong currentJobId = new AtomicLong(0L); + private final AtomicLong currentJobId = new AtomicLong(0L); - private Date processStartTime; + private final Date processStartTime; private final Object callbackLock = new Object(); - private Queue callbackQueue = new LinkedList<>(); + private final Queue callbackQueue = new LinkedList<>(); - private Map> dispatchMap = new HashMap<>(); + private final Map> dispatchMap = new HashMap<>(); /** * Initializes a new instance of the {@link SteamClient} class with the default configuration. @@ -84,24 +84,9 @@ public SteamClient(SteamConfiguration configuration) { processStartTime = new Date(); - dispatchMap.put(EMsg.ClientCMList, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleCMList(packetMsg); - } - }); - dispatchMap.put(EMsg.JobHeartbeat, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleJobHeartbeat(packetMsg); - } - }); - dispatchMap.put(EMsg.DestJobFailed, new Consumer() { - @Override - public void accept(IPacketMsg packetMsg) { - handleJobFailed(packetMsg); - } - }); + dispatchMap.put(EMsg.ClientCMList, this::handleCMList); + dispatchMap.put(EMsg.JobHeartbeat, this::handleJobHeartbeat); + dispatchMap.put(EMsg.DestJobFailed, this::handleJobFailed); } /** diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Callback.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Callback.java index 9a63a669..77b070c7 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Callback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Callback.java @@ -9,11 +9,11 @@ public class Callback extends CallbackBase implement ICallbackMgrInternals mgr; - private JobID jobID; + private final JobID jobID; - private Consumer onRun; + private final Consumer onRun; - private Class callbackType; + private final Class callbackType; public Callback(Class callbackType, Consumer func) { this(callbackType, func, null); @@ -41,7 +41,7 @@ void attachTo(ICallbackMgrInternals mgr) { } @Override - Class getCallbackType() { + Class getCallbackType() { return callbackType; } diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackBase.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackBase.java index 28e6cefe..d9c73ded 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackBase.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackBase.java @@ -5,7 +5,7 @@ * This is for internal use only, and shouldn't be used directly. */ abstract class CallbackBase { - abstract Class getCallbackType(); + abstract Class getCallbackType(); abstract void run(Object callback); } diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManager.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManager.java index 91151f1e..bff2ae7f 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManager.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManager.java @@ -17,14 +17,14 @@ */ public class CallbackManager implements ICallbackMgrInternals { - private SteamClient steamClient; + private final SteamClient steamClient; - private Set registeredCallbacks = Collections.newSetFromMap(new ConcurrentHashMap()); + private final Set registeredCallbacks = Collections.newSetFromMap(new ConcurrentHashMap<>()); /** * Initializes a new instance of the {@link CallbackManager} class. * - * @param steamClient The {@link in.dragonbra.javasteam.steam.steamclient.SteamClient SteamClient} instance to handle the callbacks of. + * @param steamClient The {@link SteamClient SteamClient} instance to handle the callbacks of. */ public CallbackManager(SteamClient steamClient) { if (steamClient == null) { diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Subscription.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Subscription.java index aa991e5e..f83e61f2 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Subscription.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/Subscription.java @@ -1,7 +1,6 @@ package in.dragonbra.javasteam.steam.steamclient.callbackmgr; import java.io.Closeable; -import java.io.IOException; /** * @author lngtr @@ -18,7 +17,7 @@ public Subscription(ICallbackMgrInternals manager, CallbackBase call) { } @Override - public void close() throws IOException { + public void close() { if (call != null && manager != null) { manager.unregister(call); call = null; diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbacks/DisconnectedCallback.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbacks/DisconnectedCallback.java index 8bf96c1e..bb6473e2 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbacks/DisconnectedCallback.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/callbacks/DisconnectedCallback.java @@ -8,7 +8,7 @@ */ public class DisconnectedCallback extends CallbackMsg { - private boolean userInitiated; + private final boolean userInitiated; public DisconnectedCallback(boolean userInitiated) { this.userInitiated = userInitiated; diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/ISteamConfigurationBuilder.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/ISteamConfigurationBuilder.java index 007bca53..d5a74342 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/ISteamConfigurationBuilder.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/ISteamConfigurationBuilder.java @@ -105,7 +105,7 @@ public interface ISteamConfigurationBuilder { /** * Configures this {@link SteamConfiguration} with a Web API key to attach to requests. * - * @param webApiKey An API key to be used for authorized requests. Keys can be obtained from https://steamcommunity.com/dev or the Steamworks Partner site. + * @param webApiKey An API key to be used for authorized requests. Keys can be obtained from Steam Web API Documentation or the Steamworks Partner site. * @return A builder with modified configuration. */ ISteamConfigurationBuilder withWebAPIKey(String webApiKey); diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfiguration.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfiguration.java index 76bcd9ae..92e852b3 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfiguration.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfiguration.java @@ -20,7 +20,7 @@ public class SteamConfiguration { private final SteamConfigurationState state; - private SmartCMServerList serverList; + private final SmartCMServerList serverList; SteamConfiguration(SteamConfigurationState state) { this.state = state; @@ -113,7 +113,7 @@ public String getWebAPIBaseAddress() { } /** - * @return An API key to be used for authorized requests. Keys can be obtained from https://steamcommunity.com/dev or the Steamworks Partner site. + * @return An API key to be used for authorized requests. Keys can be obtained from Steam Web API Documentation or the Steamworks Partner site. */ public String getWebAPIKey() { return state.getWebAPIKey(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationBuilder.java b/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationBuilder.java index 7766b811..d47f746d 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationBuilder.java +++ b/src/main/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationBuilder.java @@ -16,7 +16,7 @@ */ public class SteamConfigurationBuilder implements ISteamConfigurationBuilder { - private SteamConfigurationState state; + private final SteamConfigurationState state; public SteamConfigurationBuilder() { state = createDefaultState(); diff --git a/src/main/java/in/dragonbra/javasteam/steam/webapi/SteamDirectory.java b/src/main/java/in/dragonbra/javasteam/steam/webapi/SteamDirectory.java index ae3fe55d..5b10bd29 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/webapi/SteamDirectory.java +++ b/src/main/java/in/dragonbra/javasteam/steam/webapi/SteamDirectory.java @@ -4,7 +4,6 @@ import in.dragonbra.javasteam.steam.discovery.ServerRecord; import in.dragonbra.javasteam.steam.steamclient.configuration.SteamConfiguration; import in.dragonbra.javasteam.types.KeyValue; -import in.dragonbra.javasteam.util.NetHelpers; import java.io.IOException; import java.util.ArrayList; diff --git a/src/main/java/in/dragonbra/javasteam/steam/webapi/WebAPI.java b/src/main/java/in/dragonbra/javasteam/steam/webapi/WebAPI.java index dccfc73b..e10941e8 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/webapi/WebAPI.java +++ b/src/main/java/in/dragonbra/javasteam/steam/webapi/WebAPI.java @@ -110,7 +110,7 @@ public KeyValue call(String function, Map parameters) throws IOE * @throws IOException if the request could not be executed */ public KeyValue call(String httpMethod, String function, int version) throws IOException { - return call(httpMethod, function, version, (Map) null); + return call(httpMethod, function, version, null); } /** @@ -122,7 +122,7 @@ public KeyValue call(String httpMethod, String function, int version) throws IOE * @throws IOException if the request could not be executed */ public KeyValue call(String function, int version) throws IOException { - return call("GET", function, version, (Map) null); + return call("GET", function, version, null); } /** @@ -134,7 +134,7 @@ public KeyValue call(String function, int version) throws IOException { * @throws IOException if the request could not be executed */ public KeyValue call(String httpMethod, String function) throws IOException { - return call(httpMethod, function, 1, (Map) null); + return call(httpMethod, function, 1, null); } /** @@ -145,7 +145,7 @@ public KeyValue call(String httpMethod, String function) throws IOException { * @throws IOException if the request could not be executed */ public KeyValue call(String function) throws IOException { - return call("GET", function, 1, (Map) null); + return call("GET", function, 1, null); } /** @@ -157,10 +157,9 @@ public KeyValue call(String function) throws IOException { * @param parameters A map of string key value pairs representing arguments to be passed to the API. * @param callback the callback that will be called with the resulting {@link KeyValue} object. * @param error the callback for handling response errors. - * @throws IOException if the request could not be executed */ public void call(String httpMethod, String function, int version, Map parameters, - final Consumer callback, final Consumer error) throws IOException { + final Consumer callback, final Consumer error) { Request request = buildRequest(httpMethod, function, version, parameters); client.newCall(request).enqueue(new Callback() { @Override @@ -338,11 +337,11 @@ public String getWebAPIKey() { /** * Thrown when WebAPI request fails (non success response code). */ - public class WebAPIRequestException extends IOException { + public static class WebAPIRequestException extends IOException { - private int statusCode; + private final int statusCode; - private Map> headers; + private final Map> headers; /** * Initializes a new instance of the {@link WebAPIRequestException} class. diff --git a/src/main/java/in/dragonbra/javasteam/types/GameID.java b/src/main/java/in/dragonbra/javasteam/types/GameID.java index 9583a4bf..d5652b3e 100644 --- a/src/main/java/in/dragonbra/javasteam/types/GameID.java +++ b/src/main/java/in/dragonbra/javasteam/types/GameID.java @@ -8,7 +8,7 @@ */ public class GameID { - private BitVector64 gameId; + private final BitVector64 gameId; /** * Initializes a new instance of the {@link GameID} class. diff --git a/src/main/java/in/dragonbra/javasteam/types/GlobalID.java b/src/main/java/in/dragonbra/javasteam/types/GlobalID.java index 20f43b84..6d87051e 100644 --- a/src/main/java/in/dragonbra/javasteam/types/GlobalID.java +++ b/src/main/java/in/dragonbra/javasteam/types/GlobalID.java @@ -9,7 +9,8 @@ * Guaranteed to be unique across all racks and servers for a given Steam universe. */ public class GlobalID { - private BitVector64 gidBits; + + private final BitVector64 gidBits; /** * Initializes a new instance of the {@link GlobalID} class. diff --git a/src/main/java/in/dragonbra/javasteam/types/KeyValue.java b/src/main/java/in/dragonbra/javasteam/types/KeyValue.java index 92c01233..2f98db1c 100644 --- a/src/main/java/in/dragonbra/javasteam/types/KeyValue.java +++ b/src/main/java/in/dragonbra/javasteam/types/KeyValue.java @@ -11,8 +11,11 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.nio.charset.Charset; -import java.util.*; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; +import java.util.Map; /** * Represents a recursive string key to arbitrary value container. @@ -79,7 +82,6 @@ public KeyValue get(String key) { return INVALID; } - /** * Sets the child {@link KeyValue} with the specified key. * @@ -91,12 +93,7 @@ public void set(String key, KeyValue value) { throw new IllegalArgumentException("key is null"); } - Iterator iter = children.iterator(); - while (iter.hasNext()) { - if (key.equalsIgnoreCase(iter.next().name)) { - iter.remove(); - } - } + children.removeIf(keyValue -> key.equalsIgnoreCase(keyValue.name)); value.setName(key); children.add(value); @@ -290,7 +287,7 @@ public > EnumSet asEnum(Class enumClass, T defaultValue) public > EnumSet asEnum(Class enumClass, EnumSet defaultValue) { // this is ugly af, but it comes with handling bit flags as enumsets try { - // see if its a number first + // see if it's a number first int code = Integer.parseInt(value); Field codeField = enumClass.getDeclaredField("code"); @@ -471,7 +468,7 @@ public static KeyValue loadFromString(String input) { throw new IllegalArgumentException("input is null"); } - byte[] bytes = input.getBytes(Charset.forName("UTF-8")); + byte[] bytes = input.getBytes(StandardCharsets.UTF_8); try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes)) { KeyValue kv = new KeyValue(); @@ -522,7 +519,7 @@ private void recursiveSaveBinaryToStreamCore(OutputStream os) throws IOException // 2. String KeyValue if (value == null) { os.write(Type.NONE.code()); - os.write(name.getBytes(Charset.forName("UTF-8"))); + os.write(name.getBytes(StandardCharsets.UTF_8)); os.write(0); for (KeyValue child : children) { child.recursiveSaveBinaryToStreamCore(os); @@ -530,9 +527,9 @@ private void recursiveSaveBinaryToStreamCore(OutputStream os) throws IOException os.write(Type.END.code()); } else { os.write(Type.STRING.code()); - os.write(name.getBytes(Charset.forName("UTF-8"))); + os.write(name.getBytes(StandardCharsets.UTF_8)); os.write(0); - os.write(value.getBytes(Charset.forName("UTF-8"))); + os.write(value.getBytes(StandardCharsets.UTF_8)); os.write(0); } } @@ -589,7 +586,7 @@ private static void writeString(OutputStream os, String str, boolean quote) thro if (quote) { str = "\"" + str + "\""; } - byte[] bytes = str.getBytes(Charset.forName("UTF-8")); + byte[] bytes = str.getBytes(StandardCharsets.UTF_8); os.write(bytes); } @@ -608,6 +605,7 @@ public boolean tryReadAsBinary(InputStream is) throws IOException { return tryReadAsBinaryCore(is, this, null); } + @SuppressWarnings("DuplicateBranchesInSwitch") private static boolean tryReadAsBinaryCore(InputStream is, KeyValue current, KeyValue parent) throws IOException { current.children = new ArrayList<>(); @@ -620,7 +618,7 @@ private static boolean tryReadAsBinaryCore(InputStream is, KeyValue current, Key break; } - current.setName(br.readNullTermString(Charset.forName("UTF-8"))); + current.setName(br.readNullTermString(StandardCharsets.UTF_8)); switch (type) { case NONE: KeyValue child = new KeyValue(); @@ -630,7 +628,7 @@ private static boolean tryReadAsBinaryCore(InputStream is, KeyValue current, Key } break; case STRING: - current.setValue(br.readNullTermString(Charset.forName("UTF-8"))); + current.setValue(br.readNullTermString(StandardCharsets.UTF_8)); break; case WIDESTRING: logger.debug("Encountered WideString type when parsing binary KeyValue, which is unsupported. Returning false."); @@ -679,7 +677,7 @@ public enum Type { END((byte) 8), INT64((byte) 10); - private byte code; + private final byte code; Type(byte code) { this.code = code; diff --git a/src/main/java/in/dragonbra/javasteam/types/SteamID.java b/src/main/java/in/dragonbra/javasteam/types/SteamID.java index 7592162c..247bcad1 100644 --- a/src/main/java/in/dragonbra/javasteam/types/SteamID.java +++ b/src/main/java/in/dragonbra/javasteam/types/SteamID.java @@ -366,7 +366,7 @@ public boolean isChatAccount() { * @return true if this instance is a lobby; otherwise, false. */ public boolean isLobby() { - return getAccountType() == EAccountType.Chat && (getAccountInstance() & (long) ChatInstanceFlags.LOBBY.code()) > 0; + return getAccountType() == EAccountType.Chat && (getAccountInstance() & ChatInstanceFlags.LOBBY.code()) > 0; } /** @@ -405,12 +405,11 @@ public boolean isConsoleUserAccount() { return getAccountType() == EAccountType.ConsoleUser; } - /// - /// Gets a value indicating whether this instance is valid. - /// - /// - /// true if this instance is valid; otherwise, false. - /// + /** + * Gets a value indicating whether this instance is valid. + * + * @return true if this instance is valid; otherwise, false. + */ public boolean isValid() { if (getAccountType().code() <= EAccountType.Invalid.code() || getAccountType().code() > EAccountType.AnonUser.code()) { return false; @@ -431,6 +430,7 @@ public boolean isValid() { } if (getAccountType() == EAccountType.GameServer) { + //noinspection RedundantIfStatement if (getAccountID() == 0) return false; } @@ -587,7 +587,7 @@ public String toString() { */ @Override public boolean equals(Object obj) { - if (obj == null || !(obj instanceof SteamID)) { + if (!(obj instanceof SteamID)) { return false; } diff --git a/src/main/java/in/dragonbra/javasteam/util/EResultDeserializer.java b/src/main/java/in/dragonbra/javasteam/util/EResultDeserializer.java index 36c39bad..d8ea59df 100644 --- a/src/main/java/in/dragonbra/javasteam/util/EResultDeserializer.java +++ b/src/main/java/in/dragonbra/javasteam/util/EResultDeserializer.java @@ -13,6 +13,7 @@ * @since 2018-02-20 */ public class EResultDeserializer implements JsonDeserializer { + @Override public EResult deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { int code = json.getAsInt(); diff --git a/src/main/java/in/dragonbra/javasteam/util/HardwareUtils.java b/src/main/java/in/dragonbra/javasteam/util/HardwareUtils.java index 2a69f5d8..58b7eb5b 100644 --- a/src/main/java/in/dragonbra/javasteam/util/HardwareUtils.java +++ b/src/main/java/in/dragonbra/javasteam/util/HardwareUtils.java @@ -10,6 +10,7 @@ * @since 2018-02-24 */ public class HardwareUtils { + // Everything taken from here // https://stackoverflow.com/questions/1986732/how-to-get-a-unique-computer-identifier-in-java-like-disk-id-or-motherboard-id private static String SERIAL_NUMBER; @@ -34,7 +35,7 @@ public static byte[] getMachineID() { } // if SERIAL_NUMBER still was null - if(SERIAL_NUMBER == null) { + if (SERIAL_NUMBER == null) { SERIAL_NUMBER = "JavaSteam-SerialNumber"; } diff --git a/src/main/java/in/dragonbra/javasteam/util/IDebugNetworkListener.java b/src/main/java/in/dragonbra/javasteam/util/IDebugNetworkListener.java index eca80bbe..a2ad8876 100644 --- a/src/main/java/in/dragonbra/javasteam/util/IDebugNetworkListener.java +++ b/src/main/java/in/dragonbra/javasteam/util/IDebugNetworkListener.java @@ -8,6 +8,7 @@ * This interface is used for logging network messages sent to and received from the Steam server that the client is connected to. */ public interface IDebugNetworkListener { + /** * Called when a packet is received from the Steam server. * diff --git a/src/main/java/in/dragonbra/javasteam/util/KeyDictionary.java b/src/main/java/in/dragonbra/javasteam/util/KeyDictionary.java index 746ed15c..9f84c101 100644 --- a/src/main/java/in/dragonbra/javasteam/util/KeyDictionary.java +++ b/src/main/java/in/dragonbra/javasteam/util/KeyDictionary.java @@ -10,6 +10,7 @@ * Contains the public keys that Steam uses for each of the {@link EUniverse} */ public class KeyDictionary { + private static final Map KEYS; static { diff --git a/src/main/java/in/dragonbra/javasteam/util/MsgUtil.java b/src/main/java/in/dragonbra/javasteam/util/MsgUtil.java index ca118d1c..9e7e5087 100644 --- a/src/main/java/in/dragonbra/javasteam/util/MsgUtil.java +++ b/src/main/java/in/dragonbra/javasteam/util/MsgUtil.java @@ -67,6 +67,6 @@ public static int makeGCMsg(int msg, boolean protobuf) { * @return true if this message is protobuf flagged; otherwise, false. */ public static boolean isProtoBuf(int msg) { - return (msg & 0xffffffffL & PROTO_MASK) > 0; + return (msg & 0xffffffffL & (long) PROTO_MASK) > 0; } } diff --git a/src/main/java/in/dragonbra/javasteam/util/NetHookNetworkListener.java b/src/main/java/in/dragonbra/javasteam/util/NetHookNetworkListener.java index 41387762..93a16eb4 100644 --- a/src/main/java/in/dragonbra/javasteam/util/NetHookNetworkListener.java +++ b/src/main/java/in/dragonbra/javasteam/util/NetHookNetworkListener.java @@ -23,9 +23,9 @@ public class NetHookNetworkListener implements IDebugNetworkListener { private static final SimpleDateFormat FORMAT = new SimpleDateFormat("yyyy_MM_dd_H_m_s_S"); - private AtomicLong messageNumber = new AtomicLong(0L); + private final AtomicLong messageNumber = new AtomicLong(0L); - private File logDirectory; + private final File logDirectory; public NetHookNetworkListener() { this("netlogs"); @@ -63,6 +63,6 @@ public void onOutgoingNetworkMessage(EMsg msgType, byte[] data) { } private String getFile(String direction, EMsg msgType) { - return String.format("%d_%s_%d_k_EMsg%s.bin", messageNumber.getAndIncrement(), direction, msgType.code(), msgType.toString()); + return String.format("%d_%s_%d_k_EMsg%s.bin", messageNumber.getAndIncrement(), direction, msgType.code(), msgType); } } diff --git a/src/main/java/in/dragonbra/javasteam/util/Utils.java b/src/main/java/in/dragonbra/javasteam/util/Utils.java index 82f2b61f..9f4fb0bb 100644 --- a/src/main/java/in/dragonbra/javasteam/util/Utils.java +++ b/src/main/java/in/dragonbra/javasteam/util/Utils.java @@ -14,94 +14,199 @@ public class Utils { private static final String JAVA_RUNTIME = getSystemProperty("java.runtime.name"); + // Sorted in history order by each OS release. public static EOSType getOSType() { - if (SystemUtils.IS_OS_WINDOWS_7) { - return EOSType.Windows7; - } - if (SystemUtils.IS_OS_WINDOWS_8) { - return EOSType.Windows8; - } - if (SystemUtils.IS_OS_WINDOWS_10) { - return EOSType.Windows10; - } - if (SystemUtils.IS_OS_WINDOWS_95) { - return EOSType.Win95; - } - if (SystemUtils.IS_OS_WINDOWS_98) { - return EOSType.Win98; - } - if (SystemUtils.IS_OS_WINDOWS_2000) { - return EOSType.Win2000; - } - if (SystemUtils.IS_OS_WINDOWS_2003) { - return EOSType.Win2003; - } - if (SystemUtils.IS_OS_WINDOWS_2008) { - return EOSType.Win2008; - } - if (SystemUtils.IS_OS_WINDOWS_2012) { - return EOSType.Win2012; - } - if (SystemUtils.IS_OS_WINDOWS_ME) { - return EOSType.WinME; - } - if (SystemUtils.IS_OS_WINDOWS_NT) { - return EOSType.WinNT; - } - if (SystemUtils.IS_OS_WINDOWS_VISTA) { - return EOSType.WinVista; - } - if (SystemUtils.IS_OS_WINDOWS_XP) { - return EOSType.WinXP; - } + // Windows if (SystemUtils.IS_OS_WINDOWS) { + // Windows 9x + if (SystemUtils.IS_OS_WINDOWS_95) { + return EOSType.Win95; + } + if (SystemUtils.IS_OS_WINDOWS_98) { + return EOSType.Win98; + } + if (SystemUtils.IS_OS_WINDOWS_ME) { + return EOSType.WinME; + } + // Windows NT + if (SystemUtils.IS_OS_WINDOWS_NT) { + return EOSType.WinNT; + } + if (SystemUtils.IS_OS_WINDOWS_2000) { + return EOSType.Win2000; + } + if (SystemUtils.IS_OS_WINDOWS_XP) { + return EOSType.WinXP; + } + if (SystemUtils.IS_OS_WINDOWS_VISTA) { + return EOSType.WinVista; + } + if (SystemUtils.IS_OS_WINDOWS_7) { + return EOSType.Windows7; + } + if (SystemUtils.IS_OS_WINDOWS_8) { + return EOSType.Windows8; + } + if (SystemUtils.IS_OS_WINDOWS_10) { + return EOSType.Windows10; + } + if(checkOS("Windows 11", "10.0")){ + return EOSType.Win11; + } + // Windows Server + if (SystemUtils.IS_OS_WINDOWS_2003) { + return EOSType.Win2003; + } + if (SystemUtils.IS_OS_WINDOWS_2008) { + return EOSType.Win2008; + } + if (SystemUtils.IS_OS_WINDOWS_2012) { + return EOSType.Win2012; + } + if(checkOS("Windows Server 2016", "10.0")) { + return EOSType.Win2016; + } + if(checkOS("Windows Server 2019", "10.0")) { + return EOSType.Win2019; + } + if(checkOS("Windows Server 2022", "10.0")) { + return EOSType.Win2022; + } + // Windows Unknown return EOSType.WinUnknown; } - if (SystemUtils.IS_OS_MAC_OSX_TIGER) { - return EOSType.MacOS104; - } - if (SystemUtils.IS_OS_MAC_OSX_LEOPARD) { - return EOSType.MacOS105; - } - if (SystemUtils.IS_OS_MAC_OSX_SNOW_LEOPARD) { - return EOSType.MacOS106; - } - if (SystemUtils.IS_OS_MAC_OSX_LION) { - return EOSType.MacOS107; - } - if (SystemUtils.IS_OS_MAC_OSX_MOUNTAIN_LION) { - return EOSType.MacOS108; - } - if (SystemUtils.IS_OS_MAC_OSX_MAVERICKS) { - return EOSType.MacOS109; - } - if (SystemUtils.IS_OS_MAC_OSX_YOSEMITE) { - return EOSType.MacOS1010; - } - if (SystemUtils.IS_OS_MAC_OSX_EL_CAPITAN) { - return EOSType.MacOS1011; - } - if (checkOS("Mac OS X", "10.12")) { - return EOSType.MacOS1012; - } - if (checkOS("Mac OS X", "10.13")) { - return EOSType.Macos1013; - } - if (checkOS("Mac OS X", "10.14")) { - return EOSType.Macos1014; - } + // Mac OS if (SystemUtils.IS_OS_MAC) { + if (SystemUtils.IS_OS_MAC_OSX_TIGER) { + return EOSType.MacOS104; + } + if (SystemUtils.IS_OS_MAC_OSX_LEOPARD) { + return EOSType.MacOS105; + } + if (SystemUtils.IS_OS_MAC_OSX_SNOW_LEOPARD) { + return EOSType.MacOS106; + } + if (SystemUtils.IS_OS_MAC_OSX_LION) { + return EOSType.MacOS107; + } + if (SystemUtils.IS_OS_MAC_OSX_MOUNTAIN_LION) { + return EOSType.MacOS108; + } + if (SystemUtils.IS_OS_MAC_OSX_MAVERICKS) { + return EOSType.MacOS109; + } + if (SystemUtils.IS_OS_MAC_OSX_YOSEMITE) { + return EOSType.MacOS1010; + } + if (SystemUtils.IS_OS_MAC_OSX_EL_CAPITAN) { + return EOSType.MacOS1011; + } + if (SystemUtils.IS_OS_MAC_OSX_SIERRA) { + return EOSType.MacOS1012; + } + if (SystemUtils.IS_OS_MAC_OSX_HIGH_SIERRA) { + return EOSType.Macos1013; + } + if (SystemUtils.IS_OS_MAC_OSX_MOJAVE) { + return EOSType.Macos1014; + } + if (SystemUtils.IS_OS_MAC_OSX_CATALINA) { + return EOSType.Macos1015; + } + if (SystemUtils.IS_OS_MAC_OSX_BIG_SUR) { + return EOSType.MacOS11; + } + // TODO: Apache Commons missing: macOS Monterey + // TODO: Apache Commons missing: macOS Ventura + // Mac OS Unknown return EOSType.MacOSUnknown; } + // Android if (JAVA_RUNTIME != null && JAVA_RUNTIME.startsWith("Android")) { return EOSType.AndroidUnknown; } + // Linux if (SystemUtils.IS_OS_LINUX) { - return EOSType.LinuxUnknown; - } + String linuxOsVersion = getSystemProperty("os.version"); + String[] osVersion; + + if (linuxOsVersion == null) { + return EOSType.Unknown; + } + + osVersion = linuxOsVersion.split("\\."); + + // Major + switch (osVersion[0]) { + case "2": + // Minor + switch (osVersion[1]) { + case "2": + return EOSType.Linux22; + case "4": + return EOSType.Linux24; + case "6": + return EOSType.Linux26; + default: + return EOSType.LinuxUnknown; + } + case "3": + // Minor + switch (osVersion[1]) { + case "2": + return EOSType.Linux32; + case "5": + return EOSType.Linux35; + case "6": + return EOSType.Linux36; + case "10": + return EOSType.Linux310; + case "16": + return EOSType.Linux316; + case "18": + return EOSType.Linux318; + default: + return EOSType.Linux3x; + } + case "4": + // Minor + switch (osVersion[1]) { + case "1": + return EOSType.Linux41; + case "4": + return EOSType.Linux44; + case "9": + return EOSType.Linux49; + case "14": + return EOSType.Linux414; + case "19": + return EOSType.Linux419; + default: + return EOSType.Linux4x; + } + case "5": + // Minor + switch (osVersion[1]) { + case "4": + return EOSType.Linux54; + case "10": + return EOSType.Linux510; + default: + return EOSType.Linux5x; + } + case "6": + return EOSType.Linux6x; + case "7": + return EOSType.Linux7x; + default: + return EOSType.LinuxUnknown; + } + } + // Unknown OS return EOSType.Unknown; } + @SuppressWarnings("SameParameterValue") private static boolean checkOS(String namePrefix, String versionPrefix) { return SystemUtils.OS_NAME.startsWith(namePrefix) && SystemUtils.OS_VERSION.startsWith(versionPrefix); } diff --git a/src/main/java/in/dragonbra/javasteam/util/WebHelpers.java b/src/main/java/in/dragonbra/javasteam/util/WebHelpers.java index 1d8eae7b..6b1e907b 100644 --- a/src/main/java/in/dragonbra/javasteam/util/WebHelpers.java +++ b/src/main/java/in/dragonbra/javasteam/util/WebHelpers.java @@ -1,6 +1,6 @@ package in.dragonbra.javasteam.util; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; /** * @author lngtr @@ -18,7 +18,7 @@ private static boolean isUrlSafeChar(char ch) { } public static String urlEncode(String input) { - return urlEncode(input.getBytes(Charset.forName("UTF-8"))); + return urlEncode(input.getBytes(StandardCharsets.UTF_8)); } public static String urlEncode(byte[] input) { diff --git a/src/main/java/in/dragonbra/javasteam/util/compat/ObjectsCompat.java b/src/main/java/in/dragonbra/javasteam/util/compat/ObjectsCompat.java index 022022a5..591a32b0 100644 --- a/src/main/java/in/dragonbra/javasteam/util/compat/ObjectsCompat.java +++ b/src/main/java/in/dragonbra/javasteam/util/compat/ObjectsCompat.java @@ -1,11 +1,13 @@ package in.dragonbra.javasteam.util.compat; +import java.util.Objects; + /** * @author steev * @since 2018-03-21 */ public class ObjectsCompat { public static boolean equals(Object a, Object b) { - return (a == b) || (a != null && a.equals(b)); + return Objects.equals(a, b); } } \ No newline at end of file diff --git a/src/main/java/in/dragonbra/javasteam/util/crypto/CryptoHelper.java b/src/main/java/in/dragonbra/javasteam/util/crypto/CryptoHelper.java index 4706881f..7813ebb8 100644 --- a/src/main/java/in/dragonbra/javasteam/util/crypto/CryptoHelper.java +++ b/src/main/java/in/dragonbra/javasteam/util/crypto/CryptoHelper.java @@ -71,7 +71,7 @@ public static byte[] crcHash(byte[] input) { } CRC32 crc = new CRC32(); - crc.update(input); + crc.update(input, 0, input.length); final long hash = crc.getValue(); MemoryStream ms = new MemoryStream(4); BinaryWriter bw = new BinaryWriter(ms.asOutputStream()); @@ -93,7 +93,7 @@ public static byte[] crcHash(byte[] input) { * @throws CryptoException deception while encrypting */ public static byte[] symmetricDecrypt(byte[] input, byte[] key) throws CryptoException { - return symmetricDecrypt(input, key, new Passable()); + return symmetricDecrypt(input, key, new Passable<>()); } /** diff --git a/src/main/java/in/dragonbra/javasteam/util/event/Event.java b/src/main/java/in/dragonbra/javasteam/util/event/Event.java index 19976c5c..e13cc882 100644 --- a/src/main/java/in/dragonbra/javasteam/util/event/Event.java +++ b/src/main/java/in/dragonbra/javasteam/util/event/Event.java @@ -3,6 +3,7 @@ import java.util.HashSet; public class Event { + protected final HashSet> handlers = new HashSet<>(); public void addEventHandler(EventHandler handler) { diff --git a/src/main/java/in/dragonbra/javasteam/util/event/EventArgs.java b/src/main/java/in/dragonbra/javasteam/util/event/EventArgs.java index aa61836c..062b8d25 100644 --- a/src/main/java/in/dragonbra/javasteam/util/event/EventArgs.java +++ b/src/main/java/in/dragonbra/javasteam/util/event/EventArgs.java @@ -1,6 +1,7 @@ package in.dragonbra.javasteam.util.event; public class EventArgs { + public static final EventArgs EMPTY = new EventArgs(); public EventArgs() { diff --git a/src/main/java/in/dragonbra/javasteam/util/event/ScheduledFunction.java b/src/main/java/in/dragonbra/javasteam/util/event/ScheduledFunction.java index 4a366ec4..66dcb852 100644 --- a/src/main/java/in/dragonbra/javasteam/util/event/ScheduledFunction.java +++ b/src/main/java/in/dragonbra/javasteam/util/event/ScheduledFunction.java @@ -11,7 +11,7 @@ public class ScheduledFunction { private long delay; - private Runnable func; + private final Runnable func; private Timer timer; diff --git a/src/main/java/in/dragonbra/javasteam/util/log/DefaultLogListener.java b/src/main/java/in/dragonbra/javasteam/util/log/DefaultLogListener.java index ae8521d4..b5578ca1 100644 --- a/src/main/java/in/dragonbra/javasteam/util/log/DefaultLogListener.java +++ b/src/main/java/in/dragonbra/javasteam/util/log/DefaultLogListener.java @@ -12,7 +12,7 @@ public class DefaultLogListener implements LogListener { private static final SimpleDateFormat FORMAT = new SimpleDateFormat("HH:mm:ss.SSS"); @Override - public void onLog(Class clazz, String message, Throwable throwable) { + public void onLog(Class clazz, String message, Throwable throwable) { if (clazz == null) { throw new IllegalArgumentException("class is null"); } diff --git a/src/main/java/in/dragonbra/javasteam/util/log/LogListener.java b/src/main/java/in/dragonbra/javasteam/util/log/LogListener.java index 47a98d44..70a357d9 100644 --- a/src/main/java/in/dragonbra/javasteam/util/log/LogListener.java +++ b/src/main/java/in/dragonbra/javasteam/util/log/LogListener.java @@ -5,5 +5,5 @@ * @since 2018-03-02 */ public interface LogListener { - void onLog(Class clazz, String message, Throwable throwable); + void onLog(Class clazz, String message, Throwable throwable); } diff --git a/src/main/java/in/dragonbra/javasteam/util/log/Logger.java b/src/main/java/in/dragonbra/javasteam/util/log/Logger.java index 0e51124e..b59bd97e 100644 --- a/src/main/java/in/dragonbra/javasteam/util/log/Logger.java +++ b/src/main/java/in/dragonbra/javasteam/util/log/Logger.java @@ -6,7 +6,7 @@ */ public class Logger { - private Class clazz; + private final Class clazz; Logger(Class clazz) { if (clazz == null) { diff --git a/src/main/java/in/dragonbra/javasteam/util/stream/BinaryReader.java b/src/main/java/in/dragonbra/javasteam/util/stream/BinaryReader.java index 7eb19ec7..1421c54c 100644 --- a/src/main/java/in/dragonbra/javasteam/util/stream/BinaryReader.java +++ b/src/main/java/in/dragonbra/javasteam/util/stream/BinaryReader.java @@ -8,7 +8,7 @@ */ public class BinaryReader extends FilterInputStream { - private byte readBuffer[] = new byte[8]; + private final byte[] readBuffer = new byte[8]; private int position = 0; diff --git a/src/main/java/in/dragonbra/javasteam/util/stream/BinaryWriter.java b/src/main/java/in/dragonbra/javasteam/util/stream/BinaryWriter.java index 3b05cb34..c4d56a32 100644 --- a/src/main/java/in/dragonbra/javasteam/util/stream/BinaryWriter.java +++ b/src/main/java/in/dragonbra/javasteam/util/stream/BinaryWriter.java @@ -9,7 +9,7 @@ */ public class BinaryWriter extends FilterOutputStream { - private byte writeBuffer[] = new byte[8]; + private final byte[] writeBuffer = new byte[8]; public BinaryWriter(OutputStream out) { super(out); @@ -56,6 +56,6 @@ public void writeByte(byte v) throws IOException { } public void writeChar(char v) throws IOException { - out.write((int) v); + out.write(v); } } diff --git a/src/test/java/in/dragonbra/javasteam/TestBase.java b/src/test/java/in/dragonbra/javasteam/TestBase.java index fc0b0451..90eadd0d 100644 --- a/src/test/java/in/dragonbra/javasteam/TestBase.java +++ b/src/test/java/in/dragonbra/javasteam/TestBase.java @@ -2,14 +2,14 @@ import in.dragonbra.javasteam.util.log.DefaultLogListener; import in.dragonbra.javasteam.util.log.LogManager; -import org.junit.BeforeClass; +import org.junit.jupiter.api.BeforeAll; /** * @author lngtr * @since 2018-02-25 */ public abstract class TestBase { - @BeforeClass + @BeforeAll public static void beforeClass() { LogManager.addListener(new DefaultLogListener()); } diff --git a/src/test/java/in/dragonbra/javasteam/base/ClientMsgTest.java b/src/test/java/in/dragonbra/javasteam/base/ClientMsgTest.java index 1eb8cccb..912c43f8 100644 --- a/src/test/java/in/dragonbra/javasteam/base/ClientMsgTest.java +++ b/src/test/java/in/dragonbra/javasteam/base/ClientMsgTest.java @@ -2,11 +2,11 @@ import in.dragonbra.javasteam.generated.MsgClientChatEnter; import in.dragonbra.javasteam.steam.CMClient; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.IOException; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author lngtr diff --git a/src/test/java/in/dragonbra/javasteam/steam/CMClientTest.java b/src/test/java/in/dragonbra/javasteam/steam/CMClientTest.java index 8dae036c..590e6bae 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/CMClientTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/CMClientTest.java @@ -9,13 +9,13 @@ import in.dragonbra.javasteam.generated.MsgHdr; import in.dragonbra.javasteam.generated.MsgHdrProtoBuf; import in.dragonbra.javasteam.util.stream.BinaryWriter; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.ByteArrayOutputStream; import java.io.IOException; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author lngtr diff --git a/src/test/java/in/dragonbra/javasteam/steam/discovery/FileServerListProviderTest.java b/src/test/java/in/dragonbra/javasteam/steam/discovery/FileServerListProviderTest.java index 8b804021..80012531 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/discovery/FileServerListProviderTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/discovery/FileServerListProviderTest.java @@ -2,26 +2,29 @@ import in.dragonbra.javasteam.TestBase; import in.dragonbra.javasteam.networking.steam3.ProtocolTypes; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.ArrayList; import java.util.List; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + public class FileServerListProviderTest extends TestBase { - @Rule - public TemporaryFolder folder = new TemporaryFolder(); + @TempDir + Path folder; @Test public void testSaveAndRead() throws IOException { - FileServerListProvider provider = new FileServerListProvider(folder.newFile()); + final Path tempFile = Files.createFile(folder.resolve("FileServerListProvider.txt")); + + FileServerListProvider provider = new FileServerListProvider(tempFile.toFile()); List serverRecords = new ArrayList<>(); @@ -34,12 +37,14 @@ public void testSaveAndRead() throws IOException { List loadedList = provider.fetchServerList(); - assertThat(loadedList, is(serverRecords)); + assertEquals(loadedList, serverRecords); } @Test public void testMissingFile() throws IOException { - FileServerListProvider provider = new FileServerListProvider(folder.newFile()); + final Path tempFile = Files.createFile(folder.resolve("FileServerListProvider.txt")); + + FileServerListProvider provider = new FileServerListProvider(tempFile.toFile()); List serverRecords = provider.fetchServerList(); diff --git a/src/test/java/in/dragonbra/javasteam/steam/discovery/ServerRecordTest.java b/src/test/java/in/dragonbra/javasteam/steam/discovery/ServerRecordTest.java index 62d8845f..0c14c900 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/discovery/ServerRecordTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/discovery/ServerRecordTest.java @@ -2,12 +2,12 @@ import in.dragonbra.javasteam.TestBase; import in.dragonbra.javasteam.networking.steam3.ProtocolTypes; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.net.InetSocketAddress; import java.util.EnumSet; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr @@ -18,7 +18,7 @@ public class ServerRecordTest extends TestBase { @Test public void nullIsNotEqual() { ServerRecord s = ServerRecord.createWebSocketServer("host:1"); - assertFalse(s.equals(null)); + assertNotEquals(null, s); } @Test @@ -26,8 +26,8 @@ public void differentProtocolsAreNotEqual() { ServerRecord l = ServerRecord.createServer("host", 1, ProtocolTypes.TCP); ServerRecord r = ServerRecord.createServer("host", 1, ProtocolTypes.WEB_SOCKET); - assertFalse(l.equals(r)); - assertFalse(r.equals(l)); + assertNotEquals(l, r); + assertNotEquals(r, l); } @Test @@ -35,8 +35,8 @@ public void differentEndPointsAreNotEqual() { ServerRecord l = ServerRecord.createServer("host", 1, ProtocolTypes.TCP); ServerRecord r = ServerRecord.createServer("host", 2, ProtocolTypes.TCP); - assertFalse(l.equals(r)); - assertFalse(r.equals(l)); + assertNotEquals(l, r); + assertNotEquals(r, l); } @Test @@ -44,8 +44,8 @@ public void differentEndPointsAndProtocolsAreNotEqual() { ServerRecord l = ServerRecord.createServer("host", 1, ProtocolTypes.TCP); ServerRecord r = ServerRecord.createServer("host", 2, ProtocolTypes.WEB_SOCKET); - assertFalse(l.equals(r)); - assertFalse(r.equals(l)); + assertNotEquals(l, r); + assertNotEquals(r, l); } @Test @@ -53,8 +53,8 @@ public void SameEndPointsAndProtocolsAreEqual() { ServerRecord l = ServerRecord.createServer("host", 1, ProtocolTypes.TCP); ServerRecord r = ServerRecord.createServer("host", 1, ProtocolTypes.TCP); - assertTrue(l.equals(r)); - assertTrue(r.equals(l)); + assertEquals(l, r); + assertEquals(r, l); assertEquals(l.hashCode(), r.hashCode()); } diff --git a/src/test/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerListTest.java b/src/test/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerListTest.java index 7759a662..cccd4501 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerListTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/discovery/SmartCMServerListTest.java @@ -2,11 +2,9 @@ import in.dragonbra.javasteam.TestBase; import in.dragonbra.javasteam.networking.steam3.ProtocolTypes; -import in.dragonbra.javasteam.steam.steamclient.configuration.ISteamConfigurationBuilder; import in.dragonbra.javasteam.steam.steamclient.configuration.SteamConfiguration; -import in.dragonbra.javasteam.util.compat.Consumer; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -14,7 +12,7 @@ import java.util.EnumSet; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr @@ -24,14 +22,9 @@ public class SmartCMServerListTest extends TestBase { private SmartCMServerList serverList; - @Before + @BeforeEach public void setUp() { - SteamConfiguration configuration = SteamConfiguration.create(new Consumer() { - @Override - public void accept(ISteamConfigurationBuilder b) { - b.withDirectoryFetch(false); - } - }); + SteamConfiguration configuration = SteamConfiguration.create(b -> b.withDirectoryFetch(false)); serverList = new SmartCMServerList(configuration); } diff --git a/src/test/java/in/dragonbra/javasteam/steam/handlers/HandlerTestBase.java b/src/test/java/in/dragonbra/javasteam/steam/handlers/HandlerTestBase.java index d9f795bd..c1616771 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/handlers/HandlerTestBase.java +++ b/src/test/java/in/dragonbra/javasteam/steam/handlers/HandlerTestBase.java @@ -13,13 +13,12 @@ import in.dragonbra.javasteam.steam.steamclient.configuration.SteamConfiguration; import in.dragonbra.javasteam.types.JobID; import in.dragonbra.javasteam.types.SteamID; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.mockito.ArgumentCaptor; import org.mockito.Mock; - import java.net.InetAddress; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -37,7 +36,7 @@ public abstract class HandlerTestBase extends TestBa protected T handler; - @Before + @BeforeEach public void setUp() { handler = createHandler(); handler.setup(steamClient); diff --git a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamAppsTest.java b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamAppsTest.java index 0766fc89..a031a9d8 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamAppsTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamapps/SteamAppsTest.java @@ -5,30 +5,33 @@ import in.dragonbra.javasteam.enums.EMsg; import in.dragonbra.javasteam.enums.EResult; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver.CMsgClientGetAppOwnershipTicket; -import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverAppinfo.CMsgClientPICSAccessTokenRequest; -import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverAppinfo.CMsgClientPICSChangesSinceRequest; -import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverAppinfo.CMsgClientPICSProductInfoRequest; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientCheckAppBetaPassword; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientGetCDNAuthToken; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientGetDepotDecryptionKey; import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserver2.CMsgClientRequestFreeLicense; +import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverAppinfo.CMsgClientPICSAccessTokenRequest; +import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverAppinfo.CMsgClientPICSChangesSinceRequest; +import in.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverAppinfo.CMsgClientPICSProductInfoRequest; import in.dragonbra.javasteam.steam.handlers.HandlerTestBase; import in.dragonbra.javasteam.steam.handlers.steamapps.callback.*; import in.dragonbra.javasteam.types.JobID; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import java.util.Date; import java.util.LinkedList; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr * @since 2018-04-09 */ -@RunWith(MockitoJUnitRunner.Silent.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) public class SteamAppsTest extends HandlerTestBase { @Override @@ -102,14 +105,14 @@ public void picsGetProductInfo() { assertEquals(420, msg.getBody().getPackages(0).getPackageid()); } - @Test(expected = IllegalArgumentException.class) + @Test public void picsGetProductInfoNull() { - handler.picsGetProductInfo(null, new LinkedList(), false); + assertThrows(IllegalArgumentException.class, () -> handler.picsGetProductInfo(null, new LinkedList<>(), false)); } - @Test(expected = IllegalArgumentException.class) + @Test public void picsGetProductInfoNull2() { - handler.picsGetProductInfo(new LinkedList(), null, false); + assertThrows(IllegalArgumentException.class, () -> handler.picsGetProductInfo(new LinkedList<>(), null, false)); } @Test @@ -137,9 +140,9 @@ public void requestFreeLicense() { assertEquals(440, msg.getBody().getAppids(0)); } - @Test(expected = IllegalArgumentException.class) + @Test public void requestFreeLicenseNull() { - handler.requestFreeLicense(null); + assertThrows(IllegalArgumentException.class, () -> handler.requestFreeLicense(null)); } @Test diff --git a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriendsTest.java b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriendsTest.java index a64557c2..dc49bafd 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriendsTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamfriends/SteamFriendsTest.java @@ -14,21 +14,24 @@ import in.dragonbra.javasteam.steam.handlers.steamfriends.callback.*; import in.dragonbra.javasteam.types.SteamID; import in.dragonbra.javasteam.util.stream.SeekOrigin; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.EnumSet; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr * @since 2018-03-27 */ -@RunWith(MockitoJUnitRunner.Silent.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) public class SteamFriendsTest extends HandlerTestBase { @Override @@ -66,21 +69,25 @@ public void sendChatMessage() throws UnsupportedEncodingException { assertEquals(EChatEntryType.ChatMsg.code(), msg.getBody().getChatEntryType()); } - @Test(expected = IllegalArgumentException.class) + @Test public void sendChatMessageNullId() { - handler.sendChatMessage(null, EChatEntryType.ChatMsg, "testmessage"); + assertThrows(IllegalArgumentException.class, () -> handler.sendChatMessage(null, EChatEntryType.ChatMsg, "testmessage")); } - @Test(expected = IllegalArgumentException.class) + @Test public void sendChatMessageNullType() { - SteamID testId = new SteamID(123456789L); - handler.sendChatMessage(testId, null, "testmessage"); + assertThrows(IllegalArgumentException.class, () -> { + SteamID testId = new SteamID(123456789L); + handler.sendChatMessage(testId, null, "testmessage"); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void sendChatMessageNullMessage() { - SteamID testId = new SteamID(123456789L); - handler.sendChatMessage(testId, EChatEntryType.ChatMsg, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID testId = new SteamID(123456789L); + handler.sendChatMessage(testId, EChatEntryType.ChatMsg, null); + }); } @Test @@ -99,14 +106,14 @@ public void addFriend() { assertEquals("testaccount", msg.getBody().getAccountnameOrEmailToAdd()); } - @Test(expected = IllegalArgumentException.class) + @Test public void addFriendNull() { - handler.addFriend((SteamID) null); + assertThrows(IllegalArgumentException.class, () -> handler.addFriend((SteamID) null)); } - @Test(expected = IllegalArgumentException.class) + @Test public void addFriendNull2() { - handler.addFriend((String) null); + assertThrows(IllegalArgumentException.class, () -> handler.addFriend((String) null)); } @Test @@ -119,9 +126,9 @@ public void removeFriend() { assertEquals(123456789L, msg.getBody().getFriendid()); } - @Test(expected = IllegalArgumentException.class) + @Test public void removeFriendNull() { - handler.removeFriend(null); + assertThrows(IllegalArgumentException.class, () -> handler.removeFriend(null)); } @Test @@ -136,9 +143,9 @@ public void joinChat() { assertEquals(testId, msg.getBody().getSteamIdChat()); } - @Test(expected = IllegalArgumentException.class) + @Test public void joinChatNull() { - handler.joinChat(null); + assertThrows(IllegalArgumentException.class, () -> handler.joinChat(null)); } @Test @@ -154,9 +161,9 @@ public void leaveChat() { assertEquals(EChatInfoType.StateChange, msg.getBody().getType()); } - @Test(expected = IllegalArgumentException.class) + @Test public void leaveChatNull() { - handler.leaveChat(null); + assertThrows(IllegalArgumentException.class, () -> handler.leaveChat(null)); } @Test @@ -176,25 +183,29 @@ public void sendChatRoomMessage() throws IOException { assertEquals("testmessage", msg.readNullTermString()); } - @Test(expected = IllegalArgumentException.class) + @Test public void sendChatRoomMessageNullId() { - handler.sendChatRoomMessage(null, EChatEntryType.ChatMsg, "testmessage"); + assertThrows(IllegalArgumentException.class, () -> handler.sendChatRoomMessage(null, EChatEntryType.ChatMsg, "testmessage")); } - @Test(expected = IllegalArgumentException.class) + @Test public void sendChatRoomMessageNullType() { - SteamID testId = new SteamID(123456789L); - testId.setAccountType(EAccountType.Chat); - testId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); - handler.sendChatRoomMessage(testId, null, "testmessage"); + assertThrows(IllegalArgumentException.class, () -> { + SteamID testId = new SteamID(123456789L); + testId.setAccountType(EAccountType.Chat); + testId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); + handler.sendChatRoomMessage(testId, null, "testmessage"); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void sendChatRoomMessageNullMessage() { - SteamID testId = new SteamID(123456789L); - testId.setAccountType(EAccountType.Chat); - testId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); - handler.sendChatRoomMessage(testId, EChatEntryType.ChatMsg, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID testId = new SteamID(123456789L); + testId.setAccountType(EAccountType.Chat); + testId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); + handler.sendChatRoomMessage(testId, EChatEntryType.ChatMsg, null); + }); } @Test @@ -211,18 +222,22 @@ public void inviteUserToChat() { assertEquals(userId.convertToUInt64(), msg.getBody().getSteamIdInvited()); } - @Test(expected = IllegalArgumentException.class) + @Test public void inviteUserToChatNullUser() { - SteamID chatId = new SteamID(123456789L); - chatId.setAccountType(EAccountType.Chat); - chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); - handler.inviteUserToChat(null, chatId); + assertThrows(IllegalArgumentException.class, () -> { + SteamID chatId = new SteamID(123456789L); + chatId.setAccountType(EAccountType.Chat); + chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); + handler.inviteUserToChat(null, chatId); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void inviteUserToChatNullChat() { - SteamID userId = new SteamID(987654321L); - handler.inviteUserToChat(userId, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID userId = new SteamID(987654321L); + handler.inviteUserToChat(userId, null); + }); } @Test @@ -240,18 +255,22 @@ public void kickChatMember() { assertEquals(EChatAction.Kick, msg.getBody().getChatAction()); } - @Test(expected = IllegalArgumentException.class) + @Test public void kickChatMemberNullUser() { - SteamID chatId = new SteamID(123456789L); - chatId.setAccountType(EAccountType.Chat); - chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); - handler.kickChatMember(chatId, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID chatId = new SteamID(123456789L); + chatId.setAccountType(EAccountType.Chat); + chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); + handler.kickChatMember(chatId, null); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void kickChatMemberNullChat() { - SteamID userId = new SteamID(987654321L); - handler.kickChatMember(null, userId); + assertThrows(IllegalArgumentException.class, () -> { + SteamID userId = new SteamID(987654321L); + handler.kickChatMember(null, userId); + }); } @Test @@ -269,18 +288,22 @@ public void banChatMember() { assertEquals(EChatAction.Ban, msg.getBody().getChatAction()); } - @Test(expected = IllegalArgumentException.class) + @Test public void banChatMemberNullUser() { - SteamID chatId = new SteamID(123456789L); - chatId.setAccountType(EAccountType.Chat); - chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); - handler.banChatMember(chatId, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID chatId = new SteamID(123456789L); + chatId.setAccountType(EAccountType.Chat); + chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); + handler.banChatMember(chatId, null); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void banChatMemberNullChat() { - SteamID userId = new SteamID(987654321L); - handler.banChatMember(null, userId); + assertThrows(IllegalArgumentException.class, () -> { + SteamID userId = new SteamID(987654321L); + handler.banChatMember(null, userId); + }); } @Test @@ -298,18 +321,22 @@ public void unbanChatMember() { assertEquals(EChatAction.UnBan, msg.getBody().getChatAction()); } - @Test(expected = IllegalArgumentException.class) + @Test public void unbanChatMemberNullUser() { - SteamID chatId = new SteamID(123456789L); - chatId.setAccountType(EAccountType.Chat); - chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); - handler.unbanChatMember(chatId, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID chatId = new SteamID(123456789L); + chatId.setAccountType(EAccountType.Chat); + chatId.setAccountInstance(SteamID.ChatInstanceFlags.CLAN.code()); + handler.unbanChatMember(chatId, null); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void unbanChatMemberNullChat() { - SteamID userId = new SteamID(987654321L); - handler.unbanChatMember(null, userId); + assertThrows(IllegalArgumentException.class, () -> { + SteamID userId = new SteamID(987654321L); + handler.unbanChatMember(null, userId); + }); } @Test @@ -326,9 +353,9 @@ public void requestFriendInfo() { assertEquals(1, msg.getBody().getFriendsCount()); } - @Test(expected = IllegalArgumentException.class) + @Test public void requestFriendInfoNull() { - handler.requestFriendInfo((SteamID) null, 1); + assertThrows(IllegalArgumentException.class, () -> handler.requestFriendInfo((SteamID) null, 1)); } @Test @@ -342,9 +369,9 @@ public void ignoreFriend() { assertEquals(userId, msg.getBody().getSteamIdFriend()); } - @Test(expected = IllegalArgumentException.class) + @Test public void ignoreFriendNull() { - handler.ignoreFriend(null); + assertThrows(IllegalArgumentException.class, () -> handler.ignoreFriend(null)); } @Test @@ -357,9 +384,9 @@ public void requestProfileInfo() { assertEquals(987654321L, msg.getBody().getSteamidFriend()); } - @Test(expected = IllegalArgumentException.class) + @Test public void requestProfileInfoNull() { - handler.requestProfileInfo(null); + assertThrows(IllegalArgumentException.class, () -> handler.requestProfileInfo(null)); } @Test @@ -372,9 +399,9 @@ public void requestMessageHistory() { assertEquals(987654321L, msg.getBody().getSteamid()); } - @Test(expected = IllegalArgumentException.class) + @Test public void requestMessageHistoryNull() { - handler.requestMessageHistory(null); + assertThrows(IllegalArgumentException.class, () -> handler.requestMessageHistory(null)); } @Test @@ -397,15 +424,17 @@ public void setFriendNickname() { assertEquals("testnickname", msg.getBody().getNickname()); } - @Test(expected = IllegalArgumentException.class) + @Test public void setFriendNicknameNullId() { - SteamID userId = new SteamID(987654321L); - handler.setFriendNickname(userId, null); + assertThrows(IllegalArgumentException.class, () -> { + SteamID userId = new SteamID(987654321L); + handler.setFriendNickname(userId, null); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void setFriendNicknameNullNickname() { - handler.setFriendNickname(null, "testnickname"); + assertThrows(IllegalArgumentException.class, () -> handler.setFriendNickname(null, "testnickname")); } @Test @@ -420,9 +449,9 @@ public void requestAliasHistory() { assertEquals(987654321L, msg.getBody().getIds(0).getSteamid()); } - @Test(expected = IllegalArgumentException.class) + @Test public void requestAliasHistoryNull() { - handler.requestAliasHistory((SteamID) null); + assertThrows(IllegalArgumentException.class, () -> handler.requestAliasHistory((SteamID) null)); } @Test diff --git a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUserTest.java b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUserTest.java index f3b1157d..35f2e32f 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUserTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUserTest.java @@ -13,21 +13,24 @@ import in.dragonbra.javasteam.steam.handlers.steamuser.callback.*; import in.dragonbra.javasteam.types.JobID; import in.dragonbra.javasteam.types.SteamID; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import java.util.Date; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; /** * @author lngtr * @since 2018-03-24 */ -@RunWith(MockitoJUnitRunner.Silent.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) public class SteamUserTest extends HandlerTestBase { @Override @@ -65,24 +68,28 @@ public void logOnNotConnected() { assertEquals(EResult.NoConnection, callback.getResult()); } - @Test(expected = IllegalArgumentException.class) + @Test public void logOnNoDetails() { - LogOnDetails details = new LogOnDetails(); - handler.logOn(details); + assertThrows(IllegalArgumentException.class, () -> { + LogOnDetails details = new LogOnDetails(); + handler.logOn(details); + }); } - @Test(expected = IllegalArgumentException.class) + @Test public void logOnNullDetails() { - handler.logOn(null); + assertThrows(IllegalArgumentException.class, () -> handler.logOn(null)); } - @Test(expected = IllegalArgumentException.class) + @Test public void logOnLoginKeyWithNoRemember() { - LogOnDetails details = new LogOnDetails(); - details.setUsername("testusername"); - details.setLoginKey("loginkey"); + assertThrows(IllegalArgumentException.class, () -> { + LogOnDetails details = new LogOnDetails(); + details.setUsername("testusername"); + details.setLoginKey("loginkey"); - handler.logOn(details); + handler.logOn(details); + }); } @Test @@ -98,9 +105,9 @@ public void logOnAnonymous() { assertEquals(EAccountType.AnonUser, id.getAccountType()); } - @Test(expected = IllegalArgumentException.class) + @Test public void logOnAnonymousNullDetails() { - handler.logOnAnonymous(null); + assertThrows(IllegalArgumentException.class, () -> handler.logOnAnonymous(null)); } @Test @@ -162,9 +169,9 @@ public void machineAuthResponse() { assertArrayEquals(new byte[]{0, 1, 2, 3}, msg.getBody().getShaFile().toByteArray()); } - @Test(expected = IllegalArgumentException.class) + @Test public void machineAuthResponseNullDetails() { - handler.sendMachineAuthResponse(null); + assertThrows(IllegalArgumentException.class, () -> handler.sendMachineAuthResponse(null)); } @Test @@ -190,14 +197,14 @@ public void acceptNewLoginKey() { assertEquals(123, msg.getBody().getUniqueId()); } - @Test(expected = IllegalArgumentException.class) + @Test public void acceptNewLoginKeyNullCallback() { - handler.acceptNewLoginKey(null); + assertThrows(IllegalArgumentException.class, () -> handler.acceptNewLoginKey(null)); } - @Test(expected = IllegalArgumentException.class) + @Test public void handleNullPacket() { - handler.handleMsg(null); + assertThrows(IllegalArgumentException.class, () -> handler.handleMsg(null)); } @Test diff --git a/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackForTest.java b/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackForTest.java index c71bbbf3..ba9de8a7 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackForTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackForTest.java @@ -7,14 +7,14 @@ * @since 2018-02-25 */ public class CallbackForTest extends CallbackMsg { + + private UUID uuid; + public CallbackForTest(UUID uuid) { this.uuid = uuid; } - private UUID uuid; - public CallbackForTest() { - } public UUID getUuid() { diff --git a/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManagerTest.java b/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManagerTest.java index f161746b..cad764fd 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManagerTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/steamclient/callbackmgr/CallbackManagerTest.java @@ -4,14 +4,14 @@ import in.dragonbra.javasteam.steam.steamclient.SteamClient; import in.dragonbra.javasteam.types.JobID; import in.dragonbra.javasteam.util.compat.Consumer; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import java.io.Closeable; import java.io.IOException; import java.util.UUID; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr @@ -22,7 +22,7 @@ public class CallbackManagerTest extends TestBase { private SteamClient client; private CallbackManager mgr; - @Before + @BeforeEach public void setUp() { client = new SteamClient(); mgr = new CallbackManager(client); @@ -34,12 +34,7 @@ public void postedCallbackTriggersAction() { final boolean[] didCall = {false}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - didCall[0] = true; - } - }; + Consumer action = cb -> didCall[0] = true; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, action)) { postAndRunCallback(callback); @@ -56,14 +51,11 @@ public void postedCallbackTriggersAction_CatchAll() { final boolean[] didCall = {false}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackMsg cb) { - assertTrue(cb instanceof CallbackForTest); - CallbackForTest cft = (CallbackForTest) cb; - assertEquals(callback.getUuid(), cft.getUuid()); - didCall[0] = true; - } + Consumer action = cb -> { + assertTrue(cb instanceof CallbackForTest); + CallbackForTest cft = (CallbackForTest) cb; + assertEquals(callback.getUuid(), cft.getUuid()); + didCall[0] = true; }; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, action)) { @@ -83,13 +75,10 @@ public void postedCallbackTriggersActionForExplicitJobIDInvalid() { final boolean[] didCall = {false}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - assertEquals(jobID, cb.getJobID()); - assertEquals(callback.getUuid(), cb.getUuid()); - didCall[0] = true; - } + Consumer action = cb -> { + assertEquals(jobID, cb.getJobID()); + assertEquals(callback.getUuid(), cb.getUuid()); + didCall[0] = true; }; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, JobID.INVALID, action)) { @@ -109,13 +98,10 @@ public void postedCallbackWithJobIDTriggersActionWhenNoJobIDSpecified() { final boolean[] didCall = {false}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - assertEquals(jobID, cb.getJobID()); - assertEquals(callback.getUuid(), cb.getUuid()); - didCall[0] = true; - } + Consumer action = cb -> { + assertEquals(jobID, cb.getJobID()); + assertEquals(callback.getUuid(), cb.getUuid()); + didCall[0] = true; }; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, action)) { @@ -135,12 +121,7 @@ public void postedCallbackDoesNotTriggerActionForWrongJobID() { final boolean[] didCall = {false}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - didCall[0] = true; - } - }; + Consumer action = cb -> didCall[0] = true; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, new JobID(123), action)) { postAndRunCallback(callback); @@ -159,13 +140,10 @@ public void postedCallbackWithJobIDTriggersCallbackForJobID() { final boolean[] didCall = {false}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - assertEquals(jobID, cb.getJobID()); - assertEquals(callback.getUuid(), cb.getUuid()); - didCall[0] = true; - } + Consumer action = cb -> { + assertEquals(jobID, cb.getJobID()); + assertEquals(callback.getUuid(), cb.getUuid()); + didCall[0] = true; }; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, new JobID(123456), action)) { @@ -183,12 +161,7 @@ public void subscribedFunctionDoesNotRunWhenSubscriptionIsDisposed() { final int[] callCount = {0}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - callCount[0]++; - } - }; + Consumer action = cb -> callCount[0]++; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, action)) { postAndRunCallback(callback); @@ -206,12 +179,9 @@ public void postedCallbacksTriggerActions() { final int[] numCallbacksRun = {0}; - Consumer action = new Consumer() { - @Override - public void accept(CallbackForTest cb) { - assertEquals(callback.getUuid(), cb.getUuid()); - numCallbacksRun[0]++; - } + Consumer action = cb -> { + assertEquals(callback.getUuid(), cb.getUuid()); + numCallbacksRun[0]++; }; try (Closeable ignored = mgr.subscribe(CallbackForTest.class, action)) { diff --git a/src/test/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationTest.java b/src/test/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationTest.java index 3c2de2e5..434271f9 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/steamclient/configuration/SteamConfigurationTest.java @@ -6,35 +6,31 @@ import in.dragonbra.javasteam.steam.discovery.IServerListProvider; import in.dragonbra.javasteam.steam.discovery.MemoryServerListProvider; import in.dragonbra.javasteam.steam.discovery.ServerRecord; -import in.dragonbra.javasteam.util.compat.Consumer; import okhttp3.OkHttpClient; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.EnumSet; import java.util.List; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; public class SteamConfigurationTest { private final SteamConfiguration defaultConfig = SteamConfiguration.createDefault(); - private final SteamConfiguration modifiedConfig = SteamConfiguration.create(new Consumer() { - @Override - public void accept(ISteamConfigurationBuilder builder) { + private final SteamConfiguration modifiedConfig = SteamConfiguration.create(builder -> builder.withDirectoryFetch(false) - .withCellID(123) - .withConnectionTimeout(60000L) - .withDefaultPersonaStateFlags(EClientPersonaStateFlag.SourceID) - .withHttpClient(new OkHttpClient.Builder().connectTimeout(1, TimeUnit.MINUTES).build()) - .withProtocolTypes(EnumSet.of(ProtocolTypes.WEB_SOCKET, ProtocolTypes.UDP)) - .withServerListProvider(new CustomServerListProvider()) - .withUniverse(EUniverse.Internal) - .withWebAPIBaseAddress("http://foo.bar.com/api/") - .withWebAPIKey("T0PS3kR1t"); - } - }); + .withCellID(123) + .withConnectionTimeout(60000L) + .withDefaultPersonaStateFlags(EClientPersonaStateFlag.SourceID) + .withHttpClient(new OkHttpClient.Builder().connectTimeout(1, TimeUnit.MINUTES).build()) + .withProtocolTypes(EnumSet.of(ProtocolTypes.WEB_SOCKET, ProtocolTypes.UDP)) + .withServerListProvider(new CustomServerListProvider()) + .withUniverse(EUniverse.Internal) + .withWebAPIBaseAddress("http://foo.bar.com/api/") + .withWebAPIKey("T0PS3kR1t") + ); @Test public void allowDirectoryFetch() { @@ -157,7 +153,7 @@ public void webApiKeyConfigured() { assertEquals("T0PS3kR1t", modifiedConfig.getWebAPIKey()); } - private class CustomServerListProvider implements IServerListProvider { + private static class CustomServerListProvider implements IServerListProvider { @Override public List fetchServerList() { diff --git a/src/test/java/in/dragonbra/javasteam/steam/webapi/SteamDirectoryTest.java b/src/test/java/in/dragonbra/javasteam/steam/webapi/SteamDirectoryTest.java index ab9b6984..5da77b87 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/webapi/SteamDirectoryTest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/webapi/SteamDirectoryTest.java @@ -2,20 +2,19 @@ import in.dragonbra.javasteam.TestBase; import in.dragonbra.javasteam.steam.discovery.ServerRecord; -import in.dragonbra.javasteam.steam.steamclient.configuration.ISteamConfigurationBuilder; import in.dragonbra.javasteam.steam.steamclient.configuration.SteamConfiguration; -import in.dragonbra.javasteam.util.compat.Consumer; +import mockwebserver3.MockResponse; +import mockwebserver3.MockWebServer; +import mockwebserver3.RecordedRequest; import okhttp3.HttpUrl; -import okhttp3.mockwebserver.MockResponse; -import okhttp3.mockwebserver.MockWebServer; -import okhttp3.mockwebserver.RecordedRequest; import org.apache.commons.io.IOUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.List; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author lngtr @@ -27,19 +26,17 @@ public class SteamDirectoryTest extends TestBase { public void load() throws IOException, InterruptedException { MockWebServer server = new MockWebServer(); - server.enqueue(new MockResponse().setBody(IOUtils.toString( - WebAPITest.class.getClassLoader().getResource("testresponses/GetCMList.vdf"), "UTF-8"))); + String resource = IOUtils.toString( + WebAPITest.class.getClassLoader().getResource("testresponses/GetCMList.vdf"), + StandardCharsets.UTF_8 + ); + server.enqueue(new MockResponse().setBody(resource)); server.start(); final HttpUrl baseUrl = server.url("/"); - SteamConfiguration config = SteamConfiguration.create(new Consumer() { - @Override - public void accept(ISteamConfigurationBuilder b) { - b.withWebAPIBaseAddress(baseUrl.toString()); - } - }); + SteamConfiguration config = SteamConfiguration.create(b -> b.withWebAPIBaseAddress(baseUrl.toString())); List servers = SteamDirectory.load(config); diff --git a/src/test/java/in/dragonbra/javasteam/steam/webapi/WebAPITest.java b/src/test/java/in/dragonbra/javasteam/steam/webapi/WebAPITest.java index 292d5f35..10af5610 100644 --- a/src/test/java/in/dragonbra/javasteam/steam/webapi/WebAPITest.java +++ b/src/test/java/in/dragonbra/javasteam/steam/webapi/WebAPITest.java @@ -1,27 +1,26 @@ package in.dragonbra.javasteam.steam.webapi; import in.dragonbra.javasteam.TestBase; -import in.dragonbra.javasteam.steam.steamclient.configuration.ISteamConfigurationBuilder; import in.dragonbra.javasteam.steam.steamclient.configuration.SteamConfiguration; import in.dragonbra.javasteam.types.KeyValue; import in.dragonbra.javasteam.util.Versions; -import in.dragonbra.javasteam.util.compat.Consumer; +import mockwebserver3.MockResponse; +import mockwebserver3.MockWebServer; +import mockwebserver3.RecordedRequest; import okhttp3.HttpUrl; -import okhttp3.mockwebserver.MockResponse; -import okhttp3.mockwebserver.MockWebServer; -import okhttp3.mockwebserver.RecordedRequest; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import java.io.IOException; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * @author lngtr @@ -37,7 +36,7 @@ public class WebAPITest extends TestBase { private CountDownLatch lock; - @Before + @BeforeEach public void setUp() throws IOException { lock = new CountDownLatch(1); server = new MockWebServer(); @@ -52,15 +51,10 @@ public void setUp() throws IOException { baseUrl = server.url("/"); - config = SteamConfiguration.create(new Consumer() { - @Override - public void accept(ISteamConfigurationBuilder b) { - b.withWebAPIBaseAddress(baseUrl.toString()); - } - }); + config = SteamConfiguration.create(b -> b.withWebAPIBaseAddress(baseUrl.toString())); } - @After + @AfterEach public void tearDown() throws IOException { server.shutdown(); } @@ -78,13 +72,9 @@ public void requestHeaders() throws InterruptedException, IOException { @Test public void steamConfigWebApiInterface() { - SteamConfiguration config = SteamConfiguration.create(new Consumer() { - @Override - public void accept(ISteamConfigurationBuilder b) { - b.withWebAPIBaseAddress("http://example.com/") - .withWebAPIKey("hello"); - } - }); + SteamConfiguration config = SteamConfiguration.create(b -> + b.withWebAPIBaseAddress("http://example.com/").withWebAPIKey("hello") + ); WebAPI api = config.getWebAPI("TestInterface"); @@ -111,19 +101,17 @@ public void testSyncCall() throws IOException, InterruptedException { public void testAsyncCall() throws IOException, InterruptedException { WebAPI api = config.getWebAPI("TestInterface"); - api.call("TestFunction", new Consumer() { - @Override - public void accept(KeyValue result) { - assertEquals("stringvalue", result.get("name").asString()); - assertEquals("stringvalue", result.get("name").getValue()); - lock.countDown(); - } + api.call("TestFunction", result -> { + assertEquals("stringvalue", result.get("name").asString()); + assertEquals("stringvalue", result.get("name").getValue()); + lock.countDown(); }, null); RecordedRequest request = server.takeRequest(); assertEquals("/TestInterface/TestFunction/v1?format=vdf", request.getPath()); assertEquals("GET", request.getMethod()); + //noinspection ResultOfMethodCallIgnored lock.await(2000, TimeUnit.MILLISECONDS); } @@ -139,7 +127,7 @@ public void testPostCall() throws IOException, InterruptedException { RecordedRequest request = server.takeRequest(); assertEquals("/TestInterface/TestFunction/v1", request.getPath()); assertEquals("POST", request.getMethod()); - assertEquals("format=vdf", request.getBody().readString(Charset.forName("UTF-8"))); + assertEquals("format=vdf", request.getBody().readString(StandardCharsets.UTF_8)); } @Test @@ -190,18 +178,22 @@ public void testParametersPostCall() throws IOException, InterruptedException { RecordedRequest request = server.takeRequest(); assertEquals("/TestInterface/TestFunction/v1", request.getPath()); assertEquals("POST", request.getMethod()); - assertEquals("key1=value1&key2=value2&format=vdf", request.getBody().readString(Charset.forName("UTF-8"))); + assertEquals("key1=value1&key2=value2&format=vdf", request.getBody().readString(StandardCharsets.UTF_8)); } - @Test(expected = IllegalArgumentException.class) - public void testNullMethod() throws IOException { - WebAPI api = config.getWebAPI("TestInterface"); - api.call(null, "TestFunction"); + @Test + public void testNullMethod() { + assertThrows(IllegalArgumentException.class, () -> { + WebAPI api = config.getWebAPI("TestInterface"); + api.call(null, "TestFunction"); + }); } - @Test(expected = IllegalArgumentException.class) - public void testNullFunction() throws IOException { - WebAPI api = config.getWebAPI("TestInterface"); - api.call("GET", (String) null); + @Test + public void testNullFunction() { + assertThrows(IllegalArgumentException.class, () -> { + WebAPI api = config.getWebAPI("TestInterface"); + api.call("GET", (String) null); + }); } } \ No newline at end of file diff --git a/src/test/java/in/dragonbra/javasteam/types/GameIDTest.java b/src/test/java/in/dragonbra/javasteam/types/GameIDTest.java index a24e891c..5d11451e 100644 --- a/src/test/java/in/dragonbra/javasteam/types/GameIDTest.java +++ b/src/test/java/in/dragonbra/javasteam/types/GameIDTest.java @@ -1,8 +1,9 @@ package in.dragonbra.javasteam.types; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * @author lngtr diff --git a/src/test/java/in/dragonbra/javasteam/types/KeyValueTest.java b/src/test/java/in/dragonbra/javasteam/types/KeyValueTest.java index 4de10e73..26642efc 100644 --- a/src/test/java/in/dragonbra/javasteam/types/KeyValueTest.java +++ b/src/test/java/in/dragonbra/javasteam/types/KeyValueTest.java @@ -7,19 +7,18 @@ import in.dragonbra.javasteam.util.stream.SeekOrigin; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.binary.Hex; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.EOFException; -import java.io.File; import java.io.IOException; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.EnumSet; import java.util.UUID; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr @@ -29,8 +28,8 @@ public class KeyValueTest extends TestBase { public static final String TEST_OBJECT_HEX = "00546573744F626A65637400016B65790076616C7565000808"; - @Rule - public TemporaryFolder folder = new TemporaryFolder(); + @TempDir + Path folder; @Test public void keyValueInitializesCorrectly() { @@ -143,10 +142,10 @@ public void keyValuesHandlesBool() { assertFalse(kv.get("name").asBoolean()); kv.get("name").setValue("1000"); - assertTrue("values other than 0 are truthy", kv.get("name").asBoolean()); + assertTrue(kv.get("name").asBoolean(), "values other than 0 are truthy"); kv.get("name").setValue("inavlidbool"); - assertFalse("values that cannot be converted to integers are falsey", kv.get("name").asBoolean()); + assertFalse(kv.get("name").asBoolean(), "values that cannot be converted to integers are falsey"); } @Test @@ -208,6 +207,8 @@ public void keyValuesHandlesString() { @Test public void keyValuesWritesBinaryToFile() throws IOException { + final Path tempFile = Files.createFile(folder.resolve("keyValuesWritesBinaryToFile.txt")); + String expectedHexValue = "00525000017374617475730023444F54415F52505F424F54505241435449434500016E756D5F706172616D730030000" + "17761746368696E675F736572766572005B413A313A323130383933353136393A353431325D00017761746368696E675F66726F6D5F73" + "6572766572005B413A313A3836343436383939343A353431325D000808"; @@ -218,12 +219,9 @@ public void keyValuesWritesBinaryToFile() throws IOException { kv.getChildren().add(new KeyValue("watching_server", "[A:1:2108935169:5412]")); kv.getChildren().add(new KeyValue("watching_from_server", "[A:1:864468994:5412]")); - File tempFile; - tempFile = folder.newFile(); - - kv.saveToFile(tempFile, true); + kv.saveToFile(tempFile.toFile(), true); - byte[] binaryValue = Files.readAllBytes(Paths.get(tempFile.getPath())); + byte[] binaryValue = Files.readAllBytes(Paths.get(tempFile.toFile().getPath())); String hexValue = Hex.encodeHexString(binaryValue, false).replaceAll("-", ""); assertEquals(expectedHexValue, hexValue); @@ -286,7 +284,7 @@ public void keyValues_TryReadAsBinary_ReadsBinary() throws IOException, DecoderE success = kv.tryReadAsBinary(ms); assertEquals(ms.getLength(), ms.getPosition()); - assertTrue("Should have read test object.", success); + assertTrue(success, "Should have read test object."); assertEquals("TestObject", kv.getName()); assertEquals(1, kv.getChildren().size()); assertEquals("key", kv.getChildren().get(0).getName()); @@ -304,7 +302,7 @@ public void keyValuesReadsBinaryWithLeftoverData() throws IOException, DecoderEx assertEquals(TEST_OBJECT_HEX.length() / 2, ms.getPosition()); assertEquals(16, ms.getLength() - ms.getPosition()); - assertTrue("Should have read test object.", success); + assertTrue(success, "Should have read test object."); assertEquals("TestObject", kv.getName()); assertEquals(1, kv.getChildren().size()); assertEquals("key", kv.getChildren().get(0).getName()); @@ -322,12 +320,12 @@ public void keyValuesFailsToReadTruncatedBinary() throws IOException, DecoderExc MemoryStream ms = new MemoryStream(binary); try { success = kv.tryReadAsBinary(ms); - assertFalse(true); + fail(); } catch (EOFException ignored) { } assertEquals(ms.getLength(), ms.getPosition()); - assertFalse("Should not have read test object.", success); + assertFalse(success, "Should not have read test object."); } } @@ -352,6 +350,8 @@ public void keyValuesReadsBinaryWithMultipleChildren() throws IOException, Decod @Test public void keyValuesSavesTextToFile() throws IOException { + final Path tempFile = Files.createFile(folder.resolve("keyValuesSavesTextToFile.txt")); + String expected = "\"RootNode\"\n{\n\t\"key1\"\t\t\"value1\"\n\t\"key2\"\n\t{\n\t\t\"ChildKey\"\t\t\"ChildValue\"\n\t}\n}\n"; KeyValue kv = new KeyValue("RootNode"); @@ -362,9 +362,8 @@ public void keyValuesSavesTextToFile() throws IOException { kv.getChildren().add(kv2); String text; - File temporaryFile = folder.newFile(); - kv.saveToFile(temporaryFile, false); - text = new String(Files.readAllBytes(Paths.get(temporaryFile.getPath()))); + kv.saveToFile(tempFile.toFile(), false); + text = new String(Files.readAllBytes(Paths.get(tempFile.toFile().getPath()))); assertEquals(expected, text); } diff --git a/src/test/java/in/dragonbra/javasteam/types/SteamIDTests.java b/src/test/java/in/dragonbra/javasteam/types/SteamIDTests.java index ab6360dc..c15ed158 100644 --- a/src/test/java/in/dragonbra/javasteam/types/SteamIDTests.java +++ b/src/test/java/in/dragonbra/javasteam/types/SteamIDTests.java @@ -3,18 +3,16 @@ import in.dragonbra.javasteam.TestBase; import in.dragonbra.javasteam.enums.EAccountType; import in.dragonbra.javasteam.enums.EUniverse; -import junitparams.JUnitParamsRunner; -import junitparams.Parameters; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.EnumSource; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; /** * @author lngtr * @since 2018-02-19 */ -@RunWith(JUnitParamsRunner.class) public class SteamIDTests extends TestBase { @Test @@ -264,9 +262,9 @@ public void steamIDsEquality() { @Test public void steamIDHashCodeUsesLongHashCode() { SteamID sid = new SteamID(172376458626834L); - Long longValue = 172376458626834L; + long longValue = 172376458626834L; - assertEquals(sid.hashCode(), longValue.hashCode()); + assertEquals(sid.hashCode(), Long.hashCode(longValue)); } @Test @@ -322,25 +320,13 @@ public void toChatIDDoesNotModifySelf() { assertEquals(4L, clanID.getAccountID()); } - private EAccountType[] testParamsAccountType0() { - return new EAccountType[] { - EAccountType.AnonGameServer, - EAccountType.AnonUser, - EAccountType.Chat, - EAccountType.ConsoleUser, - EAccountType.ContentServer, - EAccountType.GameServer, - EAccountType.Individual, - EAccountType.Multiseat, - EAccountType.Pending, - }; - } - - @Test(expected = IllegalStateException.class) - @Parameters(method = "testParamsAccountType0") + @ParameterizedTest + @EnumSource(value = EAccountType.class, names = {"Invalid", "Clan"}, mode = EnumSource.Mode.EXCLUDE) public void toChatIDOnlySupportsClans(EAccountType type) { - SteamID id = new SteamID(1, EUniverse.Public, type); - id.toChatID(); + assertThrows(IllegalStateException.class, () -> { + SteamID id = new SteamID(1, EUniverse.Public, type); + id.toChatID(); + }); } @Test @@ -371,22 +357,8 @@ public void tryGetClanIDReturnsFalseForAdHocChatRoom() { assertNull(groupID); } - private EAccountType[] testParamsAccountType1() { - return new EAccountType[] { - EAccountType.AnonGameServer, - EAccountType.AnonUser, - EAccountType.Clan, - EAccountType.ConsoleUser, - EAccountType.ContentServer, - EAccountType.GameServer, - EAccountType.Individual, - EAccountType.Multiseat, - EAccountType.Pending, - }; - } - - @Test - @Parameters(method = "testParamsAccountType1") + @ParameterizedTest + @EnumSource(value = EAccountType.class, names = {"Invalid", "Chat"}, mode = EnumSource.Mode.EXCLUDE) public void tryGetClanIDOnlySupportsChatRooms(EAccountType type) { SteamID chatID = new SteamID(4, SteamID.ChatInstanceFlags.CLAN.code(), EUniverse.Public, type); diff --git a/src/test/java/in/dragonbra/javasteam/util/NetHelpersTest.java b/src/test/java/in/dragonbra/javasteam/util/NetHelpersTest.java index ca2969e8..35444d23 100644 --- a/src/test/java/in/dragonbra/javasteam/util/NetHelpersTest.java +++ b/src/test/java/in/dragonbra/javasteam/util/NetHelpersTest.java @@ -1,12 +1,12 @@ package in.dragonbra.javasteam.util; import in.dragonbra.javasteam.TestBase; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.net.InetAddress; import java.net.UnknownHostException; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; public class NetHelpersTest extends TestBase { diff --git a/src/test/java/in/dragonbra/javasteam/util/UtilsTest.java b/src/test/java/in/dragonbra/javasteam/util/UtilsTest.java index 8e567de0..5f9adec5 100644 --- a/src/test/java/in/dragonbra/javasteam/util/UtilsTest.java +++ b/src/test/java/in/dragonbra/javasteam/util/UtilsTest.java @@ -1,8 +1,8 @@ package in.dragonbra.javasteam.util; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author lngtr @@ -10,6 +10,109 @@ */ public class UtilsTest { + // TODO: Is it possible to actually test OS types on the fly? + +// @Before +// public void init() { +// System.setProperty("os.name", "Linux"); +// } +// +// @Test +// public void testEOSType_Linux_22() { +// System.setProperty("os.version", "2.2"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux22, type); +// } +// +// @Test +// public void testEOSType_Linux_24() { +// System.setProperty("os.version", "2.4"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux24, type); +// } +// +// @Test +// public void testEOSType_Linux_26() { +// System.setProperty("os.version", "2.6.39"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux26, type); +// } +// +// @Test +// public void testEOSType_Linux_30() { +// System.setProperty("os.version", "3.0"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux3x, type); +// } +// +// @Test +// public void testEOSType_Linux_310() { +// System.setProperty("os.version", "3.10"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux310, type); +// } +// +// @Test +// public void testEOSType_Linux_318() { +// System.setProperty("os.version", "3.18"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux318, type); +// } +// +// @Test +// public void testEOSType_Linux_40() { +// System.setProperty("os.version", "4.0"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux4x, type); +// } +// +// @Test +// public void testEOSType_Linux_49() { +// System.setProperty("os.version", "4.9"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux49, type); +// } +// +// @Test +// public void testEOSType_Linux_419() { +// System.setProperty("os.version", "4.19"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux419, type); +// } +// +// @Test +// public void testEOSType_Linux_510() { +// System.setProperty("os.version", "5.10"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux510, type); +// } +// +// @Test +// public void testEOSType_Linux_515() { +// System.setProperty("os.version", "5.15.79.1-microsoft-standard-WSL2"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux5x, type); +// } +// +// @Test +// public void testEOSType_Linux_61() { +// System.setProperty("os.version", "6.1"); +// +// EOSType type = Utils.getOSType(); +// assertEquals(EOSType.Linux6x, type); +// } + @Test public void crc32() { long result = Utils.crc32("test_string"); diff --git a/src/test/java/in/dragonbra/javasteam/util/WebHelpersTest.java b/src/test/java/in/dragonbra/javasteam/util/WebHelpersTest.java index fe524ae9..0056cf89 100644 --- a/src/test/java/in/dragonbra/javasteam/util/WebHelpersTest.java +++ b/src/test/java/in/dragonbra/javasteam/util/WebHelpersTest.java @@ -1,10 +1,9 @@ package in.dragonbra.javasteam.util; import in.dragonbra.javasteam.TestBase; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * @author lngtr @@ -15,6 +14,6 @@ public class WebHelpersTest extends TestBase { @Test public void urlEncode() { String result = WebHelpers.urlEncode("encrypt THIS sTrInG1234 \10 \11 \12"); - Assert.assertEquals("encrypt+THIS+sTrInG1234+%08+%09+%0A", result); + assertEquals("encrypt+THIS+sTrInG1234+%08+%09+%0A", result); } } \ No newline at end of file diff --git a/src/test/java/in/dragonbra/javasteam/util/compat/ObjectsCompatTest.java b/src/test/java/in/dragonbra/javasteam/util/compat/ObjectsCompatTest.java index 9f69a452..d870c2ae 100644 --- a/src/test/java/in/dragonbra/javasteam/util/compat/ObjectsCompatTest.java +++ b/src/test/java/in/dragonbra/javasteam/util/compat/ObjectsCompatTest.java @@ -1,16 +1,16 @@ package in.dragonbra.javasteam.util.compat; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - import in.dragonbra.javasteam.TestBase; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; public class ObjectsCompatTest extends TestBase { + @SuppressWarnings("ConstantValue") @Test - public void testEquals() throws Exception { + public void testEquals() { final String a = "aaa"; final String b = "bbb"; final String c = null; diff --git a/src/test/java/in/dragonbra/javasteam/util/crypto/AsnKeyParserTest.java b/src/test/java/in/dragonbra/javasteam/util/crypto/AsnKeyParserTest.java index 590f1416..26cd5205 100644 --- a/src/test/java/in/dragonbra/javasteam/util/crypto/AsnKeyParserTest.java +++ b/src/test/java/in/dragonbra/javasteam/util/crypto/AsnKeyParserTest.java @@ -3,13 +3,13 @@ import in.dragonbra.javasteam.TestBase; import in.dragonbra.javasteam.enums.EUniverse; import in.dragonbra.javasteam.util.KeyDictionary; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; public class AsnKeyParserTest extends TestBase { diff --git a/src/test/java/in/dragonbra/javasteam/util/crypto/CryptoHelperTest.java b/src/test/java/in/dragonbra/javasteam/util/crypto/CryptoHelperTest.java index f6d44053..edd90bc3 100644 --- a/src/test/java/in/dragonbra/javasteam/util/crypto/CryptoHelperTest.java +++ b/src/test/java/in/dragonbra/javasteam/util/crypto/CryptoHelperTest.java @@ -1,9 +1,9 @@ package in.dragonbra.javasteam.util.crypto; import in.dragonbra.javasteam.TestBase; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; public class CryptoHelperTest extends TestBase {