Skip to content

Commit f44b4cd

Browse files
committed
Fix and ADD DAO method ; fixed and improve chains and BeansFactory.class.
1 parent 1760cd3 commit f44b4cd

File tree

4 files changed

+93
-2
lines changed

4 files changed

+93
-2
lines changed
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
package com.louay.projects.model.chains.accounts.constant;
22

33
public enum AccountType {
4-
USER,GROUP
4+
USER("user"),GROUP("group");
5+
6+
private String type;
7+
8+
AccountType(String type) {
9+
this.type = type;
10+
}
11+
12+
public String getType() {
13+
return type;
14+
}
515
}

src/main/java/com/louay/projects/model/dao/SelectUsersDAO.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ public interface SelectUsersDAO {
6464

6565
Map<Long, FriendRequest> findFriendRequestBySenderAndReceiver(Request request);
6666

67+
Map<Long, FriendRequest> findFriendRequestAndPicByReceiver(Request request);
68+
69+
Map<Long, FriendRequest> findFriendRequestAndPicBySender(Request request);
70+
6771
Map<Long, SignInDate> findSignInDateByUsername(SignInDate signInDate);
6872

6973
Map<Long ,UserFriend> findUserFriendByUsername(Member friend);

src/main/java/com/louay/projects/model/dao/impl/UsersDAOImpl.java

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,83 @@ public Map<Long, FriendRequest> findFriendRequestBySenderAndReceiver(Request req
10701070
return container;
10711071
}
10721072

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+
10731150
private SignInDate buildSignInDate(ResultSet resultSet) {
10741151
SignInDate signInDate = ac.getBean(SignInDate.class);
10751152
try {

src/main/java/com/louay/projects/model/factory/BeansFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public Map<Long, Member> getMemberContainer(){
9696
@Bean(name = "requestContainer")
9797
@Scope("prototype")
9898
public Map<Long, Request> getRequestContainer(){
99-
return new LinkedHashMap<>();
99+
return new HashMap<>();
100100
}
101101

102102
@Bean(name = "statusContainer")

0 commit comments

Comments
 (0)