@@ -1070,6 +1070,83 @@ public Map<Long, FriendRequest> findFriendRequestBySenderAndReceiver(Request req
1070
1070
return container ;
1071
1071
}
1072
1072
1073
+ private FriendRequest buildFriendRequestAndPic (ResultSet resultSet ) {
1074
+ FriendRequest request = ac .getBean (FriendRequest .class );
1075
+ Client sourceAccount = request .getSourceAccount ();
1076
+ Client targetAccount = request .getTargetAccount ();
1077
+ try {
1078
+ sourceAccount .setUsername (resultSet .getString (1 ));
1079
+ targetAccount .setUsername (resultSet .getString (2 ));
1080
+ request .setRequestDate (resultSet .getTimestamp (3 ));
1081
+ sourceAccount .setFirstName (resultSet .getString (4 ));
1082
+ sourceAccount .setLastName (resultSet .getString (5 ));
1083
+ sourceAccount .setPicture (resultSet .getBlob (6 ));
1084
+ } catch (SQLException e ) {
1085
+ System .out .println (e .getMessage ());
1086
+ }
1087
+ return request ;
1088
+ }
1089
+
1090
+ public void buildFriendRequestAndPicContainer (ResultSet resultSet , Map <Long , FriendRequest > container ) {
1091
+ long i = 0 ;
1092
+ try {
1093
+ while (resultSet .next ()) {
1094
+ container .put (i , buildFriendRequestAndPic (resultSet ));
1095
+ i ++;
1096
+ }
1097
+ } catch (SQLException e ) {
1098
+ System .out .println (e .getMessage ());
1099
+ }
1100
+ }
1101
+
1102
+ @ Override
1103
+ public Map <Long , FriendRequest > findFriendRequestAndPicByReceiver (Request request ) {
1104
+ if (!(request instanceof FriendRequest )) {
1105
+ throw new IllegalArgumentException ("Need FriendRequest." );
1106
+ }
1107
+ FriendRequest friendRequest = (FriendRequest ) request ;
1108
+ @ SuppressWarnings (value = "unchecked" )
1109
+ Map <Long , FriendRequest > container = (Map <Long , FriendRequest >) ac .getBean ("requestContainer" );
1110
+ try {
1111
+ ResultSet resultSet = this .pool .selectResult ("SELECT `friend_request`.`username`, " +
1112
+ "`friend_request`.`requestTarget`, `friend_request`.`requestDate`, " +
1113
+ "`account_detail`.`firstName`, `account_detail`.`lastName`, `account_pic`.`pic` " +
1114
+ "FROM `friend_request` INNER JOIN `account_detail` ON " +
1115
+ "`account_detail`.`username` = `friend_request`.`username` INNER JOIN `account_pic` ON " +
1116
+ "`account_pic`.`username` = `friend_request`.`username` WHERE `friend_request`.`requestTarget` = ?;" ,
1117
+ friendRequest .getTargetAccount ().getUsername ());
1118
+
1119
+ buildFriendRequestAndPicContainer (resultSet , container );
1120
+ } catch (SQLException e ) {
1121
+ e .printStackTrace ();
1122
+ }
1123
+ return container ;
1124
+ }
1125
+
1126
+ @ Override
1127
+ public Map <Long , FriendRequest > findFriendRequestAndPicBySender (Request request ) {
1128
+ if (!(request instanceof FriendRequest )) {
1129
+ throw new IllegalArgumentException ("Need FriendRequest." );
1130
+ }
1131
+ FriendRequest friendRequest = (FriendRequest ) request ;
1132
+ @ SuppressWarnings (value = "unchecked" )
1133
+ Map <Long , FriendRequest > container = (Map <Long , FriendRequest >) ac .getBean ("requestContainer" );
1134
+ try {
1135
+ ResultSet resultSet = this .pool .selectResult ("SELECT `friend_request`.`username`, " +
1136
+ "`friend_request`.`requestTarget`, `friend_request`.`requestDate`, " +
1137
+ "`account_detail`.`firstName`, `account_detail`.`lastName`, `account_pic`.`pic` " +
1138
+ "FROM `friend_request` INNER JOIN `account_detail` ON " +
1139
+ "`account_detail`.`username` = `friend_request`.`requestTarget` INNER JOIN `account_pic` ON " +
1140
+ "`account_pic`.`username` = `friend_request`.`requestTarget` WHERE " +
1141
+ "`friend_request`.`username` = ?;" ,friendRequest .getSourceAccount ().getUsername ());
1142
+
1143
+ buildFriendRequestAndPicContainer (resultSet , container );
1144
+ } catch (SQLException e ) {
1145
+ e .printStackTrace ();
1146
+ }
1147
+ return container ;
1148
+ }
1149
+
1073
1150
private SignInDate buildSignInDate (ResultSet resultSet ) {
1074
1151
SignInDate signInDate = ac .getBean (SignInDate .class );
1075
1152
try {
0 commit comments