diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java b/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java index 2764567778aee1f79087ab629948c6f3b0f1f378..f720b3424476e8b58c2ce31d106f71cb64ff4606 100644 --- a/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java +++ b/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java @@ -7,8 +7,8 @@ import java.util.List; public class fiddling { public static void main(String[] args) { - String test = "halloa"; - String test2 = "hallob"; + String test = "hallo"; + String test2 = "hallo"; String test3 = "hallolc"; String test4 = "hallold"; List<String> list = new ArrayList<String>(); @@ -21,7 +21,7 @@ public class fiddling { int bool = test.compareTo(test2); - System.out.println(list); + System.out.println(test.equals(test2)); } } diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/AuthorMessageFilter.java b/CCI_Java/CCI_Java/src/tp11/exo1/AuthorMessageFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..ab2ee65b2b296458fec403d1f0b2be07360830ce --- /dev/null +++ b/CCI_Java/CCI_Java/src/tp11/exo1/AuthorMessageFilter.java @@ -0,0 +1,16 @@ +package tp11.exo1; + +public class AuthorMessageFilter implements MessageFilter { + + String authorName; + + public AuthorMessageFilter(String author) { + this.authorName = author; + } + + @Override + public boolean accept(Message message) { + return message.getAuthor().getName().equals(authorName) ? true : false; + } + +} diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/KeywordMessageFilter.java b/CCI_Java/CCI_Java/src/tp11/exo1/KeywordMessageFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..d48a417f3efababe27f011ba184b33e3a0eea3cb --- /dev/null +++ b/CCI_Java/CCI_Java/src/tp11/exo1/KeywordMessageFilter.java @@ -0,0 +1,16 @@ +package tp11.exo1; + +public class KeywordMessageFilter implements MessageFilter { + + String keyWord; + + public KeywordMessageFilter(String keyWord) { + this.keyWord = keyWord; + } + + @Override + public boolean accept(Message message) { + return message.getTitle().contains(keyWord) ? true : false; + } + +} diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/Message.java b/CCI_Java/CCI_Java/src/tp11/exo1/Message.java index aa0fbc6e6541391959760a5ab3b732345987b384..2dbaac4b4d50d07adf3129c4e072b24be78cedb7 100644 --- a/CCI_Java/CCI_Java/src/tp11/exo1/Message.java +++ b/CCI_Java/CCI_Java/src/tp11/exo1/Message.java @@ -32,5 +32,17 @@ public class Message { System.out.println(content); System.out.println("Aim� par : " + likers + "\n"); } + + public User getAuthor() { + return author; + } + + public String getContent() { + return content; + } + + public String getTitle() { + return title; + } } diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/MessageFilter.java b/CCI_Java/CCI_Java/src/tp11/exo1/MessageFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..cc350e4c45ba3ee66542e445048276cc67996a97 --- /dev/null +++ b/CCI_Java/CCI_Java/src/tp11/exo1/MessageFilter.java @@ -0,0 +1,5 @@ +package tp11.exo1; + +public interface MessageFilter { + public boolean accept(Message message); +} diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java index 8f3274cd9074c15d79b3553e7686c7c6e5e12dc0..a86ff10fc9489bee11687587bbafe64af2ac4dd5 100644 --- a/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java +++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java @@ -9,10 +9,14 @@ public class TestMessage { Message msg1 = new Message(user1, "Mon second message", "Je vous aime."); msg1.receiveLike(user2); msg1.receiveLike(user3); - Message msg2 = new Message(user1, "Test", "Test Test"); + Message msg2 = new Message(user2, "Test", "Test Test"); Message msg3 = new Message(user1, "� propos de Bob.", "Quel boulet celui - l�."); msg3.receiveLike(user3); + user1.receive(msg1); + user1.receive(msg2); + user1.receive(msg3); + System.out.println(msg1); System.out.println(msg2); System.out.println(msg3); @@ -20,6 +24,8 @@ public class TestMessage { msg1.display(); msg2.display(); msg3.display(); + + System.out.println(user1.getLastPost()); } } diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestNetwork.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestNetwork.java new file mode 100644 index 0000000000000000000000000000000000000000..a0dcbb8ddc5986b89780b6a0ee19f00ddc53429a --- /dev/null +++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestNetwork.java @@ -0,0 +1,37 @@ +package tp11.exo1; + +public class TestNetwork { + + public static void main(String[] args) { + User alice = new User("Alice"); + User bob = new User("Bob"); + +// bob.follow(alice); +// alice.post("Mon premier message", "Bonjour � tous !"); +// bob.display(); + + User carol = new User("Carol"); + + alice.post("Mon premier message", "Bonjour � tous !"); + bob.follow(alice); + carol.like(alice.getLastPost()); + alice.post("Mon second message", " Je vous aime."); + bob.like(alice.getLastPost()); + carol.like(alice.getLastPost()); + bob.post("Test", "Test Test"); + alice.post("� propos de Bob.", "Quel boulet celui - l�."); + carol.like(alice.getLastPost()); + bob.post("R�ponse � Alice.", "T'as un probl�me ???"); +// bob.display(); + + bob.post("message1", "content von message 1"); + bob.post("message2", "content von message 2"); + bob.post("message3", "content von message 3"); + bob.post("message4", "content von message 4"); + + bob.display(new AuthorMessageFilter("Alice")); +// bob.display(new KeywordMessageFilter("Test")); + + } + +} diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java index 0d09224c076bc9a541f6051ddcc08ce649246aba..a7a718119d08a62385ead6310cf656ac2020fe09 100644 --- a/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java +++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java @@ -7,7 +7,6 @@ public class TestUser { User user2 = new User("peter"); User user3 = new User("ernst"); - user1.addMessage("testtest"); System.out.println(user1); System.out.println(user2); System.out.println(user3); diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/User.java b/CCI_Java/CCI_Java/src/tp11/exo1/User.java index cb45fe04843c89d9f9e9a03274ea0348ae5e43b0..c63c98a9b912ca70839c59e052a2f6ca35640a68 100644 --- a/CCI_Java/CCI_Java/src/tp11/exo1/User.java +++ b/CCI_Java/CCI_Java/src/tp11/exo1/User.java @@ -29,22 +29,53 @@ public class User { } public void broadcast(Message message) { - for (User usr : followers) { + for (User usr : this.followers) { usr.receive(message); } } public void follow(User other) { - System.out.println(other + " s'abonne � la liste de Alice." + this.name); + other.getFollow(this); + System.out.println(this + " s'abonne � la liste de " + other + "."); + } + + private void getFollow(User user) { + this.followers.add(user); } public Message getLastPost() { - return messages.get(messages.lastIndexOf(messages)); + return messages.get(messages.size() - 1); + } + + public void like(Message message) { + message.receiveLike(this); + System.out.println(this + " likes le message " + message); } - + + public void post(String title, String content) { + Message msg = new Message(this, title, content); + messages.add(msg); + broadcast(msg); + System.out.println(this + " poste le message " + msg); + } + @Override public String toString() { - // TODO Auto-generated method stub return this.name; } + + public void display() { + System.out.println("Messages de la page de " + this + "\n"); + for (Message msg : messages) { + msg.display(); + } + } + + void display(MessageFilter filter) { + System.out.println("Messages de la page de " + this + "\n"); + for (Message msg : messages) { + if (filter.accept(msg)) + msg.display(); + } + } }