Skip to content

Commit

Permalink
Merge branch 'main' of
Browse files Browse the repository at this point in the history
https://github.com/Rice-COMP-310/comp310-f21-hw08-comp310-f21-hw08-20.git
into main

Conflicts:
	src/hpn2_yl176/main_mvc/controller/MainController.java
	src/hpn2_yl176/mini_mvc/model/MiniModel.java
	src/hpn2_yl176/msg/receiverMsgCmd/CommandMsgCmd.java
	src/hpn2_yl176/msg/receiverMsgCmd/DefaultReceiverMsgCmd.java
  • Loading branch information
hungpnguyen243 committed Nov 18, 2021
2 parents db5b609 + 73c5753 commit 5a36bf6
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 65 deletions.
1 change: 1 addition & 0 deletions chatApp0.launch → MainController.launch
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="hpn2_yl176.main_mvc.controller.MainController"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="hw08"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="comp310-f21-hw08-comp310-f21-hw08-20"/>
Expand Down
9 changes: 4 additions & 5 deletions src/hpn2_yl176/main_mvc/controller/MainController.java
Original file line number Diff line number Diff line change
Expand Up @@ -279,19 +279,18 @@ public void start() {
*/
public static void main(String[] args) {
// System.out.println("bruh!");
ChatAppConfig appConfig0 = new ChatAppConfig("Hung", IRMI_Defs.STUB_PORT_CLIENT, IRMI_Defs.CLASS_SERVER_PORT_CLIENT);
ChatAppConfig appConfig1 = new ChatAppConfig("App2", IRMI_Defs.STUB_PORT_SERVER, IRMI_Defs.CLASS_SERVER_PORT_SERVER);
ChatAppConfig appConfig2 = new ChatAppConfig("Swong", IRMI_Defs.STUB_PORT_EXTRA, IRMI_Defs.CLASS_SERVER_PORT_EXTRA);

// ChatAppConfig appConfig1 = new ChatAppConfig("James2", IRMI_Defs.STUB_PORT_SERVER, IRMI_Defs.CLASS_SERVER_PORT_SERVER);
// ChatAppConfig appConfig0 = new ChatAppConfig("James", IRMI_Defs.STUB_PORT_CLIENT, IRMI_Defs.CLASS_SERVER_PORT_CLIENT);
ChatAppConfig appConfig1 = new ChatAppConfig("test", IRMI_Defs.STUB_PORT_SERVER, IRMI_Defs.CLASS_SERVER_PORT_SERVER);
// ChatAppConfig appConfig2 = new ChatAppConfig("James3", IRMI_Defs.STUB_PORT_EXTRA, IRMI_Defs.CLASS_SERVER_PORT_EXTRA);


SwingUtilities.invokeLater(new Runnable() {
public void run() {
(new MainController(appConfig0)).start();
// (new MainController(appConfig0)).start();
(new MainController(appConfig1)).start();
(new MainController(appConfig2)).start();
// (new MainController(appConfig2)).start();
}
});
}
Expand Down
10 changes: 6 additions & 4 deletions src/hpn2_yl176/mini_mvc/model/MiniModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,8 @@ public void accept(ILogEntry logEntry) {

// room information
this.roomRoster = adptr.getRoomRoster();
receiverVisitor = new ReceiverDataPacketAlgo(new DefaultReceiverMsgCmd(unexecutedMsgs));
DefaultReceiverMsgCmd dCmd = new DefaultReceiverMsgCmd(unexecutedMsgs);
receiverVisitor = new ReceiverDataPacketAlgo(dCmd);
this.myReceiver = new Receiver(this.receiverVisitor);

try {
Expand All @@ -195,16 +196,17 @@ public void accept(ILogEntry logEntry) {
sysLogger.log(LogLevel.ERROR, "Can't make receiver stub");
e.printStackTrace();
}
dCmd.setNamedReceiver(myNamedReceiver);
}

private void initVisitor() {
receiverVisitor.setCmd(DataPacketIDFactory.Singleton.makeID(IStringMsg.class), new StringMsgCmd(adptr));
receiverVisitor.setCmd(CommandRequestMsg.GetID(), new CommandRequestMsgCmd(adptr, receiverVisitor, cmd2ModelAdapter));
receiverVisitor.setCmd(ICommandRequestMsg.GetID(), new CommandRequestMsgCmd(this.myNamedReceiver, receiverVisitor));
receiverVisitor.setCmd(HeartMessage.GetID(), new HeartMessageCmd(cmd2ModelAdapter));
// receiverVisitor.setCmd(TabMsg.GetID(), new TabMsgCmd(cmd2ModelAdapter));
receiverVisitor.setCmd(TabMsg.GetID(), new TabMsgCmd(cmd2ModelAdapter));
CommandMsgCmd cmd = new CommandMsgCmd(receiverVisitor, unexecutedMsgs);
cmd.setCmd2ModelAdpt(cmd2ModelAdapter);
receiverVisitor.setCmd(CommandMsg.GetID(), cmd);
receiverVisitor.setCmd(ICommandMsg.GetID(), cmd);
}

public Set<INamedReceiver> getRoomRoster() {
Expand Down
9 changes: 5 additions & 4 deletions src/hpn2_yl176/msg/receiverMsgCmd/CommandMsgCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
* @author hungnguyen
*
*/
public class CommandMsgCmd extends AReceiverDataPacketAlgoCmd<IReceiverMsg> {
public class CommandMsgCmd extends AReceiverDataPacketAlgoCmd<ICommandMsg> {

/**
*
Expand All @@ -48,11 +48,12 @@ public CommandMsgCmd(ReceiverDataPacketAlgo receiverVisitor, HashMap<IDataPacket
}

@Override
public Void apply(IDataPacketID index, ReceiverDataPacket<IReceiverMsg> host, Void... params) {
public Void apply(IDataPacketID index, ReceiverDataPacket<ICommandMsg> host, Void... params) {
AReceiverDataPacketAlgoCmd<?> receivedCmd = ((ICommandMsg) host.getData()).getCmd();
IDataPacketID id = host.getData().getID();
IDataPacketID id = host.getData().getCmdID();
receiverVisitor.setCmd(id, receivedCmd);
receivedCmd.setCmd2ModelAdpt(this.cmd2ModelAdapter);
receivedCmd.setCmd2ModelAdpt(cmd2ModelAdapter);
// unexecutedMsgs.get(id)
for (ReceiverDataPacket<IReceiverMsg> message : unexecutedMsgs.get(id)) {
message.execute(receiverVisitor);
}
Expand Down
17 changes: 10 additions & 7 deletions src/hpn2_yl176/msg/receiverMsgCmd/CommandRequestMsgCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@

import common.adapter.ICmd2ModelAdapter;
import common.receiver.AReceiverDataPacketAlgoCmd;
import common.receiver.INamedReceiver;
import common.receiver.ReceiverDataPacket;
import common.receiver.ReceiverDataPacketAlgo;

import common.receiver.messages.ICommandRequestMsg;
import common.receiver.messages.IReceiverMsg;
import hpn2_yl176.mini_mvc.model.IMini2ViewAdptr;import hpn2_yl176.msg.receiverMsgImpl.CommandMsg;
import provided.datapacket.DataPacketIDFactory;
Expand All @@ -18,12 +19,14 @@
* @author hungnguyen
*
*/
public class CommandRequestMsgCmd extends AReceiverDataPacketAlgoCmd<IReceiverMsg>{
public class CommandRequestMsgCmd extends AReceiverDataPacketAlgoCmd<ICommandRequestMsg>{

private ReceiverDataPacketAlgo receiverVisitor;
private INamedReceiver me;

public CommandRequestMsgCmd(IMini2ViewAdptr adptr, ReceiverDataPacketAlgo receiverVisitor, ICmd2ModelAdapter cmd2ModelAdpt) {
public CommandRequestMsgCmd(INamedReceiver me, ReceiverDataPacketAlgo receiverVisitor) {
this.receiverVisitor = receiverVisitor;
this.me = me;
}

/**
Expand All @@ -38,16 +41,16 @@ public void setCmd2ModelAdpt(ICmd2ModelAdapter cmd2ModelAdpt) {
}

@Override
public Void apply(IDataPacketID index, ReceiverDataPacket<IReceiverMsg> host, Void... params) {
public Void apply(IDataPacketID index, ReceiverDataPacket<ICommandRequestMsg> host, Void... params) {
// TODO Auto-generated method stub
IDataPacketID cmdId = host.getData().getID();
IDataPacketID cmdId = host.getData().getCmdID();
AReceiverDataPacketAlgoCmd<?> cmd = (AReceiverDataPacketAlgoCmd<?>) receiverVisitor.getCmd(cmdId);
System.out.println("RECEIVED request");
Thread thread = new Thread(() -> {
try {
host.getSender().sendMessage(new ReceiverDataPacket<IReceiverMsg>(
new CommandMsg(cmd, cmdId), host.getSender()));
new CommandMsg(cmd, cmdId), me));
} catch (RemoteException e) {
// TODO Auto-generated catch block

}
});
Expand Down
17 changes: 11 additions & 6 deletions src/hpn2_yl176/msg/receiverMsgCmd/DefaultReceiverMsgCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import common.adapter.ICmd2ModelAdapter;
import common.receiver.AReceiverDataPacketAlgoCmd;
import common.receiver.INamedReceiver;
import common.receiver.ReceiverDataPacket;
import common.receiver.messages.ICommandRequestMsg;
import common.receiver.messages.IReceiverMsg;
Expand All @@ -26,23 +27,23 @@ public class DefaultReceiverMsgCmd extends AReceiverDataPacketAlgoCmd<IReceiverM
*/
private static final long serialVersionUID = -2325284822657390621L;

/**
* A cache of list of messages to data packetID
*/
HashMap<IDataPacketID, ArrayList<ReceiverDataPacket<IReceiverMsg>>> unexecutedMsgs;
private HashMap<IDataPacketID, ArrayList<ReceiverDataPacket<IReceiverMsg>>> unexecutedMsgs;

private INamedReceiver me;

/**
* DefaultReceiverMsgCmd to process the
* @param unexecutedMsgs
*/
public DefaultReceiverMsgCmd(HashMap<IDataPacketID, ArrayList<ReceiverDataPacket<IReceiverMsg>>> unexecutedMsgs) {
this.unexecutedMsgs = unexecutedMsgs;
// this.me = me;
}

@Override
public Void apply(IDataPacketID index, ReceiverDataPacket<IReceiverMsg> host, Void... params) {
// TODO Auto-generated method stub
// System.out.println("wtf?????"+unexecutedMsgs.toString());
System.out.println("default case");
if (!unexecutedMsgs.containsKey(index)) {
ArrayList<ReceiverDataPacket<IReceiverMsg>> list = new ArrayList<>();
list.add(host);
Expand All @@ -55,7 +56,7 @@ public Void apply(IDataPacketID index, ReceiverDataPacket<IReceiverMsg> host, Vo
Thread thread = new Thread(() -> {
try {
host.getSender().sendMessage(new ReceiverDataPacket<IReceiverMsg>(
new CommandRequestMsg(host.getData().getID()), host.getSender()));
new CommandRequestMsg(host.getData().getID()), me));
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Expand All @@ -70,4 +71,8 @@ public void setCmd2ModelAdpt(ICmd2ModelAdapter cmd2ModelAdpt) {
// TODO Auto-generated method stub

}

public void setNamedReceiver(INamedReceiver me) {
this.me = me;
}
}
20 changes: 1 addition & 19 deletions src/hpn2_yl176/msg/receiverMsgImpl/CommandMsg.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,24 +44,6 @@ public IDataPacketID getCmdID() {
// TODO Auto-generated method stub
return this.cmdId;
}

/**
* Get the data packet ID associated with this class.
*
* @return The data packet ID.
*/
public static IDataPacketID GetID() {
return DataPacketIDFactory.Singleton.makeID(CommandMsg.class);
}

/**
* Get the data packet ID associated with an instance of this class.
*
* @return The data packet ID.
*/
@Override
public IDataPacketID getID() {
return CommandMsg.GetID();
}


}
21 changes: 1 addition & 20 deletions src/hpn2_yl176/msg/receiverMsgImpl/CommandRequestMsg.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,30 +24,11 @@ public class CommandRequestMsg implements ICommandRequestMsg {
public CommandRequestMsg(IDataPacketID cmdId) {
this.cmdId = cmdId;
}

@Override
public IDataPacketID getCmdID() {
// TODO Auto-generated method stub
return cmdId;
}

/**
* Get the data packet ID associated with this class.
*
* @return The data packet ID.
*/
public static IDataPacketID GetID() {
return DataPacketIDFactory.Singleton.makeID(CommandRequestMsg.class);
}

/**
* Get the data packet ID associated with an instance of this class.
*
* @return The data packet ID.
*/
@Override
public IDataPacketID getID() {
return CommandRequestMsg.GetID();
}

}

0 comments on commit 5a36bf6

Please sign in to comment.