diff --git a/src/main/java/fr/ill/ics/bridge/ChangeManager.java b/src/main/java/fr/ill/ics/bridge/ChangeManager.java index 42f1ac4f341a0fe7bf86e67f71b56edcd8b4e238..338bb7f364f461a024f2dbd69e43aeefd14b9855 100644 --- a/src/main/java/fr/ill/ics/bridge/ChangeManager.java +++ b/src/main/java/fr/ill/ics/bridge/ChangeManager.java @@ -28,6 +28,7 @@ import fr.ill.ics.nscclient.notification.commandzone.CommandZoneEventClient; import fr.ill.ics.nscclient.notification.commandzone.sync.CommandZoneSyncEventClient; import fr.ill.ics.nscclient.ploty.PlotyInstance; import fr.ill.ics.nscclient.survey.SurveySubscriberImpl; +import fr.ill.ics.util.ConfigManager; public class ChangeManager { @@ -51,7 +52,9 @@ public class ChangeManager { DataNotificationClient.getInstance().readAndDispatch(); CommandZoneEventClient.getInstance().readAndDispatch(); CommandZoneSyncEventClient.getInstance().readAndDispatch(); - PlotyInstance.getInstance().readAndDispatch(); + if (ConfigManager.getInstance().getPlotyVersion() == 2) { + PlotyInstance.getInstance().readAndDispatch(); + } // Iterate the map of log subscribers. Map logSubscriberMap = LogSubscriber.getInstances(); diff --git a/src/main/java/fr/ill/ics/nscclient/sessionmanagement/ServerSessionManager.java b/src/main/java/fr/ill/ics/nscclient/sessionmanagement/ServerSessionManager.java index 3f7ad2aa1158cbc4dad293c0adfa9f1ea5f93880..3a2d613e967ade07d3de8ba0862762f96ef13e3d 100644 --- a/src/main/java/fr/ill/ics/nscclient/sessionmanagement/ServerSessionManager.java +++ b/src/main/java/fr/ill/ics/nscclient/sessionmanagement/ServerSessionManager.java @@ -39,6 +39,7 @@ import fr.ill.ics.nscclient.servant.ConfigurationManager.LoadFailure; import fr.ill.ics.nscclient.sessionmanagement.SessionManager.ClientAlreadyLaunchedException; import fr.ill.ics.nscclient.survey.SurveySubscriberImpl; import fr.ill.ics.nscclient.variable.VariableManagerAccessor; +import fr.ill.ics.util.ConfigManager; public class ServerSessionManager { @@ -151,7 +152,9 @@ public class ServerSessionManager { SurveySubscriberImpl.getInstance(serverId).unsubscribe(); DataChangeSubscriber.getInstance(serverId).unsubscribe(); if (serverId.equals("real")) { - PlotyInstance.getInstance().unsubscribe(); + if (ConfigManager.getInstance().getPlotyVersion() == 2) { + PlotyInstance.getInstance().unsubscribe(); + } } DataAccessor.getInstance(serverId).reset(); @@ -188,11 +191,13 @@ public class ServerSessionManager { } if (serverId.equals("real")) { - try { - PlotyInstance.getInstance().unsubscribe(); - } catch (Exception e) { - System.out.println("Cannot unsubscribe data change"); - } + if (ConfigManager.getInstance().getPlotyVersion() == 2) { + try { + PlotyInstance.getInstance().unsubscribe(); + } catch (Exception e) { + System.out.println("Cannot unsubscribe data change"); + } + } } } diff --git a/src/main/java/fr/ill/ics/util/ConfigManager.java b/src/main/java/fr/ill/ics/util/ConfigManager.java index dfda8702b5537a2eb7d6ceff3dbb2089ee1efac7..ce0d43a73b9310620ad154eca2320e9d981f86d3 100644 --- a/src/main/java/fr/ill/ics/util/ConfigManager.java +++ b/src/main/java/fr/ill/ics/util/ConfigManager.java @@ -615,6 +615,14 @@ public class ConfigManager { return false; } + public int getPlotyVersion() { + String value = getStringOrNothingAtAll("plotyVersion"); + if (value != null) { + return Integer.valueOf(value); + } + return 1; + } + public boolean isRemoteClient() { return remoteClient; }