From 02a39f5694669f5da1ea0a38dbe74e8802d601eb Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Mon, 17 Oct 2016 13:47:30 -0200
Subject: [PATCH] Refactor events based on InvitationRequestReceivedEvent

---
 .../briarproject/BlogSharingIntegrationTest.java  |  4 ++--
 .../briarproject/ForumSharingIntegrationTest.java |  4 ++--
 .../api/event/BlogInvitationReceivedEvent.java    | 10 ++--------
 .../api/event/ForumInvitationReceivedEvent.java   | 11 ++---------
 .../api/event/GroupInvitationReceivedEvent.java   | 15 +++++++++++++++
 .../api/event/InvitationRequestReceivedEvent.java | 12 ++++++++++--
 6 files changed, 33 insertions(+), 23 deletions(-)
 create mode 100644 briar-api/src/org/briarproject/api/event/GroupInvitationReceivedEvent.java

diff --git a/briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java b/briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java
index bca45b25f8..2cc0340bcd 100644
--- a/briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java
+++ b/briar-android-tests/src/test/java/org/briarproject/BlogSharingIntegrationTest.java
@@ -547,7 +547,7 @@ public class BlogSharingIntegrationTest extends BriarIntegrationTest {
 				BlogInvitationReceivedEvent event =
 						(BlogInvitationReceivedEvent) e;
 				eventWaiter.assertEquals(contactId1, event.getContactId());
-				Blog b = event.getBlog();
+				Blog b = event.getShareable();
 				try {
 					Contact c = contactManager0.getContact(contactId1);
 					blogSharingManager0.respondToInvitation(b, c, true);
@@ -589,7 +589,7 @@ public class BlogSharingIntegrationTest extends BriarIntegrationTest {
 						(BlogInvitationReceivedEvent) e;
 				requestReceived = true;
 				if (!answer) return;
-				Blog b = event.getBlog();
+				Blog b = event.getShareable();
 				try {
 					eventWaiter.assertEquals(1,
 							blogSharingManager1.getInvitations().size());
diff --git a/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java b/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java
index 306cc25dc1..6d2184a6ae 100644
--- a/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java
+++ b/briar-android-tests/src/test/java/org/briarproject/ForumSharingIntegrationTest.java
@@ -939,7 +939,7 @@ public class ForumSharingIntegrationTest extends BriarTestCase {
 						(ForumInvitationReceivedEvent) e;
 				eventWaiter.assertEquals(contactId1, event.getContactId());
 				requestReceived = true;
-				Forum f = event.getForum();
+				Forum f = event.getShareable();
 				try {
 					Contact c = contactManager0.getContact(contactId1);
 					forumSharingManager0.respondToInvitation(f, c, true);
@@ -982,7 +982,7 @@ public class ForumSharingIntegrationTest extends BriarTestCase {
 						(ForumInvitationReceivedEvent) e;
 				requestReceived = true;
 				if (!answer) return;
-				Forum f = event.getForum();
+				Forum f = event.getShareable();
 				try {
 					eventWaiter.assertEquals(1,
 							forumSharingManager1.getInvitations().size());
diff --git a/briar-api/src/org/briarproject/api/event/BlogInvitationReceivedEvent.java b/briar-api/src/org/briarproject/api/event/BlogInvitationReceivedEvent.java
index 26a2ae097d..2089e6c5d0 100644
--- a/briar-api/src/org/briarproject/api/event/BlogInvitationReceivedEvent.java
+++ b/briar-api/src/org/briarproject/api/event/BlogInvitationReceivedEvent.java
@@ -5,17 +5,11 @@ import org.briarproject.api.contact.ContactId;
 import org.briarproject.api.sharing.InvitationRequest;
 
 public class BlogInvitationReceivedEvent extends
-		InvitationRequestReceivedEvent {
-
-	private final Blog blog;
+		InvitationRequestReceivedEvent<Blog> {
 
 	public BlogInvitationReceivedEvent(Blog blog, ContactId contactId,
 			InvitationRequest request) {
-		super(contactId, request);
-		this.blog = blog;
+		super(blog, contactId, request);
 	}
 
-	public Blog getBlog() {
-		return blog;
-	}
 }
diff --git a/briar-api/src/org/briarproject/api/event/ForumInvitationReceivedEvent.java b/briar-api/src/org/briarproject/api/event/ForumInvitationReceivedEvent.java
index 3077f91605..416979d2e4 100644
--- a/briar-api/src/org/briarproject/api/event/ForumInvitationReceivedEvent.java
+++ b/briar-api/src/org/briarproject/api/event/ForumInvitationReceivedEvent.java
@@ -5,18 +5,11 @@ import org.briarproject.api.forum.Forum;
 import org.briarproject.api.forum.ForumInvitationRequest;
 
 public class ForumInvitationReceivedEvent extends
-		InvitationRequestReceivedEvent {
-
-	private final Forum forum;
+		InvitationRequestReceivedEvent<Forum> {
 
 	public ForumInvitationReceivedEvent(Forum forum, ContactId contactId,
 			ForumInvitationRequest request) {
-		super(contactId, request);
-		this.forum = forum;
-	}
-
-	public Forum getForum() {
-		return forum;
+		super(forum, contactId, request);
 	}
 
 }
diff --git a/briar-api/src/org/briarproject/api/event/GroupInvitationReceivedEvent.java b/briar-api/src/org/briarproject/api/event/GroupInvitationReceivedEvent.java
new file mode 100644
index 0000000000..f42b8886fb
--- /dev/null
+++ b/briar-api/src/org/briarproject/api/event/GroupInvitationReceivedEvent.java
@@ -0,0 +1,15 @@
+package org.briarproject.api.event;
+
+import org.briarproject.api.contact.ContactId;
+import org.briarproject.api.forum.ForumInvitationRequest;
+import org.briarproject.api.privategroup.PrivateGroup;
+
+public class GroupInvitationReceivedEvent extends
+		InvitationRequestReceivedEvent<PrivateGroup> {
+
+	public GroupInvitationReceivedEvent(PrivateGroup group, ContactId contactId,
+			ForumInvitationRequest request) {
+		super(group, contactId, request);
+	}
+
+}
diff --git a/briar-api/src/org/briarproject/api/event/InvitationRequestReceivedEvent.java b/briar-api/src/org/briarproject/api/event/InvitationRequestReceivedEvent.java
index 184a88f538..f9bcfe1a5c 100644
--- a/briar-api/src/org/briarproject/api/event/InvitationRequestReceivedEvent.java
+++ b/briar-api/src/org/briarproject/api/event/InvitationRequestReceivedEvent.java
@@ -2,14 +2,18 @@ package org.briarproject.api.event;
 
 import org.briarproject.api.contact.ContactId;
 import org.briarproject.api.sharing.InvitationRequest;
+import org.briarproject.api.sharing.Shareable;
 
-public abstract class InvitationRequestReceivedEvent extends Event {
+public abstract class InvitationRequestReceivedEvent<S extends Shareable>
+		extends Event {
 
+	private final S shareable;
 	private final ContactId contactId;
 	private final InvitationRequest request;
 
-	InvitationRequestReceivedEvent(ContactId contactId,
+	InvitationRequestReceivedEvent(S shareable, ContactId contactId,
 			InvitationRequest request) {
+		this.shareable = shareable;
 		this.contactId = contactId;
 		this.request = request;
 	}
@@ -21,4 +25,8 @@ public abstract class InvitationRequestReceivedEvent extends Event {
 	public InvitationRequest getRequest() {
 		return request;
 	}
+
+	public S getShareable() {
+		return shareable;
+	}
 }
-- 
GitLab