Separated FX fragments from FX windows
This commit is contained in:
parent
f9f605bde0
commit
6953869c87
@ -8,8 +8,8 @@ mainClassName = mainClass
|
|||||||
//mainClassName = "inr.numass.readvac.Main"
|
//mainClassName = "inr.numass.readvac.Main"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'commons-cli:commons-cli:1.3'
|
// compile 'commons-cli:commons-cli:1.3'
|
||||||
compile 'de.jensd:shichimifx:1.0.5'
|
// compile 'de.jensd:shichimifx:1.0.5'
|
||||||
compile project(':dataforge-control')
|
compile project(':dataforge-control')
|
||||||
compile project(':dataforge-storage')
|
compile project(':dataforge-storage')
|
||||||
compile project(':dataforge-plots:plots-jfc')
|
compile project(':dataforge-plots:plots-jfc')
|
||||||
|
@ -19,9 +19,11 @@ import ch.qos.logback.classic.Level;
|
|||||||
import hep.dataforge.control.connections.Roles;
|
import hep.dataforge.control.connections.Roles;
|
||||||
import hep.dataforge.control.connections.StorageConnection;
|
import hep.dataforge.control.connections.StorageConnection;
|
||||||
import hep.dataforge.exceptions.ControlException;
|
import hep.dataforge.exceptions.ControlException;
|
||||||
|
import hep.dataforge.exceptions.StorageException;
|
||||||
import hep.dataforge.io.MetaFileReader;
|
import hep.dataforge.io.MetaFileReader;
|
||||||
import hep.dataforge.meta.Meta;
|
import hep.dataforge.meta.Meta;
|
||||||
import hep.dataforge.meta.MetaUtils;
|
import hep.dataforge.meta.MetaUtils;
|
||||||
|
import hep.dataforge.storage.api.Storage;
|
||||||
import hep.dataforge.storage.commons.StorageFactory;
|
import hep.dataforge.storage.commons.StorageFactory;
|
||||||
import hep.dataforge.storage.commons.StorageManager;
|
import hep.dataforge.storage.commons.StorageManager;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
@ -95,7 +97,15 @@ public class PKT8App extends Application {
|
|||||||
// setting up storage connections
|
// setting up storage connections
|
||||||
if (config.hasNode("storage")) {
|
if (config.hasNode("storage")) {
|
||||||
config.getNodes("storage").forEach(node -> {
|
config.getNodes("storage").forEach(node -> {
|
||||||
device.connect(new StorageConnection(StorageFactory.buildStorage(device.getContext(), node)), Roles.STORAGE_ROLE);
|
Storage storage = StorageFactory.buildStorage(device.getContext(), node);
|
||||||
|
if(config.hasValue("numass.run")){
|
||||||
|
try {
|
||||||
|
storage = storage.buildShelf(config.getString("numass.run"), Meta.empty());
|
||||||
|
} catch (StorageException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
device.connect(new StorageConnection(storage), Roles.STORAGE_ROLE);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,8 @@ import hep.dataforge.control.measurements.Measurement;
|
|||||||
import hep.dataforge.control.measurements.MeasurementListener;
|
import hep.dataforge.control.measurements.MeasurementListener;
|
||||||
import hep.dataforge.exceptions.ControlException;
|
import hep.dataforge.exceptions.ControlException;
|
||||||
import hep.dataforge.exceptions.MeasurementException;
|
import hep.dataforge.exceptions.MeasurementException;
|
||||||
import hep.dataforge.fx.ConsoleFragment;
|
import hep.dataforge.fx.fragments.ConsoleFragment;
|
||||||
|
import hep.dataforge.fx.fragments.FragmentWindow;
|
||||||
import hep.dataforge.values.Value;
|
import hep.dataforge.values.Value;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
@ -59,9 +60,9 @@ public class PKT8Controller implements Initializable, DeviceListener, Measuremen
|
|||||||
@Override
|
@Override
|
||||||
public void initialize(URL location, ResourceBundle resources) {
|
public void initialize(URL location, ResourceBundle resources) {
|
||||||
this.consoleFragment = new ConsoleFragment();
|
this.consoleFragment = new ConsoleFragment();
|
||||||
consoleFragment.bindTo(consoleButton);
|
new FragmentWindow(consoleFragment).bindTo(consoleButton);
|
||||||
plotFragment = new PKT8PlotFragment(device);
|
plotFragment = new PKT8PlotFragment(device);
|
||||||
plotFragment.bindTo(plotButton);
|
new FragmentWindow(plotFragment).bindTo(plotButton);
|
||||||
|
|
||||||
sensorColumn.setCellValueFactory(new PropertyValueFactory<>("channel"));
|
sensorColumn.setCellValueFactory(new PropertyValueFactory<>("channel"));
|
||||||
resColumn.setCellValueFactory(new PropertyValueFactory<>("rawString"));
|
resColumn.setCellValueFactory(new PropertyValueFactory<>("rawString"));
|
||||||
|
@ -1,47 +1,34 @@
|
|||||||
package inr.numass.cryotemp;
|
package inr.numass.cryotemp;
|
||||||
|
|
||||||
import hep.dataforge.fx.FXFragment;
|
import hep.dataforge.fx.fragments.Fragment;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.Scene;
|
|
||||||
import javafx.stage.Stage;
|
|
||||||
import javafx.stage.Window;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by darksnake on 07-Oct-16.
|
* Created by darksnake on 07-Oct-16.
|
||||||
*/
|
*/
|
||||||
public class PKT8PlotFragment extends FXFragment {
|
public class PKT8PlotFragment extends Fragment {
|
||||||
private final PKT8Device device;
|
private final PKT8Device device;
|
||||||
private PKT8PlotController plotController;
|
private PKT8PlotController plotController;
|
||||||
|
|
||||||
public PKT8PlotFragment(PKT8Device device) {
|
public PKT8PlotFragment(PKT8Device device) {
|
||||||
|
super("PKT8 cryogenic temperature viewer", 600, 400);
|
||||||
this.device = device;
|
this.device = device;
|
||||||
}
|
showingProperty().addListener((observable, oldValue, newValue) -> {
|
||||||
|
if (device.isMeasuring()) {
|
||||||
public PKT8PlotFragment(Window window, PKT8Device device) {
|
if (newValue) {
|
||||||
super(window);
|
device.getMeasurement().addListener(plotController);
|
||||||
this.device = device;
|
} else {
|
||||||
|
device.getMeasurement().removeListener(plotController);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Stage buildStage(Parent root) {
|
protected Parent buildRoot() {
|
||||||
Stage stage = new Stage();
|
|
||||||
Scene scene = new Scene(root, 600, 400);
|
|
||||||
|
|
||||||
|
|
||||||
stage.setTitle("PKT8 cryogenic temperature viewer");
|
|
||||||
stage.setScene(scene);
|
|
||||||
stage.setMinHeight(400);
|
|
||||||
stage.setMinWidth(600);
|
|
||||||
stage.sizeToScene();
|
|
||||||
|
|
||||||
return stage;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Parent getRoot() {
|
|
||||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/PKT8Plot.fxml"));
|
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/PKT8Plot.fxml"));
|
||||||
plotController = new PKT8PlotController(device);
|
plotController = new PKT8PlotController(device);
|
||||||
loader.setController(plotController);
|
loader.setController(plotController);
|
||||||
@ -51,20 +38,4 @@ public class PKT8PlotFragment extends FXFragment {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onShow() {
|
|
||||||
super.onShow();
|
|
||||||
if (device.isMeasuring()) {
|
|
||||||
device.getMeasurement().addListener(plotController);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onHide() {
|
|
||||||
super.onHide();
|
|
||||||
if (device.isMeasuring()) {
|
|
||||||
device.getMeasurement().removeListener(plotController);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,8 @@ import hep.dataforge.control.connections.StorageConnection;
|
|||||||
import hep.dataforge.exceptions.ControlException;
|
import hep.dataforge.exceptions.ControlException;
|
||||||
import hep.dataforge.exceptions.PortException;
|
import hep.dataforge.exceptions.PortException;
|
||||||
import hep.dataforge.exceptions.StorageException;
|
import hep.dataforge.exceptions.StorageException;
|
||||||
import hep.dataforge.fx.ConsoleFragment;
|
import hep.dataforge.fx.fragments.ConsoleFragment;
|
||||||
|
import hep.dataforge.fx.fragments.FragmentWindow;
|
||||||
import hep.dataforge.io.MetaFileReader;
|
import hep.dataforge.io.MetaFileReader;
|
||||||
import hep.dataforge.meta.ConfigChangeListener;
|
import hep.dataforge.meta.ConfigChangeListener;
|
||||||
import hep.dataforge.meta.Configuration;
|
import hep.dataforge.meta.Configuration;
|
||||||
@ -124,7 +125,7 @@ public class MspViewController implements Initializable, MspListener {
|
|||||||
@Override
|
@Override
|
||||||
public void initialize(URL url, ResourceBundle rb) {
|
public void initialize(URL url, ResourceBundle rb) {
|
||||||
logArea = new ConsoleFragment();
|
logArea = new ConsoleFragment();
|
||||||
logArea.bindTo(consoleButton);
|
new FragmentWindow(logArea).bindTo(consoleButton);
|
||||||
fillamentSelector.setItems(FXCollections.observableArrayList(1, 2));
|
fillamentSelector.setItems(FXCollections.observableArrayList(1, 2));
|
||||||
fillamentSelector.setConverter(new StringConverter<Integer>() {
|
fillamentSelector.setConverter(new StringConverter<Integer>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -14,7 +14,8 @@ import hep.dataforge.control.measurements.MeasurementListener;
|
|||||||
import hep.dataforge.control.measurements.Sensor;
|
import hep.dataforge.control.measurements.Sensor;
|
||||||
import hep.dataforge.exceptions.ControlException;
|
import hep.dataforge.exceptions.ControlException;
|
||||||
import hep.dataforge.exceptions.MeasurementException;
|
import hep.dataforge.exceptions.MeasurementException;
|
||||||
import hep.dataforge.fx.ConsoleFragment;
|
import hep.dataforge.fx.fragments.ConsoleFragment;
|
||||||
|
import hep.dataforge.fx.fragments.FragmentWindow;
|
||||||
import hep.dataforge.meta.Meta;
|
import hep.dataforge.meta.Meta;
|
||||||
import hep.dataforge.meta.MetaBuilder;
|
import hep.dataforge.meta.MetaBuilder;
|
||||||
import hep.dataforge.plots.data.TimePlottable;
|
import hep.dataforge.plots.data.TimePlottable;
|
||||||
@ -111,7 +112,7 @@ public class VacCollectorController implements Initializable, DeviceListener, Me
|
|||||||
});
|
});
|
||||||
|
|
||||||
consoleWindow = new ConsoleFragment();
|
consoleWindow = new ConsoleFragment();
|
||||||
consoleWindow.bindTo(logButton);
|
new FragmentWindow(consoleWindow).bindTo(logButton);
|
||||||
consoleWindow.hookStd();
|
consoleWindow.hookStd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,10 +16,11 @@ import hep.dataforge.data.FileDataFactory;
|
|||||||
import hep.dataforge.description.ActionDescriptor;
|
import hep.dataforge.description.ActionDescriptor;
|
||||||
import hep.dataforge.description.DescriptorUtils;
|
import hep.dataforge.description.DescriptorUtils;
|
||||||
import hep.dataforge.exceptions.NameNotFoundException;
|
import hep.dataforge.exceptions.NameNotFoundException;
|
||||||
import hep.dataforge.fx.ConsoleFragment;
|
|
||||||
import hep.dataforge.fx.FXDataOutputPane;
|
import hep.dataforge.fx.FXDataOutputPane;
|
||||||
import hep.dataforge.fx.FXReportListener;
|
import hep.dataforge.fx.FXReportListener;
|
||||||
import hep.dataforge.fx.configuration.MetaEditor;
|
import hep.dataforge.fx.configuration.MetaEditor;
|
||||||
|
import hep.dataforge.fx.fragments.ConsoleFragment;
|
||||||
|
import hep.dataforge.fx.fragments.FragmentWindow;
|
||||||
import hep.dataforge.fx.work.WorkManagerFragment;
|
import hep.dataforge.fx.work.WorkManagerFragment;
|
||||||
import hep.dataforge.io.IOManager;
|
import hep.dataforge.io.IOManager;
|
||||||
import hep.dataforge.io.MetaFileReader;
|
import hep.dataforge.io.MetaFileReader;
|
||||||
@ -117,12 +118,12 @@ public class NumassWorkbenchController implements Initializable, StagePaneHolder
|
|||||||
logTab.setContent(logPane.getRoot());
|
logTab.setContent(logPane.getRoot());
|
||||||
|
|
||||||
ConsoleFragment consoleWindow = new ConsoleFragment();
|
ConsoleFragment consoleWindow = new ConsoleFragment();
|
||||||
consoleWindow.bindTo(consoleButton);
|
new FragmentWindow(consoleWindow).bindTo(consoleButton);
|
||||||
consoleWindow.addRootLogHandler();
|
consoleWindow.addRootLogHandler();
|
||||||
consoleWindow.hookStd();
|
consoleWindow.hookStd();
|
||||||
|
|
||||||
processWindow = new WorkManagerFragment();
|
processWindow = new WorkManagerFragment();
|
||||||
processWindow.bindTo(processButton);
|
new FragmentWindow(processWindow).bindTo(processButton);
|
||||||
|
|
||||||
isRunning.addListener((ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> {
|
isRunning.addListener((ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> {
|
||||||
runButton.setSelected(newValue);
|
runButton.setSelected(newValue);
|
||||||
|
@ -6,23 +6,15 @@
|
|||||||
|
|
||||||
package inr.numass.scripts
|
package inr.numass.scripts
|
||||||
|
|
||||||
import hep.dataforge.io.MetaStreamReader
|
|
||||||
import hep.dataforge.io.MetaStreamWriter
|
import hep.dataforge.io.MetaStreamWriter
|
||||||
import hep.dataforge.io.envelopes.Envelope
|
import hep.dataforge.io.envelopes.Envelope
|
||||||
import hep.dataforge.io.envelopes.EnvelopeBuilder
|
|
||||||
import hep.dataforge.meta.Meta
|
import hep.dataforge.meta.Meta
|
||||||
import hep.dataforge.meta.MetaBuilder
|
import hep.dataforge.meta.MetaBuilder
|
||||||
import hep.dataforge.storage.commons.JSONMetaWriter
|
import hep.dataforge.storage.commons.JSONMetaWriter
|
||||||
import hep.dataforge.storage.commons.StorageManager
|
|
||||||
import java.io.RandomAccessFile;
|
|
||||||
import java.nio.ByteBuffer
|
|
||||||
import inr.numass.client.NumassClient
|
|
||||||
import java.nio.MappedByteBuffer
|
|
||||||
import java.nio.channels.FileChannel
|
|
||||||
import hep.dataforge.storage.commons.LoaderFactory
|
import hep.dataforge.storage.commons.LoaderFactory
|
||||||
import hep.dataforge.meta.MetaBuilder
|
import hep.dataforge.storage.commons.StorageManager
|
||||||
import hep.dataforge.tables.MapPoint
|
import hep.dataforge.tables.MapPoint
|
||||||
|
import inr.numass.client.NumassClient
|
||||||
|
|
||||||
new StorageManager().startGlobal();
|
new StorageManager().startGlobal();
|
||||||
|
|
||||||
@ -57,7 +49,7 @@ new NumassClient("127.0.0.1",8335).withCloseable{
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
|
||||||
def response = it.sendAndRecieve(bin);
|
def response = it.respond(bin);
|
||||||
|
|
||||||
println parser.writeString(response.meta());
|
println parser.writeString(response.meta());
|
||||||
|
|
||||||
|
@ -8,19 +8,15 @@ package inr.numass.client;
|
|||||||
import hep.dataforge.meta.Meta;
|
import hep.dataforge.meta.Meta;
|
||||||
import hep.dataforge.storage.commons.StorageManager;
|
import hep.dataforge.storage.commons.StorageManager;
|
||||||
import hep.dataforge.values.Value;
|
import hep.dataforge.values.Value;
|
||||||
|
import org.apache.commons.cli.*;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.apache.commons.cli.CommandLine;
|
|
||||||
import org.apache.commons.cli.CommandLineParser;
|
|
||||||
import org.apache.commons.cli.DefaultParser;
|
|
||||||
import org.apache.commons.cli.Options;
|
|
||||||
import org.apache.commons.cli.ParseException;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author Alexander Nozik
|
* @author Alexander Nozik
|
||||||
*/
|
*/
|
||||||
public class Cli {
|
public class Cli {
|
||||||
@ -137,8 +133,8 @@ public class Cli {
|
|||||||
private static Options buildOptions() {
|
private static Options buildOptions() {
|
||||||
Options options = new Options();
|
Options options = new Options();
|
||||||
|
|
||||||
options.addOption("a", true, "IP address of the server. Default: 192.168.111.1");
|
options.addOption("a", "ip", true, "IP address of the server. Default: 192.168.111.1");
|
||||||
options.addOption("p", true, "Server port. Default: 8335");
|
options.addOption("p", "port", true, "Server port. Default: 8335");
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
@ -15,22 +15,17 @@
|
|||||||
*/
|
*/
|
||||||
package inr.numass.client;
|
package inr.numass.client;
|
||||||
|
|
||||||
import hep.dataforge.io.envelopes.DefaultEnvelopeReader;
|
import hep.dataforge.io.envelopes.*;
|
||||||
import hep.dataforge.io.envelopes.DefaultEnvelopeWriter;
|
|
||||||
import hep.dataforge.io.envelopes.Envelope;
|
|
||||||
import hep.dataforge.io.envelopes.EnvelopeBuilder;
|
|
||||||
import hep.dataforge.meta.Meta;
|
import hep.dataforge.meta.Meta;
|
||||||
import hep.dataforge.meta.MetaBuilder;
|
import hep.dataforge.meta.MetaBuilder;
|
||||||
import hep.dataforge.storage.commons.MessageFactory;
|
import hep.dataforge.storage.commons.MessageFactory;
|
||||||
import hep.dataforge.storage.commons.StorageUtils;
|
import hep.dataforge.storage.commons.StorageUtils;
|
||||||
import hep.dataforge.values.Value;
|
import hep.dataforge.values.Value;
|
||||||
import inr.numass.storage.NumassStorage;
|
import inr.numass.storage.NumassStorage;
|
||||||
import java.io.Closeable;
|
import org.slf4j.LoggerFactory;
|
||||||
import java.io.File;
|
import org.zeroturnaround.zip.ZipUtil;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.IOException;
|
import java.io.*;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileChannel;
|
||||||
@ -39,14 +34,11 @@ import java.time.Instant;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.zeroturnaround.zip.ZipUtil;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author darksnake
|
* @author darksnake
|
||||||
*/
|
*/
|
||||||
public class NumassClient extends MessageFactory implements Closeable {
|
public class NumassClient extends MessageFactory implements AutoCloseable, Responder {
|
||||||
|
|
||||||
Socket socket;
|
Socket socket;
|
||||||
|
|
||||||
@ -63,7 +55,8 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
socket.close();
|
socket.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Envelope sendAndRecieve(Envelope message) {
|
@Override
|
||||||
|
public Envelope respond(Envelope message) {
|
||||||
try {
|
try {
|
||||||
write(message, socket.getOutputStream());
|
write(message, socket.getOutputStream());
|
||||||
return read(socket.getInputStream());
|
return read(socket.getInputStream());
|
||||||
@ -87,17 +80,17 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Meta getCurrentRun() {
|
public Meta getCurrentRun() {
|
||||||
return sendAndRecieve(requestActionBase("numass.run", "get").build()).meta();
|
return respond(requestActionBase("numass.run", "get").build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Meta startRun(String name) {
|
public Meta startRun(String name) {
|
||||||
return sendAndRecieve(requestActionBase("numass.run", "start")
|
return respond(requestActionBase("numass.run", "start")
|
||||||
.putMetaValue("path", name)
|
.putMetaValue("path", name)
|
||||||
.build()).meta();
|
.build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Meta resetRun() {
|
public Meta resetRun() {
|
||||||
return sendAndRecieve(requestActionBase("numass.run", "reset")
|
return respond(requestActionBase("numass.run", "reset")
|
||||||
.build()).meta();
|
.build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,7 +125,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
.setData(buffer)
|
.setData(buffer)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return sendAndRecieve(bin).meta();
|
return respond(bin).meta();
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
return StorageUtils.getErrorMeta(ex);
|
return StorageUtils.getErrorMeta(ex);
|
||||||
}
|
}
|
||||||
@ -142,7 +135,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
* Get state map for given state names from the root state loader. If
|
* Get state map for given state names from the root state loader. If
|
||||||
* stateNames is empty, return all states.
|
* stateNames is empty, return all states.
|
||||||
*
|
*
|
||||||
* @param stateName
|
* @param stateNames
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Map<String, Value> getStates(String... stateNames) {
|
public Map<String, Value> getStates(String... stateNames) {
|
||||||
@ -152,7 +145,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
env.putMetaValue("name", Arrays.asList(stateNames));
|
env.putMetaValue("name", Arrays.asList(stateNames));
|
||||||
}
|
}
|
||||||
|
|
||||||
Meta response = sendAndRecieve(env.build()).meta();
|
Meta response = respond(env.build()).meta();
|
||||||
if (response.getBoolean("success", true)) {
|
if (response.getBoolean("success", true)) {
|
||||||
Map<String, Value> res = new HashMap<>();
|
Map<String, Value> res = new HashMap<>();
|
||||||
response.getNodes("state").stream().forEach((stateMeta) -> {
|
response.getNodes("state").stream().forEach((stateMeta) -> {
|
||||||
@ -178,7 +171,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
.setValue("value", value)
|
.setValue("value", value)
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
return sendAndRecieve(env.build()).meta();
|
return respond(env.build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -195,7 +188,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
.setValue("value", state.getValue())
|
.setValue("value", state.getValue())
|
||||||
.build());
|
.build());
|
||||||
});
|
});
|
||||||
return sendAndRecieve(env.build()).meta();
|
return respond(env.build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Meta addNote(String text, Instant time) {
|
public Meta addNote(String text, Instant time) {
|
||||||
@ -204,7 +197,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
if (time != null) {
|
if (time != null) {
|
||||||
env.putMetaValue("note.time", time);
|
env.putMetaValue("note.time", time);
|
||||||
}
|
}
|
||||||
return sendAndRecieve(env.build()).meta();
|
return respond(env.build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Meta getNotes(int limit) {
|
public Meta getNotes(int limit) {
|
||||||
@ -212,7 +205,7 @@ public class NumassClient extends MessageFactory implements Closeable {
|
|||||||
if (limit > 0) {
|
if (limit > 0) {
|
||||||
env.putMetaValue("limit", limit);
|
env.putMetaValue("limit", limit);
|
||||||
}
|
}
|
||||||
return sendAndRecieve(env.build()).meta();
|
return respond(env.build()).meta();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,50 @@
|
|||||||
|
package inr.numass.client;
|
||||||
|
|
||||||
|
import hep.dataforge.exceptions.StorageException;
|
||||||
|
import hep.dataforge.meta.Meta;
|
||||||
|
import hep.dataforge.storage.api.Loader;
|
||||||
|
import hep.dataforge.storage.api.Storage;
|
||||||
|
import hep.dataforge.storage.commons.AbstractStorage;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by darksnake on 09-Oct-16.
|
||||||
|
*/
|
||||||
|
public class RemoteNumassStorage extends AbstractStorage {
|
||||||
|
private NumassClient client;
|
||||||
|
|
||||||
|
|
||||||
|
private RemoteNumassStorage(Storage parent, String name, Meta annotation) {
|
||||||
|
super(parent, name, annotation);
|
||||||
|
}
|
||||||
|
|
||||||
|
public RemoteNumassStorage(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getIP() {
|
||||||
|
return meta().getString("numass.server.ip", "192.168.111.1");
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getPort() {
|
||||||
|
return meta().getInt("numass.server.port", 8335);
|
||||||
|
}
|
||||||
|
|
||||||
|
private NumassClient getClient() throws IOException {
|
||||||
|
if (client == null) {
|
||||||
|
client = new NumassClient(getIP(), getPort());
|
||||||
|
}
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Loader buildLoader(Meta loaderConfiguration) throws StorageException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Storage buildShelf(String shelfName, Meta shelfConfiguration) throws StorageException {
|
||||||
|
return new RemoteNumassStorage(this, shelfName, shelfConfiguration);
|
||||||
|
}
|
||||||
|
}
|
@ -19,7 +19,8 @@ import hep.dataforge.computation.ProgressCallback;
|
|||||||
import hep.dataforge.context.Context;
|
import hep.dataforge.context.Context;
|
||||||
import hep.dataforge.context.GlobalContext;
|
import hep.dataforge.context.GlobalContext;
|
||||||
import hep.dataforge.exceptions.StorageException;
|
import hep.dataforge.exceptions.StorageException;
|
||||||
import hep.dataforge.fx.ConsoleFragment;
|
import hep.dataforge.fx.fragments.ConsoleFragment;
|
||||||
|
import hep.dataforge.fx.fragments.FragmentWindow;
|
||||||
import hep.dataforge.fx.work.WorkManagerFragment;
|
import hep.dataforge.fx.work.WorkManagerFragment;
|
||||||
import inr.numass.NumassProperties;
|
import inr.numass.NumassProperties;
|
||||||
import inr.numass.storage.NumassData;
|
import inr.numass.storage.NumassData;
|
||||||
@ -102,8 +103,8 @@ public class MainViewerController implements Initializable {
|
|||||||
public void initialize(URL url, ResourceBundle rb) {
|
public void initialize(URL url, ResourceBundle rb) {
|
||||||
ConsoleFragment consoleFragment = new ConsoleFragment();
|
ConsoleFragment consoleFragment = new ConsoleFragment();
|
||||||
consoleFragment.hookStd();
|
consoleFragment.hookStd();
|
||||||
consoleFragment.bindTo(consoleButton);
|
new FragmentWindow(consoleFragment).bindTo(consoleButton);
|
||||||
WorkManagerFragment.attachToContext(GlobalContext.instance()).bindTo(processManagerButton);
|
new FragmentWindow(WorkManagerFragment.attachToContext(GlobalContext.instance())).bindTo(processManagerButton);
|
||||||
|
|
||||||
mspController = new MspViewController(getContext());
|
mspController = new MspViewController(getContext());
|
||||||
this.mspTab.setContent(mspController.getRoot());
|
this.mspTab.setContent(mspController.getRoot());
|
||||||
|
Loading…
Reference in New Issue
Block a user