Skip to content

Commit

Permalink
Do not rely on Java lowercasing mechanisms
Browse files Browse the repository at this point in the history
  • Loading branch information
Gregor Billing committed Sep 28, 2020
1 parent 566dcc5 commit 850aa67
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.worldcubeassociation.tnoodle.server.webscrambles.wcif.model

import org.worldcubeassociation.tnoodle.server.serial.SingletonStringEncoder
import org.worldcubeassociation.tnoodle.server.webscrambles.exceptions.BadWcifParameterException

enum class Gender(val wcaString: String) {
MALE("m"),
Expand All @@ -11,6 +12,7 @@ enum class Gender(val wcaString: String) {
fun fromWCAString(wcaString: String) = values().find { it.wcaString == wcaString }

override fun encodeInstance(instance: Gender) = instance.wcaString
override fun makeInstance(deserialized: String) = fromWCAString(deserialized)!!
override fun makeInstance(deserialized: String) = fromWCAString(deserialized)
?: BadWcifParameterException.error("Unknown WCIF spec Gender: '$deserialized'. Valid types: ${values().map { it.wcaString }}")
}
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
package org.worldcubeassociation.tnoodle.server.webscrambles.wcif.model

import org.worldcubeassociation.tnoodle.server.serial.SingletonStringEncoder
import org.worldcubeassociation.tnoodle.server.webscrambles.exceptions.BadWcifParameterException

enum class RegistrationStatus {
ACCEPTED,
PENDING,
DELETED;

val wcaString
get() = name.toLowerCase()
enum class RegistrationStatus(val wcaString: String) {
ACCEPTED("accepted"),
PENDING("pending"),
DELETED("deleted");

companion object : SingletonStringEncoder<RegistrationStatus>("RegistrationStatus") {
fun fromWCAString(wcaString: String) = values().find { it.wcaString == wcaString }

override fun encodeInstance(instance: RegistrationStatus) = instance.wcaString
override fun makeInstance(deserialized: String) = fromWCAString(deserialized)!!
override fun makeInstance(deserialized: String) = fromWCAString(deserialized)
?: BadWcifParameterException.error("Unknown WCIF spec RegistrationStatus: '$deserialized'. Valid types: ${values().map { it.wcaString }}")
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package org.worldcubeassociation.tnoodle.server.webscrambles.wcif.model

import org.worldcubeassociation.tnoodle.server.serial.SingletonStringEncoder
import org.worldcubeassociation.tnoodle.server.webscrambles.exceptions.BadWcifParameterException

enum class ResultType {
SINGLE,
AVERAGE;

val wcaString
get() = this.name.toLowerCase()
enum class ResultType(val wcaString: String) {
SINGLE("single"),
AVERAGE("average");

companion object : SingletonStringEncoder<ResultType>("ResultType") {
fun fromWCAString(wcaString: String) = values().find { it.wcaString == wcaString }

override fun encodeInstance(instance: ResultType) = instance.wcaString
override fun makeInstance(deserialized: String) = fromWCAString(deserialized)!!
override fun makeInstance(deserialized: String) = fromWCAString(deserialized)
?: BadWcifParameterException.error("Unknown WCIF spec ResultType: '$deserialized'. Valid types: ${values().map { it.wcaString }}")
}
}

0 comments on commit 850aa67

Please sign in to comment.