Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Sawicki2011-12-14 17:46:57 +0000
committerKevin Sawicki2011-12-14 17:53:13 +0000
commit27cc61cc8aa74f3781959da549ea065f15fe26d3 (patch)
tree908cf75e1fbf5e189ef10a6acdacde2a8f3f6295
parentb9a4c9c3020113e499f2815d85ac3b2282ace8e4 (diff)
downloadegit-github-27cc61cc8aa74f3781959da549ea065f15fe26d3.tar.gz
egit-github-27cc61cc8aa74f3781959da549ea065f15fe26d3.tar.xz
egit-github-27cc61cc8aa74f3781959da549ea065f15fe26d3.zip
Create model class for event repository
The repository information included in the Events API does not match the current Repository class and so a new class was added to capture just the specific fields present Change-Id: I6521813bfbf6d85797a1348f48b029192fc89d85
-rw-r--r--org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventRepositoryTest.java45
-rw-r--r--org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventTest.java7
-rw-r--r--org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/Event.java15
-rw-r--r--org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/EventRepository.java76
4 files changed, 132 insertions, 11 deletions
diff --git a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventRepositoryTest.java b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventRepositoryTest.java
new file mode 100644
index 00000000..847e0e45
--- /dev/null
+++ b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventRepositoryTest.java
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * Copyright (c) 2011 GitHub Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Kevin Sawicki (GitHub Inc.) - initial API and implementation
+ *****************************************************************************/
+package org.eclipse.egit.github.core.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.eclipse.egit.github.core.event.EventRepository;
+import org.junit.Test;
+
+/**
+ * Unit tests of {@link EventRepository}
+ */
+public class EventRepositoryTest {
+
+ /**
+ * Test default state of event repository
+ */
+ @Test
+ public void defaultState() {
+ EventRepository repo = new EventRepository();
+ assertEquals(0, repo.getId());
+ assertNull(repo.getName());
+ assertNull(repo.getUrl());
+ }
+
+ /**
+ * Test updating event repository fields
+ */
+ @Test
+ public void updateFields() {
+ EventRepository repo = new EventRepository();
+ assertEquals(4, repo.setId(4).getId());
+ assertEquals("repo1", repo.setName("repo1").getName());
+ assertEquals("url", repo.setUrl("url").getUrl());
+ }
+}
diff --git a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventTest.java b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventTest.java
index 4a62bd7a..563c2f4e 100644
--- a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventTest.java
+++ b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/EventTest.java
@@ -17,10 +17,10 @@ import static org.junit.Assert.assertTrue;
import java.util.Date;
-import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.User;
import org.eclipse.egit.github.core.event.Event;
import org.eclipse.egit.github.core.event.EventPayload;
+import org.eclipse.egit.github.core.event.EventRepository;
import org.junit.Test;
/**
@@ -52,13 +52,14 @@ public class EventTest {
assertEquals("PushEvent", event.setType("PushEvent").getType());
EventPayload payload = new EventPayload();
assertEquals(payload, event.setPayload(payload).getPayload());
- Repository repo = new Repository().setName("repo");
+ EventRepository repo = new EventRepository().setName("repo");
assertEquals(repo, event.setRepo(repo).getRepo());
User actor = new User().setLogin("actor");
assertEquals(actor, event.setActor(actor).getActor());
User org = new User().setLogin("org");
assertEquals(org, event.setOrg(org).getOrg());
- assertEquals(new Date(5000), event.setCreatedAt(new Date(5000)).getCreatedAt());
+ assertEquals(new Date(5000), event.setCreatedAt(new Date(5000))
+ .getCreatedAt());
assertTrue(event.setPublic(true).isPublic());
}
diff --git a/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/Event.java b/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/Event.java
index df813988..b68429ff 100644
--- a/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/Event.java
+++ b/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/Event.java
@@ -10,15 +10,14 @@
*******************************************************************************/
package org.eclipse.egit.github.core.event;
+import com.google.gson.annotations.SerializedName;
+
import java.io.Serializable;
import java.util.Date;
-import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.User;
import org.eclipse.egit.github.core.util.DateUtils;
-import com.google.gson.annotations.SerializedName;
-
/**
* Event model class.
*/
@@ -27,8 +26,8 @@ public class Event implements Serializable {
private static final long serialVersionUID = 3633702964380402233L;
/**
- * Make sure this is above payload.
- * Payload deserialization depends on being able to read the type first.
+ * Make sure this is above payload. Payload deserialization depends on being
+ * able to read the type first.
*/
private String type;
@@ -37,7 +36,7 @@ public class Event implements Serializable {
private EventPayload payload;
- private Repository repo;
+ private EventRepository repo;
private User actor;
@@ -80,7 +79,7 @@ public class Event implements Serializable {
/**
* @return the repo
*/
- public Repository getRepo() {
+ public EventRepository getRepo() {
return repo;
}
@@ -88,7 +87,7 @@ public class Event implements Serializable {
* @param repo
* @return this Event
*/
- public Event setRepo(Repository repo) {
+ public Event setRepo(EventRepository repo) {
this.repo = repo;
return this;
}
diff --git a/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/EventRepository.java b/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/EventRepository.java
new file mode 100644
index 00000000..107858ef
--- /dev/null
+++ b/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/event/EventRepository.java
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * Copyright (c) 2011 GitHub Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Kevin Sawicki (GitHub Inc.) - initial API and implementation
+ *****************************************************************************/
+package org.eclipse.egit.github.core.event;
+
+import java.io.Serializable;
+
+/**
+ * Model class for repository information contained in an {@link Event}
+ */
+public class EventRepository implements Serializable {
+
+ /** serialVersionUID */
+ private static final long serialVersionUID = -8910798454171899699L;
+
+ private long id;
+
+ private String name;
+
+ private String url;
+
+ /**
+ * @return id
+ */
+ public long getId() {
+ return id;
+ }
+
+ /**
+ * @param id
+ * @return this event repository
+ */
+ public EventRepository setId(long id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * @return name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name
+ * @return this event repository
+ */
+ public EventRepository setName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * @return url
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * @param url
+ * @return this event repository
+ */
+ public EventRepository setUrl(String url) {
+ this.url = url;
+ return this;
+ }
+}

Back to the top