summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services')
-rw-r--r--collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/AppManager.java39
-rw-r--r--collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/Twit.java23
-rw-r--r--collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/User.java49
-rw-r--r--collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserBase.java21
-rw-r--r--collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserManager.java18
5 files changed, 150 insertions, 0 deletions
diff --git a/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/AppManager.java b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/AppManager.java
new file mode 100644
index 0000000000..0ce20feeba
--- /dev/null
+++ b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/AppManager.java
@@ -0,0 +1,39 @@
+package main.java.twitapp.services;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+public class AppManager {
+
+ private User user;
+ private UserBase userBase;
+
+ public AppManager(String userId){
+ userBase = UserBase.getInstance();
+ user = userBase.get(userId);
+ }
+
+ public void twit(String twit){
+ user.setTwit(new Twit(twit));
+ }
+
+ public void follow(String followId){
+ user.setFollower(userBase.get(followId));
+ }
+
+ public Iterator<User> getFollowers(){
+ ArrayList<User> users = user.getFollowers();
+ return users.iterator();
+ }
+
+ public Iterator<Twit> getTwits(){
+ ArrayList<Twit> twits = user.getTwits();
+ return twits.iterator();
+ }
+
+ public Iterator<Twit> getFollowerTwits(String followeId){
+ ArrayList<Twit> followerTwits= userBase.get(followeId).getTwits();
+ return followerTwits.iterator();
+ }
+
+}
diff --git a/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/Twit.java b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/Twit.java
new file mode 100644
index 0000000000..ec842d65e5
--- /dev/null
+++ b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/Twit.java
@@ -0,0 +1,23 @@
+package main.java.twitapp.services;
+
+import java.util.Date;
+
+public class Twit {
+
+ private String twit;
+ private final Date timestamp;
+
+ public Twit(String twit){
+ this.twit = twit;
+ timestamp = new Date();
+ }
+
+ public String toString(){
+ return twit;
+ }
+
+ public Date getTimestamp(){
+ return timestamp;
+ }
+
+}
diff --git a/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/User.java b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/User.java
new file mode 100644
index 0000000000..cd113db443
--- /dev/null
+++ b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/User.java
@@ -0,0 +1,49 @@
+package main.java.twitapp.services;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+
+public class User {
+
+ private String name;
+ private ArrayList<User> followers = new ArrayList<User>();
+ private ArrayList<Twit> twits = new ArrayList<Twit>();
+
+ public User(String name){
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setFollower(User follower){
+ followers.add(follower);
+ }
+
+ public ArrayList<User> getFollowers(){
+ return followers;
+ }
+
+ public void setTwit(Twit twit){
+ twits.add(twit);
+ }
+
+ public ArrayList<Twit> getTwits(){
+ return twits;
+ }
+
+ public ArrayList<Twit> getTwits(Date date){
+ Iterator<Twit> t = twits.iterator();
+ ArrayList<Twit> newer = new ArrayList<Twit>();
+ Twit tt;
+ while((tt = t.next())!=null){
+ if(tt.getTimestamp().after(date)){
+ newer.add(tt);
+ }
+ }
+ return newer;
+ }
+
+}
diff --git a/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserBase.java b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserBase.java
new file mode 100644
index 0000000000..046f0701f8
--- /dev/null
+++ b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserBase.java
@@ -0,0 +1,21 @@
+package main.java.twitapp.services;
+
+import java.util.HashMap;
+
+public class UserBase extends HashMap<String, User> {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private static UserBase userBase = new UserBase();
+
+ private UserBase(){
+ }
+
+ public static UserBase getInstance(){
+ return userBase;
+ }
+
+
+}
diff --git a/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserManager.java b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserManager.java
new file mode 100644
index 0000000000..cfae0353bd
--- /dev/null
+++ b/collaboration/GSoC-2011-Eranda/twitapp/src/main/java/twitapp/services/UserManager.java
@@ -0,0 +1,18 @@
+package main.java.twitapp.services;
+
+public class UserManager {
+
+ UserBase userBase;
+
+ public UserManager(){
+ userBase = UserBase.getInstance();
+ }
+
+ public void addUser(String userId,String name){
+ userBase.put(userId, new User(name));
+ }
+
+ public void removeUser(String userId){
+ userBase.remove(userId);
+ }
+}