diff --git a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java index 996100f6..9ab752cf 100644 --- a/src/main/java/org/asamk/signal/ReceiveMessageHandler.java +++ b/src/main/java/org/asamk/signal/ReceiveMessageHandler.java @@ -463,9 +463,8 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { if (contact.getPhone().isPresent()) { System.out.println(" - Phone details:"); - int i = 0; for (SharedContact.Phone phone : contact.getPhone().get()) { - System.out.println(" - No. " + i + ":"); + System.out.println(" - Phone:"); if (phone.getValue() != null) { System.out.println(" - Number: " + phone.getValue()); } @@ -475,15 +474,13 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { if (phone.getLabel().isPresent() && !phone.getLabel().get().isBlank()) { System.out.println(" - Label: " + phone.getLabel().get()); } - i++; } } if (contact.getEmail().isPresent()) { System.out.println(" - Email details:"); - int i = 0; for (SharedContact.Email email : contact.getEmail().get()) { - System.out.println(" - No. " + i + ":"); + System.out.println(" - Email:"); if (email.getValue() != null) { System.out.println(" - Value: " + email.getValue()); } @@ -498,9 +495,8 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { if (contact.getAddress().isPresent()) { System.out.println(" - Address details:"); - int i = 0; for (SharedContact.PostalAddress address : contact.getAddress().get()) { - System.out.println(" - No. " + i + ":"); + System.out.println(" - Address:"); if (address.getType() != null) { System.out.println(" - Type: " + address.getType()); } @@ -528,7 +524,6 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler { if (address.getCountry().isPresent() && !address.getCountry().get().isBlank()) { System.out.println(" - Country: " + address.getCountry().get()); } - i++; } } diff --git a/src/main/java/org/asamk/signal/json/JsonContactAddress.java b/src/main/java/org/asamk/signal/json/JsonContactAddress.java index 04f06cf3..712dd4f3 100644 --- a/src/main/java/org/asamk/signal/json/JsonContactAddress.java +++ b/src/main/java/org/asamk/signal/json/JsonContactAddress.java @@ -2,6 +2,7 @@ package org.asamk.signal.json; import com.fasterxml.jackson.annotation.JsonProperty; +import org.asamk.signal.util.Util; import org.whispersystems.signalservice.api.messages.shared.SharedContact; public class JsonContactAddress { @@ -33,27 +34,15 @@ public class JsonContactAddress { @JsonProperty private final String country; - private String getValueIfActuallyPopulated(String string) { - if (string == null || string.isBlank()) { - return null; - } - return string; - } - public JsonContactAddress(SharedContact.PostalAddress address) { type = address.getType(); - label = getValueIfActuallyPopulated(address.getLabel().orNull()); - street = getValueIfActuallyPopulated(address.getStreet().orNull()); - pobox = getValueIfActuallyPopulated(address.getPobox().orNull()); - neighborhood = getValueIfActuallyPopulated(address.getNeighborhood().orNull()); - city = getValueIfActuallyPopulated(address.getCity().orNull()); - region = getValueIfActuallyPopulated(address.getRegion().orNull()); - postcode = getValueIfActuallyPopulated(address.getPostcode().orNull()); - country = getValueIfActuallyPopulated(address.getCountry().orNull()); - if (country == null) { - System.out.println("Is null"); - } else { - System.out.println("Present: " + country); - } + label = Util.getStringIfNotBlank(address.getLabel()); + street = Util.getStringIfNotBlank(address.getStreet()); + pobox = Util.getStringIfNotBlank(address.getPobox()); + neighborhood = Util.getStringIfNotBlank(address.getNeighborhood()); + city = Util.getStringIfNotBlank(address.getCity()); + region = Util.getStringIfNotBlank(address.getRegion()); + postcode = Util.getStringIfNotBlank(address.getPostcode()); + country = Util.getStringIfNotBlank(address.getCountry()); } } diff --git a/src/main/java/org/asamk/signal/json/JsonContactEmail.java b/src/main/java/org/asamk/signal/json/JsonContactEmail.java index 80d727e2..070cfb72 100644 --- a/src/main/java/org/asamk/signal/json/JsonContactEmail.java +++ b/src/main/java/org/asamk/signal/json/JsonContactEmail.java @@ -2,6 +2,7 @@ package org.asamk.signal.json; import com.fasterxml.jackson.annotation.JsonProperty; +import org.asamk.signal.util.Util; import org.whispersystems.signalservice.api.messages.shared.SharedContact; public class JsonContactEmail { @@ -15,16 +16,9 @@ public class JsonContactEmail { @JsonProperty private final String label; - private String getValueIfPresent(String string) { - if (string == null || string.isBlank()) { - return null; - } - return string; - } - public JsonContactEmail(SharedContact.Email email) { value = email.getValue(); type = email.getType(); - label = getValueIfPresent(email.getLabel().orNull()); + label = Util.getStringIfNotBlank(email.getLabel()); } } diff --git a/src/main/java/org/asamk/signal/json/JsonContactName.java b/src/main/java/org/asamk/signal/json/JsonContactName.java new file mode 100644 index 00000000..9da27825 --- /dev/null +++ b/src/main/java/org/asamk/signal/json/JsonContactName.java @@ -0,0 +1,36 @@ +package org.asamk.signal.json; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import org.asamk.signal.util.Util; +import org.whispersystems.signalservice.api.messages.shared.SharedContact; + +public class JsonContactName { + + @JsonProperty + private final String display; + + @JsonProperty + private final String given; + + @JsonProperty + private final String family; + + @JsonProperty + private final String prefix; + + @JsonProperty + private final String suffix; + + @JsonProperty + private final String middle; + + public JsonContactName(SharedContact.Name name) { + display = Util.getStringIfNotBlank(name.getDisplay()); + given = Util.getStringIfNotBlank(name.getGiven()); + family = Util.getStringIfNotBlank(name.getFamily()); + prefix = Util.getStringIfNotBlank(name.getPrefix()); + suffix = Util.getStringIfNotBlank(name.getSuffix()); + middle = Util.getStringIfNotBlank(name.getMiddle()); + } +} diff --git a/src/main/java/org/asamk/signal/json/JsonContactPhone.java b/src/main/java/org/asamk/signal/json/JsonContactPhone.java index 4bd66429..fce75843 100644 --- a/src/main/java/org/asamk/signal/json/JsonContactPhone.java +++ b/src/main/java/org/asamk/signal/json/JsonContactPhone.java @@ -2,6 +2,7 @@ package org.asamk.signal.json; import com.fasterxml.jackson.annotation.JsonProperty; +import org.asamk.signal.util.Util; import org.whispersystems.signalservice.api.messages.shared.SharedContact; public class JsonContactPhone { @@ -15,16 +16,9 @@ public class JsonContactPhone { @JsonProperty private final String label; - private String getValueIfPresent(String string) { - if (string == null || string.isBlank()) { - return null; - } - return string; - } - public JsonContactPhone(SharedContact.Phone phone) { value = phone.getValue(); type = phone.getType(); - label = getValueIfPresent(phone.getLabel().orNull()); + label = Util.getStringIfNotBlank(phone.getLabel()); } } diff --git a/src/main/java/org/asamk/signal/json/JsonName.java b/src/main/java/org/asamk/signal/json/JsonName.java deleted file mode 100644 index eb6b96d1..00000000 --- a/src/main/java/org/asamk/signal/json/JsonName.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.asamk.signal.json; - -import com.fasterxml.jackson.annotation.JsonProperty; - -import org.whispersystems.signalservice.api.messages.shared.SharedContact; - -public class JsonName { - - @JsonProperty - private final String display; - - @JsonProperty - private final String given; - - @JsonProperty - private final String family; - - @JsonProperty - private final String prefix; - - @JsonProperty - private final String suffix; - - @JsonProperty - private final String middle; - - public JsonName(SharedContact.Name name) { - display = name.getDisplay().orNull(); - given = name.getGiven().orNull(); - family = name.getFamily().orNull(); - prefix = name.getPrefix().orNull(); - suffix = name.getSuffix().orNull(); - middle = name.getMiddle().orNull(); - } -} diff --git a/src/main/java/org/asamk/signal/json/JsonSharedContact.java b/src/main/java/org/asamk/signal/json/JsonSharedContact.java index 669b7997..b1b7718c 100644 --- a/src/main/java/org/asamk/signal/json/JsonSharedContact.java +++ b/src/main/java/org/asamk/signal/json/JsonSharedContact.java @@ -11,7 +11,7 @@ import java.util.stream.Collectors; public class JsonSharedContact { @JsonProperty - final JsonName name; + final JsonContactName name; @JsonProperty final JsonContactAvatar avatar; @@ -33,7 +33,7 @@ public class JsonSharedContact { public JsonSharedContact(SharedContact contact) { - name = new JsonName(contact.getName()); + name = new JsonContactName(contact.getName()); if (contact.getAvatar().isPresent()) { avatar = new JsonContactAvatar(contact.getAvatar().get()); } else { diff --git a/src/main/java/org/asamk/signal/util/Util.java b/src/main/java/org/asamk/signal/util/Util.java index 92bfae7b..e798d537 100644 --- a/src/main/java/org/asamk/signal/util/Util.java +++ b/src/main/java/org/asamk/signal/util/Util.java @@ -2,12 +2,21 @@ package org.asamk.signal.util; import org.asamk.signal.manager.groups.GroupId; import org.asamk.signal.manager.groups.GroupIdFormatException; +import org.whispersystems.libsignal.util.guava.Optional; public class Util { private Util() { } + public static String getStringIfNotBlank(Optional value) { + String string = value.orNull(); + if (string == null || string.isBlank()) { + return null; + } + return string; + } + public static String formatSafetyNumber(String digits) { final int partCount = 12; int partSize = digits.length() / partCount;