From 3697481e1b16816d418cccd02bd3934e21c1d0e6 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Wed, 19 Aug 2020 09:59:29 -0400 Subject: [PATCH] preserve existing messages when upgrading AppMessage --- .../src/main/java/bubble/model/app/AppMessage.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bubble-server/src/main/java/bubble/model/app/AppMessage.java b/bubble-server/src/main/java/bubble/model/app/AppMessage.java index 62490eac..787ec2c8 100644 --- a/bubble-server/src/main/java/bubble/model/app/AppMessage.java +++ b/bubble-server/src/main/java/bubble/model/app/AppMessage.java @@ -5,6 +5,7 @@ package bubble.model.app; import bubble.model.account.Account; +import bubble.server.BubbleConfiguration; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Getter; import lombok.NoArgsConstructor; @@ -22,6 +23,8 @@ import javax.persistence.Entity; import javax.persistence.Transient; import javax.validation.constraints.Size; +import java.util.Map; + import static bubble.ApiConstants.DB_JSON_MAPPER; import static bubble.ApiConstants.EP_MESSAGES; import static org.cobbzilla.util.daemon.ZillaRuntime.empty; @@ -45,6 +48,12 @@ public class AppMessage extends IdentifiableBase implements AppTemplateEntity, H @Override public Identifiable update(Identifiable other) { copy(this, other, UPDATE_FIELDS); return this; } + @Override public void upgrade(T sageObject, BubbleConfiguration configuration) { + final Map map = NameAndValue.toMap(getMessages()); + map.putAll(NameAndValue.toMap(((AppMessage) sageObject).getMessages())); + setMessagesJson(json(NameAndValue.map2list(map))); + } + @ECField(index=10) @ECForeignKey(entity=Account.class) @Column(nullable=false, updatable=false, length=UUID_MAXLEN)