X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FProfile.java;h=b87ef4fe3737ee822fdda60141d373a4bf34ee72;hp=7d8a0bd2420442007b2f09703231bedf40b601a5;hb=438378deab1514f0f608d975ef65f5b7aea44ccb;hpb=179e7da4d8d8a474d0b622d60b5f5d32d6ab4052 diff --git a/src/main/java/net/pterodactylus/sone/data/Profile.java b/src/main/java/net/pterodactylus/sone/data/Profile.java index 7d8a0bd..b87ef4f 100644 --- a/src/main/java/net/pterodactylus/sone/data/Profile.java +++ b/src/main/java/net/pterodactylus/sone/data/Profile.java @@ -1,5 +1,5 @@ /* - * Sone - Profile.java - Copyright © 2010–2019 David Roden + * Sone - Profile.java - Copyright © 2010–2020 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ package net.pterodactylus.sone.data; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; +import static java.nio.charset.StandardCharsets.UTF_8; import java.util.ArrayList; import java.util.Collections; @@ -126,7 +127,7 @@ public class Profile implements Fingerprintable { */ @Nonnull public Profile setFirstName(@Nullable String firstName) { - this.firstName = firstName; + this.firstName = "".equals(firstName) ? null : firstName; return this; } @@ -149,7 +150,7 @@ public class Profile implements Fingerprintable { */ @Nonnull public Profile setMiddleName(@Nullable String middleName) { - this.middleName = middleName; + this.middleName = "".equals(middleName) ? null : middleName; return this; } @@ -172,7 +173,7 @@ public class Profile implements Fingerprintable { */ @Nonnull public Profile setLastName(@Nullable String lastName) { - this.lastName = lastName; + this.lastName = "".equals(lastName) ? null : lastName; return this; } @@ -429,34 +430,34 @@ public class Profile implements Fingerprintable { @Override public String getFingerprint() { Hasher hash = Hashing.sha256().newHasher(); - hash.putString("Profile("); + hash.putString("Profile(", UTF_8); if (firstName != null) { - hash.putString("FirstName(").putString(firstName).putString(")"); + hash.putString("FirstName(", UTF_8).putString(firstName, UTF_8).putString(")", UTF_8); } if (middleName != null) { - hash.putString("MiddleName(").putString(middleName).putString(")"); + hash.putString("MiddleName(", UTF_8).putString(middleName, UTF_8).putString(")", UTF_8); } if (lastName != null) { - hash.putString("LastName(").putString(lastName).putString(")"); + hash.putString("LastName(", UTF_8).putString(lastName, UTF_8).putString(")", UTF_8); } if (birthDay != null) { - hash.putString("BirthDay(").putInt(birthDay).putString(")"); + hash.putString("BirthDay(", UTF_8).putInt(birthDay).putString(")", UTF_8); } if (birthMonth != null) { - hash.putString("BirthMonth(").putInt(birthMonth).putString(")"); + hash.putString("BirthMonth(", UTF_8).putInt(birthMonth).putString(")", UTF_8); } if (birthYear != null) { - hash.putString("BirthYear(").putInt(birthYear).putString(")"); + hash.putString("BirthYear(", UTF_8).putInt(birthYear).putString(")", UTF_8); } if (avatar != null) { - hash.putString("Avatar(").putString(avatar).putString(")"); + hash.putString("Avatar(", UTF_8).putString(avatar, UTF_8).putString(")", UTF_8); } - hash.putString("ContactInformation("); + hash.putString("ContactInformation(", UTF_8); for (Field field : fields) { - hash.putString(field.getName()).putString("(").putString(field.getValue()).putString(")"); + hash.putString(field.getName(), UTF_8).putString("(", UTF_8).putString(field.getValue(), UTF_8).putString(")", UTF_8); } - hash.putString(")"); - hash.putString(")"); + hash.putString(")", UTF_8); + hash.putString(")", UTF_8); return hash.hash().toString(); }