Skip to content
This repository was archived by the owner on Jul 31, 2025. It is now read-only.

Commit d8eca9d

Browse files
committed
User Repo Visual Interface
1 parent 88bcb2b commit d8eca9d

4 files changed

Lines changed: 78 additions & 1 deletion

File tree

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,12 @@
185185
<artifactId>velocity-tools</artifactId>
186186
<version>2.0</version>
187187
</dependency>
188+
189+
<dependency>
190+
<groupId>nz.ac.waikato.cms.weka</groupId>
191+
<artifactId>weka-dev</artifactId>
192+
<version>3.7.13</version>
193+
</dependency>
188194
</dependencies>
189195

190196

src/main/java/org/gitmining/controller/UserDataController.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import javax.servlet.http.HttpServletResponse;
1111

1212
import org.gitmining.service.UserDataService;
13-
import org.springframework.ui.ModelMap;
1413
import org.springframework.web.bind.annotation.RequestMapping;
1514
import org.springframework.web.bind.annotation.RequestMethod;
1615
import org.springframework.web.bind.annotation.RestController;
@@ -131,4 +130,21 @@ public Map totalCount(HttpServletRequest request,HttpServletResponse response){
131130
result.put("organization", orgCount);
132131
return result;
133132
}
133+
134+
@RequestMapping(value="/repoData")
135+
public Map repoData(HttpServletRequest request,HttpServletResponse response){
136+
Map<String,List> result = new HashMap<String, List>();
137+
Map<Integer, Integer> repoMap = userDataService.getUserRepoData();
138+
List<Integer> ranges = new ArrayList<Integer>();
139+
List<Integer> counts = new ArrayList<Integer>();
140+
141+
Set<Integer> keySet = repoMap.keySet();
142+
for (Integer key : keySet) {
143+
ranges.add(key);
144+
counts.add(repoMap.get(key));
145+
}
146+
result.put("range", ranges);
147+
result.put("count", counts);
148+
return result;
149+
}
134150
}

src/main/java/org/gitmining/service/UserDataService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,10 @@ public interface UserDataService {
3030
public int getUserCount();
3131

3232
public int getOrgCount();
33+
34+
public Map<Integer,Integer> getUserRepoData();
35+
public Map<Integer,Integer> getUserGistData();
36+
public Map<Integer,Integer> getUserFollowerData();
37+
public Map<Integer,Integer> getUserFollowingData();
38+
3339
}

src/main/java/org/gitmining/service/impl/UserDataServiceImpl.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.gitmining.service.impl;
22

33
import java.util.ArrayList;
4+
import java.util.Comparator;
45
import java.util.HashMap;
56
import java.util.Iterator;
67
import java.util.List;
@@ -195,4 +196,52 @@ public int getOrgCount() {
195196
return organizationDao.countOrganizations();
196197
}
197198

199+
@Override
200+
public Map<Integer, Integer> getUserRepoData() {
201+
// TODO Auto-generated method stub
202+
int[] bounds = {0,20,40,60,80,100,120,140,160,180,200,52713};
203+
int[] counts = new int[bounds.length];
204+
List<User> users = userDao.selectAllUsers();
205+
users.sort(new Comparator<User>() {
206+
@Override
207+
public int compare(User u1, User u2) {
208+
// TODO Auto-generated method stub
209+
return u1.getPublic_repos()-u2.getPublic_repos();
210+
}
211+
});
212+
213+
int bound = 0;
214+
for(int i=0; i<users.size(); i++){
215+
if(users.get(i).getPublic_repos() > bounds[bound]){
216+
counts[bound] = i;
217+
bound++;
218+
}
219+
}
220+
counts[counts.length-1] = users.size();
221+
222+
Map<Integer,Integer> repoMap = new HashMap<Integer, Integer>();
223+
for (int i = 0; i < counts.length; i++) {
224+
repoMap.put(bounds[i], counts[i]);
225+
}
226+
return repoMap;
227+
}
228+
229+
@Override
230+
public Map<Integer, Integer> getUserGistData() {
231+
// TODO Auto-generated method stub
232+
return null;
233+
}
234+
235+
@Override
236+
public Map<Integer, Integer> getUserFollowerData() {
237+
// TODO Auto-generated method stub
238+
return null;
239+
}
240+
241+
@Override
242+
public Map<Integer, Integer> getUserFollowingData() {
243+
// TODO Auto-generated method stub
244+
return null;
245+
}
246+
198247
}

0 commit comments

Comments
 (0)