new support classes added
This commit is contained in:
parent
9764f546da
commit
83e0196c50
21 changed files with 798 additions and 9 deletions
|
|
@ -7,10 +7,12 @@ import java.util.logging.Logger;
|
|||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import com.coder.client.LoginDialog.LoginDialogAction;
|
||||
import com.coder.server.CoderServer;
|
||||
import com.coder.server.message.CoderMessage;
|
||||
import com.coder.server.message.ConfigData;
|
||||
import com.coder.server.message.ProjectListData;
|
||||
import com.coder.server.message.ProjectListReqMsg;
|
||||
import com.coder.server.message.ProjectRspMsg;
|
||||
|
||||
import zutil.log.CompactLogFormatter;
|
||||
import zutil.log.LogUtil;
|
||||
|
|
@ -23,6 +25,7 @@ public class CoderClient extends Thread{
|
|||
private int port;
|
||||
private Session session;
|
||||
private ProjectEditorWindow projectEditorWindow;
|
||||
private ProjectSelectDialog projectSelectDialog;
|
||||
private String username = null;
|
||||
private char[] password = null;
|
||||
private int connectionRetriesLimit = DEFAULT_CONNECTION_RETRIES; //if zero, try forever
|
||||
|
|
@ -32,6 +35,7 @@ public class CoderClient extends Thread{
|
|||
this.port = port;
|
||||
|
||||
this.projectEditorWindow = new ProjectEditorWindow("CoderClient");
|
||||
this.projectSelectDialog = new ProjectSelectDialog(null);
|
||||
|
||||
LogUtil.setGlobalLevel(Level.INFO);
|
||||
LogUtil.setGlobalFormatter(new CompactLogFormatter());
|
||||
|
|
@ -79,7 +83,7 @@ public class CoderClient extends Thread{
|
|||
LoginDialog loginDialog = new LoginDialog(username, null);
|
||||
loginDialog.setVisible(true); //blocking
|
||||
loginDialog.dispose();
|
||||
if(loginDialog.getAction() == LoginDialogAction.CANCEL){
|
||||
if(loginDialog.getAction() == LoginDialog.LoginDialogAction.CANCEL){
|
||||
logger.fine("Login dialog closed or canceled by the user. terminating.");
|
||||
break;
|
||||
}
|
||||
|
|
@ -106,13 +110,46 @@ public class CoderClient extends Thread{
|
|||
session.addCoderMessageReceivedListener(new CoderMessageReceivedListener() {
|
||||
@Override
|
||||
public void projectListRspReceived(Map<String, ProjectListData> projectListRsp) {
|
||||
//TODO
|
||||
for(String projectName : projectListRsp.keySet()){
|
||||
ProjectListData projectData = projectListRsp.get(projectName);
|
||||
projectSelectDialog.addProjectToList(projectName, projectData.type);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void projectTypeRspReceived(Map<String, ConfigData> projectTypeRsp) {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
@Override
|
||||
public void projectRspReceived(ProjectRspMsg projectRspMsg) {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
});
|
||||
|
||||
//start receiving traffic from the server
|
||||
session.start();
|
||||
|
||||
//clear the current local project list
|
||||
this.projectSelectDialog.clearProjectList();
|
||||
|
||||
//request a new project list from the server
|
||||
CoderMessage msg = new CoderMessage();
|
||||
msg.ProjectListReq = new ProjectListReqMsg();
|
||||
try {
|
||||
session.send(msg);
|
||||
} catch (IOException e) {
|
||||
logger.log(Level.SEVERE, "Unable to send ProjectListReqMsg", e);
|
||||
continue;
|
||||
}
|
||||
|
||||
//show the project selector dialog
|
||||
this.projectSelectDialog.setVisible(true); //blocking
|
||||
if(this.projectSelectDialog.getAction() == ProjectSelectDialog.ProjectSelectDialogAction.CANCEL){
|
||||
logger.fine("Project select dialog closed or canceled by the user. terminating.");
|
||||
break;
|
||||
}
|
||||
String selectedProjectName = this.projectSelectDialog.getSelecteProjectName();
|
||||
logger.info("Project \"" +selectedProjectName+ "\" was selected.");
|
||||
|
||||
//add a listener to forward messages from the editor GUI to the server
|
||||
this.projectEditorWindow.addMessageSentListener(new GUIMessageSentListener(){
|
||||
@Override
|
||||
|
|
@ -152,15 +189,15 @@ public class CoderClient extends Thread{
|
|||
}
|
||||
}
|
||||
|
||||
private void setPassword(char[] password) {
|
||||
public void setPassword(char[] password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
private void setUsername(String username) {
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
private void setRetryConnectForever(boolean tryForever) {
|
||||
public void setRetryConnectForever(boolean tryForever) {
|
||||
if(tryForever){
|
||||
this.connectionRetriesLimit = 0;
|
||||
}else{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue