From 7d5668299400dbdf78934d06a74d051e68f71cf4 Mon Sep 17 00:00:00 2001 From: Alexander Nozik Date: Sat, 22 Oct 2016 09:40:25 +0300 Subject: [PATCH] tcp port reconnect --- numass-control/build.gradle | 13 +++++++- numass-control/cryotemp/build.gradle | 13 +------- .../inr/numass/cryotemp/PKT8Controller.java | 12 +++---- numass-control/msp/build.gradle | 5 +-- .../control/msp/fx/MspViewController.java | 6 ++-- .../inr/numass/control/DeviceFragment.java | 31 +++++++++++++++++++ .../java/inr/numass/control/Framework.java | 16 ++++++++++ numass-control/vac/build.gradle | 12 +------ .../readvac/fx/VacCollectorController.java | 6 ++-- .../workbench/NumassWorkbenchController.java | 4 +-- numass-storage/build.gradle | 1 - numass-storage/numass-client/build.gradle | 1 - .../numass/viewer/MainViewerController.java | 8 ++--- 13 files changed, 80 insertions(+), 48 deletions(-) create mode 100644 numass-control/src/main/java/inr/numass/control/DeviceFragment.java create mode 100644 numass-control/src/main/java/inr/numass/control/Framework.java diff --git a/numass-control/build.gradle b/numass-control/build.gradle index 4b503e6a..22dfbf10 100644 --- a/numass-control/build.gradle +++ b/numass-control/build.gradle @@ -1,2 +1,13 @@ -apply plugin: 'base' // To add "clean" task to the root project. +configurations { + compile.exclude module: 'groovy' + compile.exclude module: 'groovy-all' + compile.exclude module: 'shichimifx' + compile.exclude module: 'zt-zip' +} +dependencies { + compile project(':numass-storage:numass-client') + compile project(':dataforge-plots:plots-jfc') + compile project(':dataforge-control') + compile project(':dataforge-fx') +} \ No newline at end of file diff --git a/numass-control/cryotemp/build.gradle b/numass-control/cryotemp/build.gradle index e0abba66..6a6dc5f0 100644 --- a/numass-control/cryotemp/build.gradle +++ b/numass-control/cryotemp/build.gradle @@ -9,19 +9,8 @@ version = "0.1.2"; //mainClassName = "inr.numass.readvac.Main" -configurations { - compile.exclude module: 'groovy' - compile.exclude module: 'groovy-all' - compile.exclude module: 'shichimifx' - compile.exclude module: 'zt-zip' -} - dependencies { -// compile 'commons-cli:commons-cli:1.3' -// compile 'de.jensd:shichimifx:1.0.5' - compile project(':numass-storage:numass-client') - compile project(':dataforge-control') - compile project(':dataforge-plots:plots-jfc') + compile project(':numass-control') } task debug(dependsOn: classes, type: JavaExec) { diff --git a/numass-control/cryotemp/src/main/java/inr/numass/cryotemp/PKT8Controller.java b/numass-control/cryotemp/src/main/java/inr/numass/cryotemp/PKT8Controller.java index a3fe938c..621f9dab 100644 --- a/numass-control/cryotemp/src/main/java/inr/numass/cryotemp/PKT8Controller.java +++ b/numass-control/cryotemp/src/main/java/inr/numass/cryotemp/PKT8Controller.java @@ -6,8 +6,8 @@ import hep.dataforge.control.measurements.Measurement; import hep.dataforge.control.measurements.MeasurementListener; import hep.dataforge.exceptions.ControlException; import hep.dataforge.exceptions.MeasurementException; -import hep.dataforge.fx.fragments.ConsoleFragment; import hep.dataforge.fx.fragments.FragmentWindow; +import hep.dataforge.fx.fragments.LogFragment; import hep.dataforge.values.Value; import javafx.application.Platform; import javafx.event.ActionEvent; @@ -29,7 +29,7 @@ import java.util.ResourceBundle; public class PKT8Controller implements Initializable, DeviceListener, MeasurementListener { private final PKT8Device device; - private ConsoleFragment consoleFragment; + private LogFragment logFragment; private PKT8PlotFragment plotFragment; @FXML private ToggleButton startStopButton; @@ -59,11 +59,11 @@ public class PKT8Controller implements Initializable, DeviceListener, Measuremen @Override public void initialize(URL location, ResourceBundle resources) { - this.consoleFragment = new ConsoleFragment(); - consoleFragment.addLogHandler(device.getContext().getLogger()); + this.logFragment = new LogFragment(); + logFragment.addLogHandler(device.getContext().getLogger()); //TODO to be removed later - consoleFragment.hookStd(); - new FragmentWindow(consoleFragment).bindTo(consoleButton); + logFragment.hookStd(); + new FragmentWindow(logFragment).bindTo(consoleButton); plotFragment = new PKT8PlotFragment(device); new FragmentWindow(plotFragment).bindTo(plotButton); diff --git a/numass-control/msp/build.gradle b/numass-control/msp/build.gradle index 03d17a92..408cc306 100644 --- a/numass-control/msp/build.gradle +++ b/numass-control/msp/build.gradle @@ -9,8 +9,5 @@ mainClassName = mainClass dependencies { - compile project(':numass-storage:numass-client') - compile project(':dataforge-plots:plots-jfc') - compile project(':dataforge-fx') - compile project(':dataforge-control') + compile project(':numass-control') } \ No newline at end of file diff --git a/numass-control/msp/src/main/java/inr/numass/control/msp/fx/MspViewController.java b/numass-control/msp/src/main/java/inr/numass/control/msp/fx/MspViewController.java index 8e6a51ee..a60aab88 100644 --- a/numass-control/msp/src/main/java/inr/numass/control/msp/fx/MspViewController.java +++ b/numass-control/msp/src/main/java/inr/numass/control/msp/fx/MspViewController.java @@ -22,8 +22,8 @@ import hep.dataforge.control.connections.StorageConnection; import hep.dataforge.exceptions.ControlException; import hep.dataforge.exceptions.PortException; import hep.dataforge.exceptions.StorageException; -import hep.dataforge.fx.fragments.ConsoleFragment; import hep.dataforge.fx.fragments.FragmentWindow; +import hep.dataforge.fx.fragments.LogFragment; import hep.dataforge.io.MetaFileReader; import hep.dataforge.meta.ConfigChangeListener; import hep.dataforge.meta.Configuration; @@ -84,7 +84,7 @@ public class MspViewController implements Initializable, MspListener { private MspDevice device; private Configuration viewConfig; private JFreeChartFrame plot; - private ConsoleFragment logArea; + private LogFragment logArea; private StorageConnection connection; @FXML private Slider autoRangeSlider; @@ -124,7 +124,7 @@ public class MspViewController implements Initializable, MspListener { */ @Override public void initialize(URL url, ResourceBundle rb) { - logArea = new ConsoleFragment(); + logArea = new LogFragment(); new FragmentWindow(logArea).bindTo(consoleButton); fillamentSelector.setItems(FXCollections.observableArrayList(1, 2)); fillamentSelector.setConverter(new StringConverter() { diff --git a/numass-control/src/main/java/inr/numass/control/DeviceFragment.java b/numass-control/src/main/java/inr/numass/control/DeviceFragment.java new file mode 100644 index 00000000..7a0f14c8 --- /dev/null +++ b/numass-control/src/main/java/inr/numass/control/DeviceFragment.java @@ -0,0 +1,31 @@ +package inr.numass.control; + +import hep.dataforge.control.devices.Device; +import hep.dataforge.control.devices.DeviceListener; +import hep.dataforge.fx.fragments.Fragment; +import javafx.scene.Parent; + +/** + * Created by darksnake on 20-Oct-16. + */ +public abstract class DeviceFragment extends Fragment implements DeviceListener { + + private final T device; + + protected DeviceFragment(T device) { + this.device = device; + } + + @Override + protected Parent buildRoot() { + return buildRoot(device); + } + + protected abstract Parent buildRoot(T device); + + + @Override + public void evaluateDeviceException(Device device, String message, Throwable exception) { + //do something pretty + } +} diff --git a/numass-control/src/main/java/inr/numass/control/Framework.java b/numass-control/src/main/java/inr/numass/control/Framework.java new file mode 100644 index 00000000..43a756dd --- /dev/null +++ b/numass-control/src/main/java/inr/numass/control/Framework.java @@ -0,0 +1,16 @@ +package inr.numass.control; + +import hep.dataforge.control.devices.Device; +import hep.dataforge.fx.fragments.Fragment; +import hep.dataforge.fx.fragments.LogFragment; +import hep.dataforge.utils.MetaFactory; + +/** + * Created by darksnake on 20-Oct-16. + */ +public interface Framework { + LogFragment getLogFragment(); + Fragment getPlotFragment(); + DeviceFragment getDeviceFragment(); + MetaFactory getDeviceFactory(); +} diff --git a/numass-control/vac/build.gradle b/numass-control/vac/build.gradle index c1b8daa0..4625f5f1 100644 --- a/numass-control/vac/build.gradle +++ b/numass-control/vac/build.gradle @@ -7,16 +7,6 @@ if (!hasProperty('mainClass')) { } mainClassName = mainClass -configurations { - compile.exclude module: 'groovy' - compile.exclude module: 'groovy-all' - compile.exclude module: 'shichimifx' - compile.exclude module: 'zt-zip' -} - dependencies { - compile project(':numass-storage:numass-client') - compile project(':dataforge-plots:plots-jfc') - compile project(':dataforge-control') - compile project(':dataforge-fx') + compile project(':numass-control') } \ No newline at end of file diff --git a/numass-control/vac/src/main/java/inr/numass/readvac/fx/VacCollectorController.java b/numass-control/vac/src/main/java/inr/numass/readvac/fx/VacCollectorController.java index 6b9d54b7..184bf4cd 100644 --- a/numass-control/vac/src/main/java/inr/numass/readvac/fx/VacCollectorController.java +++ b/numass-control/vac/src/main/java/inr/numass/readvac/fx/VacCollectorController.java @@ -14,8 +14,8 @@ import hep.dataforge.control.measurements.MeasurementListener; import hep.dataforge.control.measurements.Sensor; import hep.dataforge.exceptions.ControlException; import hep.dataforge.exceptions.MeasurementException; -import hep.dataforge.fx.fragments.ConsoleFragment; import hep.dataforge.fx.fragments.FragmentWindow; +import hep.dataforge.fx.fragments.LogFragment; import hep.dataforge.meta.Meta; import hep.dataforge.meta.MetaBuilder; import hep.dataforge.plots.data.TimePlottable; @@ -71,7 +71,7 @@ public class VacCollectorController implements Initializable, DeviceListener, Me private final String[] intervalNames = {"1 sec", "5 sec", "10 sec", "30 sec", "1 min"}; private final int[] intervals = {1000, 5000, 10000, 30000, 60000}; private final List views = new ArrayList<>(); - private ConsoleFragment consoleWindow; + private LogFragment consoleWindow; private Logger logger; private LoaderConnection storageConnection; private VacCollectorDevice device; @@ -111,7 +111,7 @@ public class VacCollectorController implements Initializable, DeviceListener, Me } }); - consoleWindow = new ConsoleFragment(); + consoleWindow = new LogFragment(); new FragmentWindow(consoleWindow).bindTo(logButton); consoleWindow.hookStd(); } diff --git a/numass-main/src/main/java/inr/numass/workbench/NumassWorkbenchController.java b/numass-main/src/main/java/inr/numass/workbench/NumassWorkbenchController.java index f49ff255..f0a8586b 100644 --- a/numass-main/src/main/java/inr/numass/workbench/NumassWorkbenchController.java +++ b/numass-main/src/main/java/inr/numass/workbench/NumassWorkbenchController.java @@ -19,8 +19,8 @@ import hep.dataforge.exceptions.NameNotFoundException; import hep.dataforge.fx.FXDataOutputPane; import hep.dataforge.fx.FXReportListener; import hep.dataforge.fx.configuration.MetaEditor; -import hep.dataforge.fx.fragments.ConsoleFragment; import hep.dataforge.fx.fragments.FragmentWindow; +import hep.dataforge.fx.fragments.LogFragment; import hep.dataforge.fx.work.WorkManagerFragment; import hep.dataforge.io.IOManager; import hep.dataforge.io.MetaFileReader; @@ -117,7 +117,7 @@ public class NumassWorkbenchController implements Initializable, StagePaneHolder logPane = new FXDataOutputPane(); logTab.setContent(logPane.getRoot()); - ConsoleFragment consoleWindow = new ConsoleFragment(); + LogFragment consoleWindow = new LogFragment(); new FragmentWindow(consoleWindow).bindTo(consoleButton); consoleWindow.addRootLogHandler(); consoleWindow.hookStd(); diff --git a/numass-storage/build.gradle b/numass-storage/build.gradle index 50c93d01..764c6213 100644 --- a/numass-storage/build.gradle +++ b/numass-storage/build.gradle @@ -1,5 +1,4 @@ dependencies { compile project(':dataforge-storage') - compile project(':dataforge-grind') } diff --git a/numass-storage/numass-client/build.gradle b/numass-storage/numass-client/build.gradle index 7810a2e7..b0307601 100644 --- a/numass-storage/numass-client/build.gradle +++ b/numass-storage/numass-client/build.gradle @@ -21,5 +21,4 @@ dependencies { compile project(':numass-storage') compile 'commons-cli:commons-cli:1.3.1' compile 'org.zeroturnaround:zt-zip:1.9' - compile project(':dataforge-grind') } \ No newline at end of file diff --git a/numass-viewer/src/main/java/inr/numass/viewer/MainViewerController.java b/numass-viewer/src/main/java/inr/numass/viewer/MainViewerController.java index f6331b08..0babe78d 100644 --- a/numass-viewer/src/main/java/inr/numass/viewer/MainViewerController.java +++ b/numass-viewer/src/main/java/inr/numass/viewer/MainViewerController.java @@ -19,8 +19,8 @@ import hep.dataforge.computation.ProgressCallback; import hep.dataforge.context.Context; import hep.dataforge.context.GlobalContext; import hep.dataforge.exceptions.StorageException; -import hep.dataforge.fx.fragments.ConsoleFragment; import hep.dataforge.fx.fragments.FragmentWindow; +import hep.dataforge.fx.fragments.LogFragment; import hep.dataforge.fx.work.WorkManagerFragment; import inr.numass.NumassProperties; import inr.numass.storage.NumassData; @@ -101,9 +101,9 @@ public class MainViewerController implements Initializable { */ @Override public void initialize(URL url, ResourceBundle rb) { - ConsoleFragment consoleFragment = new ConsoleFragment(); - consoleFragment.hookStd(); - new FragmentWindow(consoleFragment).bindTo(consoleButton); + LogFragment logFragment = new LogFragment(); + logFragment.hookStd(); + new FragmentWindow(logFragment).bindTo(consoleButton); new FragmentWindow(WorkManagerFragment.attachToContext(GlobalContext.instance())).bindTo(processManagerButton); mspController = new MspViewController(getContext());