From 109f75c6995d2b673d5dcabe5c8b522722ba0635 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Wed, 23 Oct 2013 07:01:05 +0200 Subject: [PATCH] Use renameField method to rename fields. --- .../java/net/pterodactylus/sone/data/Profile.java | 39 ++++------------------ .../sone/web/EditProfileFieldPage.java | 2 +- .../sone/web/ajax/EditProfileFieldAjaxPage.java | 2 +- 3 files changed, 9 insertions(+), 34 deletions(-) diff --git a/src/main/java/net/pterodactylus/sone/data/Profile.java b/src/main/java/net/pterodactylus/sone/data/Profile.java index 1d7610e..0b30f83 100644 --- a/src/main/java/net/pterodactylus/sone/data/Profile.java +++ b/src/main/java/net/pterodactylus/sone/data/Profile.java @@ -21,11 +21,11 @@ import static com.google.common.base.Optional.fromNullable; 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.util.UUID.randomUUID; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.UUID; import com.google.common.base.Optional; import com.google.common.hash.Hasher; @@ -233,7 +233,7 @@ public class Profile implements Fingerprintable { checkArgument(fieldName.length() > 0, "fieldName must not be empty"); checkState(getFieldByName(fieldName) == null, "fieldName must be unique"); @SuppressWarnings("synthetic-access") - Field field = new Field().setName(fieldName); + Field field = new Field(fieldName); fields.add(field); return field; } @@ -405,7 +405,7 @@ public class Profile implements Fingerprintable { * * @author David ‘Bombe’ Roden */ - public class Field { + public static class Field { /** The ID of the field. */ private final String id; @@ -416,21 +416,12 @@ public class Profile implements Fingerprintable { /** The value of the field. */ private String value; - /** - * Creates a new field with a random ID. - */ - private Field() { - this(UUID.randomUUID().toString()); + public Field(String name) { + this(name, null); } - /** - * Creates a new field with the given ID. - * - * @param id - * The ID of the field - */ - private Field(String id) { - this.id = checkNotNull(id, "id must not be null"); + public Field(String name, String value) { + this(randomUUID().toString(), name, value); } public Field(String id, String name, String value) { @@ -458,22 +449,6 @@ public class Profile implements Fingerprintable { } /** - * Sets the name of this field. The name must not be {@code null} and - * must not match any other fields in this profile but my match the name - * of this field. - * - * @param name - * The new name of this field - * @return This field - */ - public Field setName(String name) { - checkNotNull(name, "name must not be null"); - checkArgument(getFieldByName(name) == null, "name must be unique"); - this.name = name; - return this; - } - - /** * Returns the value of this field. * * @return The value of this field diff --git a/src/main/java/net/pterodactylus/sone/web/EditProfileFieldPage.java b/src/main/java/net/pterodactylus/sone/web/EditProfileFieldPage.java index 69c9be9..d4510e7 100644 --- a/src/main/java/net/pterodactylus/sone/web/EditProfileFieldPage.java +++ b/src/main/java/net/pterodactylus/sone/web/EditProfileFieldPage.java @@ -74,7 +74,7 @@ public class EditProfileFieldPage extends SoneTemplatePage { String name = request.getHttpRequest().getPartAsStringFailsafe("name", 256); Field existingField = profile.getFieldByName(name); if ((existingField == null) || (existingField.equals(field))) { - field.setName(name); + profile.renameField(field, name); currentSone.setProfile(profile); throw new RedirectException("editProfile.html#profile-fields"); } diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/EditProfileFieldAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/EditProfileFieldAjaxPage.java index d638b9d..50aea6c 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/EditProfileFieldAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/EditProfileFieldAjaxPage.java @@ -61,7 +61,7 @@ public class EditProfileFieldAjaxPage extends JsonPage { if ((existingField != null) && !existingField.equals(field)) { return createErrorJsonObject("duplicate-field-name"); } - field.setName(name); + profile.renameField(field, name); currentSone.setProfile(profile); return createSuccessJsonObject(); } -- 2.7.4