Tightening up access control and use primitive type

This commit is contained in:
Kohsuke Kawaguchi
2017-09-09 11:37:18 -07:00
parent a1819bf232
commit 9af8112148
4 changed files with 51 additions and 38 deletions

View File

@@ -3,13 +3,18 @@ package org.kohsuke.github;
import java.util.Date;
import java.util.List;
/**
* Repository clone statistics.
*
* @see GHRepository#getClones()
*/
public class GHRepositoryClones extends GHRepositoryTrafficInfo {
private List<DayClones> clones;
public GHRepositoryClones() {
/*package*/ GHRepositoryClones() {
}
public GHRepositoryClones(Integer count, Integer uniques, List<DayClones> clones) {
/*package*/ GHRepositoryClones(Integer count, Integer uniques, List<DayClones> clones) {
super(count, uniques);
this.clones = clones;
}
@@ -18,15 +23,19 @@ public class GHRepositoryClones extends GHRepositoryTrafficInfo {
return clones;
}
public List<DayClones> getDailyInfo() {
return getClones();
}
public static class DayClones extends GHRepositoryTrafficInfo.DayInfo {
public DayClones() {
/*package*/ DayClones() {
}
public DayClones(String timestamp, Integer count, Integer uniques) {
/*package*/ DayClones(String timestamp, int count, int uniques) {
super(timestamp, count, uniques);
}
public DayClones(Date timestamp, Integer count, Integer uniques) {
/*package*/ DayClones(Date timestamp, int count, int uniques) {
super(timestamp, count, uniques);
}
}

View File

@@ -1,54 +1,57 @@
package org.kohsuke.github;
import java.util.Date;
import java.util.List;
public abstract class GHRepositoryTrafficInfo {
private Integer count;
private Integer uniques;
private int count;
private int uniques;
public GHRepositoryTrafficInfo() {
/*package*/ GHRepositoryTrafficInfo() {
}
public GHRepositoryTrafficInfo(Integer count, Integer uniques) {
/*package*/ GHRepositoryTrafficInfo(int count, int uniques) {
this.count = count;
this.uniques = uniques;
}
public Integer getCount() {
public int getCount() {
return count;
}
public Integer getUniques() {
public int getUniques() {
return uniques;
}
public abstract List<? extends DayInfo> getDailyInfo();
public static abstract class DayInfo {
private Date timestamp;
private Integer count;
private Integer uniques;
private int count;
private int uniques;
public Date getTimestamp() {
return timestamp;
}
public Integer getCount() {
public int getCount() {
return count;
}
public Integer getUniques() {
public int getUniques() {
return uniques;
}
public DayInfo() {
/*package*/ DayInfo() {
}
public DayInfo(String timestamp, Integer count, Integer uniques) {
/*package*/ DayInfo(String timestamp, Integer count, Integer uniques) {
this.timestamp = GitHub.parseDate(timestamp);
this.count = count;
this.uniques = uniques;
}
public DayInfo(Date timestamp, Integer count, Integer uniques) {
/*package*/ DayInfo(Date timestamp, Integer count, Integer uniques) {
this.timestamp = timestamp;
this.count = count;
this.uniques = uniques;

View File

@@ -3,13 +3,18 @@ package org.kohsuke.github;
import java.util.Date;
import java.util.List;
/**
* Repository view statistics.
*
* @see GHRepository#getViews()
*/
public class GHRepositoryViews extends GHRepositoryTrafficInfo {
private List<DayViews> views;
public GHRepositoryViews() {
/*package*/ GHRepositoryViews() {
}
public GHRepositoryViews(Integer count, Integer uniques, List<DayViews> views) {
/*package*/ GHRepositoryViews(int count, int uniques, List<DayViews> views) {
super(count, uniques);
this.views = views;
}
@@ -18,15 +23,19 @@ public class GHRepositoryViews extends GHRepositoryTrafficInfo {
return views;
}
public List<DayViews> getDailyInfo() {
return getViews();
}
public static class DayViews extends GHRepositoryTrafficInfo.DayInfo {
public DayViews() {
/*package*/ DayViews() {
}
public DayViews(String timestamp, Integer count, Integer uniques) {
/*package*/ DayViews(String timestamp, int count, int uniques) {
super(timestamp, count, uniques);
}
public DayViews(Date timestamp, Integer count, Integer uniques) {
/*package*/ DayViews(Date timestamp, int count, int uniques) {
super(timestamp, count, uniques);
}
}

View File

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Test;
import org.kohsuke.github.GHRepositoryTrafficInfo.DayInfo;
import org.mockito.Mockito;
import java.io.IOException;
@@ -24,27 +25,18 @@ public class RepositoryTrafficTest {
Assert.assertEquals(expected.getCount(), actual.getCount());
Assert.assertEquals(expected.getUniques(), actual.getUniques());
List<T.DayInfo> expectedList = null;
List<T.DayInfo> actualList = null;
Iterator<T.DayInfo> expectedIt;
Iterator<T.DayInfo> actualIt;
if(expected instanceof GHRepositoryViews){
expectedList = (List<T.DayInfo>)((List<?>)((GHRepositoryViews) expected).getViews());
actualList = (List<T.DayInfo>)((List<?>)((GHRepositoryViews) actual).getViews());
}
else if(expected instanceof GHRepositoryClones){
expectedList = (List<T.DayInfo>)((List<?>)((GHRepositoryClones) expected).getClones());
actualList = (List<T.DayInfo>)((List<?>)((GHRepositoryClones) actual).getClones());
}
List<? extends DayInfo> expectedList = expected.getDailyInfo();
List<? extends DayInfo> actualList = actual.getDailyInfo();
Iterator<? extends DayInfo> expectedIt;
Iterator<? extends DayInfo> actualIt;
Assert.assertEquals(expectedList.size(), actualList.size());
expectedIt = expectedList.iterator();
actualIt = actualList.iterator();
while(expectedIt.hasNext() && actualIt.hasNext()) {
T.DayInfo expectedDayInfo = expectedIt.next();
T.DayInfo actualDayInfo = actualIt.next();
DayInfo expectedDayInfo = expectedIt.next();
DayInfo actualDayInfo = actualIt.next();
Assert.assertEquals(expectedDayInfo.getCount(), actualDayInfo.getCount());
Assert.assertEquals(expectedDayInfo.getUniques(), actualDayInfo.getUniques());
Assert.assertEquals(expectedDayInfo.getTimestamp(), actualDayInfo.getTimestamp());