Skip to content

Commit 3b71d2c

Browse files
committed
Merge remote-tracking branch 'origin/main'
# Conflicts: # src/main/java/entities/user_entities/User.java
2 parents cb22ff8 + 8fe534d commit 3b71d2c

File tree

156 files changed

+1504
-295
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

156 files changed

+1504
-295
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package main.java.emoji_manager.model;
2+
3+
/**
4+
* EmoInfo
5+
*/
6+
public class EmoInfo {
7+
/* Emo Info*/
8+
int pos;
9+
String val;
10+
11+
public EmoInfo(int pos, String val) {
12+
this.pos = pos;
13+
this.val = val;
14+
}
15+
16+
public int getPos() {
17+
return pos;
18+
}
19+
20+
public String getVal() {
21+
return val;
22+
}
23+
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package main.java.emoji_manager.model;
2+
3+
import javax.swing.text.SimpleAttributeSet;
4+
import javax.swing.text.StyleConstants;
5+
import java.awt.*;
6+
7+
/**
8+
* Font
9+
*/
10+
public class FontAndText {
11+
private String msg = "", name = "Song"; //
12+
13+
private int size = 0; // Font
14+
15+
private Color color = new Color(225, 225, 225); // Font color
16+
17+
/**
18+
* Free Construction(for newline)
19+
*/
20+
21+
public FontAndText() {
22+
}
23+
24+
public FontAndText(String msg, String fontName, int fontSize, Color color) {
25+
this.msg = msg;
26+
this.name = fontName;
27+
this.size = fontSize;
28+
this.color = color;
29+
}
30+
31+
/**
32+
* return Attribute set
33+
*
34+
*/
35+
public SimpleAttributeSet getAttrSet() {
36+
// Attribute Set
37+
SimpleAttributeSet attrSet = new SimpleAttributeSet();
38+
if (name != null) {
39+
StyleConstants.setFontFamily(attrSet, name);
40+
}
41+
StyleConstants.setBold(attrSet, false);
42+
StyleConstants.setItalic(attrSet, false);
43+
StyleConstants.setFontSize(attrSet, size);
44+
if (color != null)
45+
StyleConstants.setForeground(attrSet, color);
46+
return attrSet;
47+
}
48+
49+
public String toString() {
50+
//divide message to 4 parts
51+
return name + "|"
52+
+ size + "|"
53+
+ color.getRed() + "-" + color.getGreen() + "-" + color.getBlue() + "|"
54+
+ msg;
55+
}
56+
57+
public String getText() {
58+
return msg;
59+
}
60+
61+
public void setText(String text) {
62+
this.msg = text;
63+
}
64+
65+
66+
public void setColor(Color color) {
67+
this.color = color;
68+
}
69+
70+
public void setName(String name) {
71+
this.name = name;
72+
}
73+
74+
public void setSize(int size) {
75+
this.size = size;
76+
}
77+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package main.java.emoji_manager.msg;
2+
public final class MsgType {
3+
public final static int CHAT = 0; // Chat
4+
public final static int SHAKE = 3; // Shake
5+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package main.java.emoji_manager.msg;
2+
3+
import java.net.DatagramPacket;
4+
import java.net.DatagramSocket;
5+
import java.net.InetAddress;
6+
import java.nio.charset.StandardCharsets;
7+
8+
public class Sender {
9+
/* local ip */
10+
public static String localIP = "127.0.0.1";
11+
/* wrong message */
12+
public static String err_msg = "";
13+
/* default send port */
14+
public static int SendPort = 5555;
15+
/* default chat port */
16+
public static int chatPort = 6666;
17+
18+
public Sender() {
19+
}
20+
21+
/**
22+
* @param msgType message Type
23+
* @return send success or not
24+
*/
25+
public static boolean sendUDPMsg(int msgType, String uname, String friendIP, int friendPort, String message) {
26+
try {
27+
/* From Common line get to send context, convert to string by UTF-8 */
28+
byte[] msg = (msgType + "*" + uname + "*" + message).getBytes(StandardCharsets.UTF_8);
29+
/* get the host internet Address */
30+
InetAddress address = InetAddress.getByName(friendIP);
31+
32+
/* Initializes a datagram packet (packet) with data and address*/
33+
DatagramPacket packet = new DatagramPacket(msg, msg.length, address,
34+
friendPort);
35+
36+
/* Create a default socket and send packets through this socket */
37+
DatagramSocket dSocket = new DatagramSocket();
38+
dSocket.send(packet);
39+
40+
/* Close the socket after sending */
41+
dSocket.close();
42+
} catch (Exception e) {
43+
e.printStackTrace();
44+
err_msg = "System error!";
45+
return false;
46+
}
47+
return true;
48+
}
49+
}

src/main/java/entities/chat/GroupChat.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package entities.chat;
22

3-
import entities.message.Message;
4-
53
import java.util.ArrayList;
64

75
public class GroupChat extends Chat {
@@ -25,7 +23,7 @@ public GroupChat(String name, String chatID, String senderUsername){
2523
this.name = name;
2624
this.chatID = chatID;
2725
this.senderUsername = senderUsername;
28-
this.convHist = new ArrayList<Message>();
26+
this.convHist = new ArrayList<>();
2927
this.groupMembers = new ArrayList<>();
3028
}
3129

@@ -35,7 +33,7 @@ public GroupChat(String name, String chatID, String senderUsername){
3533
* @return groupMembers
3634
*/
3735
public ArrayList<String> getGroupMembers(){
38-
return new ArrayList<String>(this.groupMembers);
36+
return new ArrayList<>(this.groupMembers);
3937
}
4038

4139
/**

src/main/java/entities/chat/PrivateChat.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package entities.chat;
22

3-
import entities.message.Message;
4-
53
import java.util.ArrayList;
64

75
public class PrivateChat extends Chat {
@@ -29,7 +27,7 @@ public PrivateChat(String name, String chatID, String recipientUsername ){
2927
this.name = name;
3028
this.chatID = chatID;
3129
this.recipientUsername = recipientUsername;
32-
this.convHist = new ArrayList<Message>();
30+
this.convHist = new ArrayList<>();
3331

3432
}
3533

src/main/java/entities/user_entities/User.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import data_access.UserDatabase;
44
import entities.chat.Chat;
55
import interface_adapters.profile_modification_IA.UserAuthenticationI;
6+
import interface_adapters.login_interface_adapters.Login;
67
import use_cases.user_attribute_modification_use_case.Changeable;
7-
import interface_adapters.app_screen_interface_adapters.UserAppScreenGateway;
8-
import use_cases.user_login_use_cases.Loginable;
8+
import interface_adapters.appscreen.UserAppScreenGateway;
99

1010
import java.io.File;
1111
import java.io.Serializable;
1212
import java.util.ArrayList;
1313

14-
public abstract class User implements Serializable, Changeable, Loginable, UserAuthenticationI {
14+
public abstract class User implements Serializable, Changeable, Login, UserAuthenticationI {
1515
protected String username;
1616
protected String password;
1717
protected String email;
@@ -56,7 +56,7 @@ public Boolean PasswordMatch(String attempt){
5656
}
5757

5858
public void login(){
59-
UserAppScreenGateway appScreenGateway = new UserAppScreenGateway(this.getUsername(), new UserDatabase(new File("user_accounts")));
59+
UserAppScreenGateway appScreenGateway = new UserAppScreenGateway(this.getUsername());
6060
appScreenGateway.login();
6161
}
6262

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package interface_adapters.User_search_IA;
2-
32
import entities.user_entities.User;
43
import java.util.List;
5-
4+
/**
5+
* allows for the User Database (whatever type it may be) to present all its users in a list format.
6+
*/
67
public interface IRetrieveList {
78
List<User> getList();
89
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package interface_adapters.User_search_IA;
22

3-
// UI implements this interface to invert the dependency of UI on the inner layers
3+
/**
4+
* Implemented interface to invert the dependency of UI on the inner layers
5+
*/
46
public interface UserPresenter {
57
String showProfile(String username);
68
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package interface_adapters.User_search_IA;
2+
import data_access.UserDatabase;
3+
import entities.user_entities.User;
4+
import use_cases.user_profile_display_use_case.UserReader;
5+
6+
/**
7+
* User_search_IA.UserPresenter makes us implement showProfile to invert the dependency
8+
*/
9+
public class UserPresenterClass implements UserPresenter{
10+
@Override
11+
public String showProfile(String username) {
12+
// setting up access to the database of users:
13+
UserDatabase db = new UserDatabase();
14+
if (db.UserExists(username)){
15+
User user = db.getUser(username);
16+
UserReader reader = new UserReader();
17+
String[] features = reader.ProfileReader(user);
18+
String email = features[1];
19+
return("<html>Username: " + username + "<br>Email: " + email + "</html>");
20+
}
21+
else{
22+
return("User with given username does not exist.");
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)