Browse Source

historique

LMAGallois 3 years ago
parent
commit
26243f1363

+ 5
- 6
Application/Clavardage/src/controller/Controller.java View File

@@ -359,15 +359,14 @@ public class Controller {
359 359
 		
360 360
 	    
361 361
 	    /*** recup history and put it in model ***/
362
-		/*
363 362
 	    try {
364
-	        System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
365
-	        String history = this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser());
363
+	        //System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
364
+	        c.addListMessage(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
366 365
 		} catch (SQLException e) {
367 366
 			System.out.println("souci avec le retrieveMsg");
368 367
 			e.printStackTrace();
369 368
 		}
370
-	    */
369
+	    //System.out.println(myUser.getChats().get(myUser.getChatIndexOf(rm)));
371 370
 	    return c;
372 371
 	}
373 372
 	public String askOpenSession(int index) {
@@ -382,7 +381,7 @@ public class Controller {
382 381
 		}
383 382
 		else {	// else create it
384 383
 			c=openSession(rm);
385
-			JOptionPane.showMessageDialog(null ,"New session with "+c.getRemoteUser().getPseudo());
384
+			JOptionPane.showMessageDialog(null ,"New session with "+rm.getPseudo());
386 385
 		}
387 386
 		
388 387
 		// Look for history
@@ -425,7 +424,7 @@ public class Controller {
425 424
 	    // Sauvegarde dans la base de données
426 425
 		DateFormat dateFormat = new SimpleDateFormat("yyyy MM dd HH mm ss");
427 426
 		Date date=new Date();
428
-	    //this.getHistory().saveMessage(getMyUser(), c.getRemoteUser(),message ,dateFormat.format(date));
427
+	    this.getHistory().saveMessage(getMyUser(), c.getRemoteUser(),message ,dateFormat.format(date));
429 428
 	    
430 429
 	    // Send message
431 430
 		out.println(message);

+ 39
- 11
Application/Clavardage/src/controller/Historique.java View File

@@ -8,10 +8,14 @@ import java.sql.ResultSet;
8 8
 import java.sql.ResultSetMetaData;
9 9
 import java.sql.SQLException;
10 10
 import java.sql.Statement;
11
+import java.util.ArrayList;
11 12
 import java.util.Calendar;
12 13
 
13 14
 import javax.sql.rowset.JdbcRowSet;
14 15
 
16
+import model.Message;
17
+import model.Msg_Text;
18
+
15 19
 public class Historique {
16 20
 	
17 21
 	public void saveMessage(model.User ctr1, model.RemoteUser ctr2, String input, String date) {
@@ -78,7 +82,7 @@ public class Historique {
78 82
 		
79 83
 	}
80 84
 	
81
-	public String retrieveMessage(model.LocalUser user1, model.RemoteUser user2) throws SQLException {
85
+	public ArrayList<Message> retrieveMessage(model.LocalUser user1, model.RemoteUser user2) throws SQLException {
82 86
 		try {
83 87
 			Class.forName("java.sql.Driver");
84 88
 		} catch (ClassNotFoundException e) {
@@ -86,12 +90,32 @@ public class Historique {
86 90
 			e.printStackTrace();
87 91
 		}
88 92
 		Connection con=DriverManager.getConnection("jdbc:mysql://srv-bdens.insa-toulouse.fr:3306","tp_servlet_003","povu3Ma2");
89
-		Statement stat=con.createStatement();
90
-		Statement stat2=con.createStatement();
93
+		Statement stat = null;
94
+		try {
95
+			stat = con.createStatement();
96
+		} catch (SQLException e2) {
97
+			// TODO Auto-generated catch block
98
+			e2.printStackTrace();
99
+		}
100
+		Statement stat2 = null;
101
+		try {
102
+			stat2 = con.createStatement();
103
+		} catch (SQLException e1) {
104
+			// TODO Auto-generated catch block
105
+			e1.printStackTrace();
106
+		}
91 107
 		int	nb_changed_rows = stat.executeUpdate("USE tp_servlet_003");
92 108
 
93 109
 		try {
94
-			nb_changed_rows = stat.executeUpdate("CREATE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
110
+			nb_changed_rows = stat.executeUpdate("USE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
111
+		}catch (Exception e) {
112
+			e.printStackTrace();
113
+
114
+		}
115
+		nb_changed_rows = stat2.executeUpdate("USE tp_servlet_003");
116
+
117
+		try {
118
+			nb_changed_rows = stat2.executeUpdate("USE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
95 119
 		}catch (Exception e) {
96 120
 			e.printStackTrace();
97 121
 
@@ -101,7 +125,8 @@ public class Historique {
101 125
 		boolean encore1 = RSSent.next();
102 126
 		ResultSet RSReceived=(stat2.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
103 127
 	    boolean encore2 = RSReceived.next();
104
-	    String message=null;
128
+	    ArrayList<Message> message=new ArrayList<Message>();
129
+	    //String message=null;
105 130
 	    String[] string1=null;
106 131
 	    String[] string2=null;
107 132
 	    Calendar date1=Calendar.getInstance();
@@ -114,7 +139,6 @@ public class Historique {
114 139
 	    		encore1=RSSent.next();
115 140
 	    	}
116 141
     		string1=RSSent.getString(4).split(" ");
117
-    		System.out.println(RSSent.getString(4));
118 142
     		date1.set(Integer.valueOf(string1[0]), Integer.valueOf(string1[1]), Integer.valueOf(string1[2]),Integer.valueOf(string1[3]), Integer.valueOf(string1[4]), Integer.valueOf(string1[5]));
119 143
 
120 144
     		//RSReceived=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
@@ -125,13 +149,17 @@ public class Historique {
125 149
 	    	}
126 150
     		string2=RSReceived.getString(4).split(" ");
127 151
     		date2.set(Integer.valueOf(string2[0]), Integer.valueOf(string2[1]), Integer.valueOf(string2[2]),Integer.valueOf(string2[3]), Integer.valueOf(string2[4]), Integer.valueOf(string2[5]));
128
-
152
+    		
129 153
 	    	if (date1.compareTo(date2)>=0) {
130
-	    		message=message+"\n"+RSReceived.getString(3);
131
-	    		message=message+"\n"+RSSent.getString(3);
154
+	    		Msg_Text msg =new Msg_Text(user2,RSReceived.getString(4),RSReceived.getString(3));
155
+	    		message.add(msg);
156
+	    		Msg_Text msg1 =new Msg_Text(user1,RSSent.getString(4),RSSent.getString(3));
157
+	    		message.add(msg1);
132 158
 	    	}else {
133
-	    		message=message+"\n"+RSSent.getString(3);
134
-	    		message=message+"\n"+RSReceived.getString(3);
159
+	    		Msg_Text msg1 =new Msg_Text(user1,RSSent.getString(4),RSSent.getString(3));
160
+	    		message.add(msg1);
161
+	    		Msg_Text msg =new Msg_Text(user2,RSReceived.getString(4),RSReceived.getString(3));
162
+	    		message.add(msg);
135 163
 	    	}
136 164
     		encore1=RSSent.next();
137 165
 	    	encore2=RSReceived.next();

+ 3
- 0
Application/Clavardage/src/model/Chat.java View File

@@ -49,6 +49,9 @@ public class Chat {
49 49
 	public void addMessage(Message msg) {
50 50
 		this.messages.add(msg);
51 51
 	}
52
+	public void addListMessage( ArrayList<Message> msg) {
53
+		this.messages=msg;
54
+	}
52 55
 	public void activate() {
53 56
 		this.active = true;
54 57
 	}

+ 7
- 0
Application/Clavardage/src/model/Message.java View File

@@ -24,6 +24,10 @@ public abstract class Message {
24 24
 		DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
25 25
 		this.date = dateFormat.format(new Date());
26 26
 	}
27
+	public Message(User autor, String date) {
28
+		this.autor = autor;
29
+		this.date = date;
30
+	}
27 31
 	/*** GETTERS ***/
28 32
 	public String getDate() {
29 33
 		return date;
@@ -36,6 +40,9 @@ public abstract class Message {
36 40
 	public void setAutorIP(User autor) {
37 41
 		this.autor = autor;
38 42
 	}
43
+	public void setDate(String date) {
44
+		this.date=date;
45
+	}
39 46
 	
40 47
 	
41 48
 	public abstract Object getMessage(); 

+ 5
- 1
Application/Clavardage/src/model/Msg_Text.java View File

@@ -11,7 +11,11 @@ public class Msg_Text extends Message{
11 11
 		super(autor);
12 12
 		this.text = text;
13 13
 	}
14
-
14
+	public Msg_Text(User autor,String date, String text) {
15
+		super(autor,date);
16
+		this.text = text;
17
+	}
18
+	
15 19
 	@Override
16 20
 	public String getMessage() {
17 21
 		return this.text;

Loading…
Cancel
Save