From 340f0232e4b62e5ca076009dadd40c0854000cc6 Mon Sep 17 00:00:00 2001 From: dcollin Date: Fri, 20 Nov 2015 16:09:45 +0100 Subject: [PATCH] Adding listener to FileSaveRsp --- .../coder/client/gui/editor/EditorWindow.java | 20 +++++++++++++++++++ .../session/FileSaveRspMsgListener.java | 7 +++++++ src/com/coder/client/session/Session.java | 4 ++++ 3 files changed, 31 insertions(+) create mode 100644 src/com/coder/client/session/FileSaveRspMsgListener.java diff --git a/src/com/coder/client/gui/editor/EditorWindow.java b/src/com/coder/client/gui/editor/EditorWindow.java index 652a873..089768f 100644 --- a/src/com/coder/client/gui/editor/EditorWindow.java +++ b/src/com/coder/client/gui/editor/EditorWindow.java @@ -11,6 +11,8 @@ import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.JOptionPane; + import org.controlsfx.control.PropertySheet; import org.controlsfx.property.editor.PropertyEditor; @@ -24,12 +26,14 @@ import com.coder.client.project.OpenProjectEventHandler; import com.coder.client.property.CoderClientProperty; import com.coder.client.property.ComboBoxProperty; import com.coder.client.session.FileRspMsgListener; +import com.coder.client.session.FileSaveRspMsgListener; import com.coder.client.session.ProjectRspMsgListener; import com.coder.client.session.ProjectTypeRspMsgListener; import com.coder.server.message.CoderMessage; import com.coder.server.message.FileReqMsg; import com.coder.server.message.FileRspMsg; import com.coder.server.message.FileSaveReqMsg; +import com.coder.server.message.FileSaveRspMsg; import com.coder.server.message.ProjectReqMsg; import com.coder.server.message.ProjectRspMsg; import com.coder.server.message.ProjectTypeReqMsg; @@ -157,6 +161,22 @@ public class EditorWindow extends GuiWindow { } }); + sessionHandler.addMessageListener(new FileSaveRspMsgListener() { + @Override + public void messageReceived(FileSaveRspMsg msg) { + if(msg.error != null){ + logger.severe("The file \""+msg.path+"\" could not be saved to the server: " + msg.error); + setErrorMessage("The file \""+msg.path+"\" could not be saved to the server: " + msg.error); + JOptionPane.showMessageDialog(null, "The file \""+msg.path+"\" could not be saved to the server: " + msg.error); + }else{ + logger.fine("The file \""+msg.path+"\" was saved on the server"); + if(((FileTreeFile)fileTreeView.getSelectionModel().getSelectedItem().getValue()).getFullPath().equals(msg.path)){ + editTextArea.setDisable(false); + } + } + } + }); + projectHandler.addprojectEventHandler(new OpenProjectEventHandler() { @Override public void openProject(String projectName) { diff --git a/src/com/coder/client/session/FileSaveRspMsgListener.java b/src/com/coder/client/session/FileSaveRspMsgListener.java new file mode 100644 index 0000000..e29c325 --- /dev/null +++ b/src/com/coder/client/session/FileSaveRspMsgListener.java @@ -0,0 +1,7 @@ +package com.coder.client.session; + +import com.coder.server.message.FileSaveRspMsg; + +public interface FileSaveRspMsgListener extends ProjectMessageListener { + public void messageReceived(FileSaveRspMsg msg); +} diff --git a/src/com/coder/client/session/Session.java b/src/com/coder/client/session/Session.java index d125367..6dba2c6 100755 --- a/src/com/coder/client/session/Session.java +++ b/src/com/coder/client/session/Session.java @@ -231,6 +231,10 @@ public class Session extends Thread { logger.fine("The message contains a FileRsp that is forwarded to listener: " + listener); ((FileRspMsgListener)listener).messageReceived(msg.FileRsp); } + if(msg.FileSaveRsp != null && listener instanceof FileSaveRspMsgListener){ + logger.fine("The message contains a FileSaveRsp that is forwarded to listener: " + listener); + ((FileSaveRspMsgListener)listener).messageReceived(msg.FileSaveRsp); + } } } });