From 2f92b8c37dd90df4d9466ba27bd3c178d6370f12 Mon Sep 17 00:00:00 2001 From: Sarat Chebrolu Date: Tue, 13 Dec 2022 18:25:59 +0530 Subject: [PATCH] Updated SocialActivityAttachment and SocialActivityModel classes to implement ImportableItem class (#1197) * Updated SocialActivityAttachment and SocialActivityModel classes to implement ImportableItem class Updated SocialActivityAttachment and SocialActivityModel classes to implement ImportableItem class * Made IdempotentId field Nonnull Made IdempotentId field Nonnull * Update SocialActivityModel.java --- .../models/social/SocialActivityAttachment.java | 10 +++++++++- .../common/models/social/SocialActivityModel.java | 13 ++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityAttachment.java b/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityAttachment.java index 11ed1dae0..ffcecaf55 100644 --- a/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityAttachment.java +++ b/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityAttachment.java @@ -17,11 +17,14 @@ package org.datatransferproject.types.common.models.social; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import org.datatransferproject.types.common.ImportableItem; +import javax.annotation.Nonnull; import java.util.Objects; -public class SocialActivityAttachment { +public class SocialActivityAttachment implements ImportableItem { private SocialActivityAttachmentType type; private String url; private String name; @@ -43,6 +46,7 @@ public String getUrl() { return url; } + @JsonIgnore(false) public String getName() { return name; } @@ -70,4 +74,8 @@ public boolean equals(Object o) { public int hashCode() { return Objects.hash(getType(), getUrl(), getName(), getContent()); } + + @Nonnull + @Override + public String getIdempotentId() { return url; } } diff --git a/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityModel.java b/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityModel.java index e06f6355a..6056c9633 100644 --- a/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityModel.java +++ b/portability-types-common/src/main/java/org/datatransferproject/types/common/models/social/SocialActivityModel.java @@ -19,12 +19,14 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.collect.ImmutableList; +import org.datatransferproject.types.common.ImportableItem; +import javax.annotation.Nonnull; import java.time.Instant; import java.util.Collection; import java.util.Objects; -public class SocialActivityModel { +public class SocialActivityModel implements ImportableItem { private String id; private Instant published; private SocialActivityType type; @@ -114,4 +116,13 @@ public String getContent() { public String getUrl() { return url; } + + @Nonnull + @Override + public String getIdempotentId() { + return Integer.toString(hashCode()); + } + + @Override + public String getName() { return title; } }