|
@@ -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();
|