From 0ec1c595d17d5434b227ee8128d3ab9eafd51739 Mon Sep 17 00:00:00 2001 From: Locatelli Date: Wed, 22 Apr 2020 11:33:53 +0200 Subject: [PATCH] Add plotyVersion server property Do switch stuff between this version --- .../java/fr/ill/ics/bridge/ChangeManager.java | 5 ++++- .../sessionmanagement/ServerSessionManager.java | 17 +++++++++++------ .../java/fr/ill/ics/util/ConfigManager.java | 8 ++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/main/java/fr/ill/ics/bridge/ChangeManager.java b/src/main/java/fr/ill/ics/bridge/ChangeManager.java index 42f1ac4..338bb7f 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 3f7ad2a..3a2d613 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 dfda870..ce0d43a 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; } -- GitLab