diff options
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/model/full')
4 files changed, 100 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java index 31ad21f16..f9f1643ff 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java @@ -1,5 +1,6 @@ package it.niedermann.nextcloud.deck.model.full; +import androidx.annotation.NonNull; import androidx.room.Embedded; import androidx.room.Ignore; import androidx.room.Relation; @@ -29,6 +30,8 @@ public class FullBoard implements IRemoteEntity { @Relation(entity = Stack.class, parentColumn = "localId", entityColumn = "boardId") public List<Stack> stacks; + @Ignore + public List<User> users; public User getOwner() { return owner; @@ -54,9 +57,17 @@ public class FullBoard implements IRemoteEntity { this.labels = labels; } + public List<User> getUsers() { + return users; + } + + public void setUsers(List<User> users) { + this.users = users; + } + @Ignore @Override - public IRemoteEntity getEntity() { + public Board getEntity() { return board; } @@ -102,6 +113,7 @@ public class FullBoard implements IRemoteEntity { return result; } + @NonNull @Override public String toString() { return "FullBoard{" + diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java index 41303cac6..611baf3df 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java @@ -6,8 +6,6 @@ import androidx.room.Ignore; import androidx.room.Junction; import androidx.room.Relation; -import org.jetbrains.annotations.NotNull; - import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -25,7 +23,7 @@ import it.niedermann.nextcloud.deck.model.ocs.comment.DeckComment; public class FullCard implements IRemoteEntity, DragAndDropModel { @Ignore - private transient boolean isAttachmentsSorted = false; + protected transient boolean isAttachmentsSorted = false; @Embedded public Card card; @@ -48,7 +46,6 @@ public class FullCard implements IRemoteEntity, DragAndDropModel { @Relation(entity = DeckComment.class, parentColumn = "localId", entityColumn = "objectId", projection = "localId") public List<Long> commentIDs; - public FullCard() { super(); } @@ -126,11 +123,11 @@ public class FullCard implements IRemoteEntity, DragAndDropModel { @Ignore @Override - public IRemoteEntity getEntity() { + public Card getEntity() { return card; } - @NotNull + @NonNull @Override public String toString() { return "FullCard{" + diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCardWithProjects.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCardWithProjects.java new file mode 100644 index 000000000..cf43fc86b --- /dev/null +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCardWithProjects.java @@ -0,0 +1,82 @@ +package it.niedermann.nextcloud.deck.model.full; + +import androidx.annotation.NonNull; +import androidx.room.Junction; +import androidx.room.Relation; + +import java.util.ArrayList; +import java.util.List; + +import it.niedermann.nextcloud.deck.model.ocs.projects.JoinCardWithProject; +import it.niedermann.nextcloud.deck.model.ocs.projects.OcsProject; +import it.niedermann.nextcloud.deck.model.ocs.projects.full.OcsProjectWithResources; + +public class FullCardWithProjects extends FullCard { + + + @NonNull + @Relation(entity = OcsProject.class, parentColumn = "localId", entityColumn = "localId", + associateBy = @Junction(value = JoinCardWithProject.class, parentColumn = "cardId", entityColumn = "projectId")) + + private List<OcsProjectWithResources> projects = new ArrayList<>(); + + public FullCardWithProjects() { + super(); + } + + public FullCardWithProjects(FullCardWithProjects fullCard) { + super(fullCard); + this.projects = copyList(fullCard.getProjects()); + } + + @NonNull + public List<OcsProjectWithResources> getProjects() { + return projects; + } + + public void setProjects(@NonNull List<OcsProjectWithResources> projects) { + this.projects = projects; + } + + @NonNull + @Override + public String toString() { + return "FullCard{" + + "card=" + card + + ", labels=" + labels + + ", assignedUsers=" + assignedUsers + + ", owner=" + owner + + ", attachments=" + attachments + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + FullCardWithProjects fullCard = (FullCardWithProjects) o; + + if (card != null ? !card.equals(fullCard.card) : fullCard.card != null) return false; + if (labels != null ? !labels.equals(fullCard.labels) : fullCard.labels != null) + return false; + if (assignedUsers != null ? !assignedUsers.equals(fullCard.assignedUsers) : fullCard.assignedUsers != null) + return false; + if (owner != null ? !owner.equals(fullCard.owner) : fullCard.owner != null) return false; + if (attachments != null ? !attachments.equals(fullCard.attachments) : fullCard.attachments != null) + return false; + return commentIDs != null ? commentIDs.equals(fullCard.commentIDs) : fullCard.commentIDs == null; + } + + @Override + public int hashCode() { + int result = (isAttachmentsSorted ? 1 : 0); + result = 31 * result + (card != null ? card.hashCode() : 0); + result = 31 * result + (labels != null ? labels.hashCode() : 0); + result = 31 * result + (assignedUsers != null ? assignedUsers.hashCode() : 0); + result = 31 * result + (owner != null ? owner.hashCode() : 0); + result = 31 * result + (attachments != null ? attachments.hashCode() : 0); + result = 31 * result + (commentIDs != null ? commentIDs.hashCode() : 0); + return result; + } +} diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java index eddbafce4..1c9e94899 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java @@ -14,7 +14,7 @@ public class FullStack implements IRemoteEntity { @Embedded public Stack stack; - @Relation(entity = Card.class, parentColumn = "localId", entityColumn = "stackId") + @Relation(entity = Card.class, parentColumn = "localId", entityColumn = "stackId") public List<Card> cards; @@ -36,7 +36,7 @@ public class FullStack implements IRemoteEntity { @Ignore @Override - public IRemoteEntity getEntity() { + public Stack getEntity() { return stack; } |