[no commit message]
This commit is contained in:
parent
441e8a1a3a
commit
61ca41e1d2
@ -1,7 +1,7 @@
|
||||
apply plugin: 'application'
|
||||
|
||||
if (!hasProperty('mainClass')) {
|
||||
ext.mainClass = 'inr.numass.client.NumassClient'
|
||||
ext.mainClass = 'inr.numass.client.Cli'
|
||||
}
|
||||
|
||||
mainClassName = mainClass
|
||||
|
@ -37,7 +37,7 @@ while(line == null || !line.startsWith("exit")){
|
||||
// print ">"
|
||||
line = br.readLine();
|
||||
if(line!= null && !line.startsWith("exit")){
|
||||
NumassClient.runComand("127.0.0.1", 8335, line.split(" "));
|
||||
Cli.runComand("127.0.0.1", 8335, line.split(" "));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,145 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package inr.numass.client;
|
||||
|
||||
import hep.dataforge.meta.Meta;
|
||||
import hep.dataforge.storage.commons.StorageManager;
|
||||
import hep.dataforge.values.Value;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
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
|
||||
*/
|
||||
public class Cli {
|
||||
|
||||
public static void main(String[] args) {
|
||||
new StorageManager().startGlobal();
|
||||
|
||||
Options options = buildOptions();
|
||||
|
||||
CommandLineParser parser = new DefaultParser();
|
||||
|
||||
CommandLine cli;
|
||||
try {
|
||||
cli = parser.parse(options, args, false);
|
||||
} catch (ParseException ex) {
|
||||
System.out.println("Error: command line");
|
||||
LoggerFactory.getLogger("NumassClient").error("Error while parsing command line", ex);
|
||||
System.exit(1);
|
||||
return;
|
||||
}
|
||||
|
||||
runComand(cli.getOptionValue("a", "192.168.11.1"), Integer.valueOf(cli.getOptionValue("p", "8335")), cli.getArgs());
|
||||
|
||||
}
|
||||
|
||||
public static void runComand(String ip, int port, String... args) {
|
||||
checkArgLength(1, args);
|
||||
try (NumassClient client = new NumassClient(ip, port)) {
|
||||
switch (args[0]) {
|
||||
case "getRun":
|
||||
Meta getRun = client.getCurrentRun();
|
||||
if (getRun.getBoolean("success", true)) {
|
||||
System.out.println(getRun.getString("run.path"));
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "setRun":
|
||||
checkArgLength(2, args);
|
||||
Meta setRun = client.startRun(args[1]);
|
||||
if (setRun.getBoolean("success", true)) {
|
||||
System.out.println(setRun.getString("run.path"));
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "getState":
|
||||
checkArgLength(2, args);
|
||||
String stateName = args[1];
|
||||
Map<String, Value> states = client.getStates(stateName);
|
||||
if (states != null) {
|
||||
System.out.println(states.get(stateName).stringValue());
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "setState":
|
||||
checkArgLength(3, args);
|
||||
String setStateName = args[1];
|
||||
String setStateValue = args[2];
|
||||
Meta setStateMeta = client.setState(setStateName, setStateValue);
|
||||
if (setStateMeta.getBoolean("success", true)) {
|
||||
System.out.println("OK");
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "pushPoint":
|
||||
checkArgLength(2, args);
|
||||
String path;
|
||||
String fileName;
|
||||
if (args.length == 2) {
|
||||
path = "";
|
||||
fileName = args[1];
|
||||
} else {
|
||||
path = args[1];
|
||||
fileName = args[2];
|
||||
}
|
||||
|
||||
Meta pushPoint = client.sendNumassData(path, fileName);
|
||||
// LoggerFactory.getLogger("Numass-client").debug(pushPoint.toString());
|
||||
if (pushPoint.getBoolean("success", true)) {
|
||||
System.out.println("OK");
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "addNote":
|
||||
// checkArgLength(2, args);
|
||||
// String note = args[1];
|
||||
String note = new BufferedReader(new InputStreamReader(System.in)).readLine();
|
||||
Meta addNote = client.addNote(note, null);
|
||||
if (addNote.getBoolean("success", true)) {
|
||||
System.out.println("OK");
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
}
|
||||
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Error: connection failed");
|
||||
LoggerFactory.getLogger("NumassClient").error("Error while initializing connection", ex);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void checkArgLength(int length, String... args) {
|
||||
if (args.length < length) {
|
||||
LoggerFactory.getLogger("NumassClient").error("Command line to short");
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static Options buildOptions() {
|
||||
Options options = new Options();
|
||||
|
||||
options.addOption("a", true, "IP address of the server. Default: 192.168.111.1");
|
||||
options.addOption("p", true, "Server port. Default: 8335");
|
||||
|
||||
return options;
|
||||
}
|
||||
}
|
@ -26,11 +26,14 @@ import hep.dataforge.storage.commons.StorageManager;
|
||||
import hep.dataforge.storage.commons.StorageUtils;
|
||||
import hep.dataforge.values.Value;
|
||||
import inr.numass.storage.NumassStorage;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.net.Socket;
|
||||
import java.nio.ByteBuffer;
|
||||
@ -221,120 +224,5 @@ public class NumassClient extends MessageFactory implements Closeable {
|
||||
return sendAndRecieve(env.build()).meta();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new StorageManager().startGlobal();
|
||||
|
||||
Options options = buildOptions();
|
||||
|
||||
CommandLineParser parser = new DefaultParser();
|
||||
|
||||
CommandLine cli;
|
||||
try {
|
||||
cli = parser.parse(options, args, false);
|
||||
} catch (ParseException ex) {
|
||||
System.out.println("Error: command line");
|
||||
LoggerFactory.getLogger("NumassClient").error("Error while parsing command line", ex);
|
||||
System.exit(1);
|
||||
return;
|
||||
}
|
||||
|
||||
runComand(cli.getOptionValue("a", "192.168.11.1"), Integer.valueOf(cli.getOptionValue("p", "8335")), cli.getArgs());
|
||||
|
||||
}
|
||||
|
||||
public static void runComand(String ip, int port, String... args) {
|
||||
checkArgLength(1, args);
|
||||
try (NumassClient client = new NumassClient(ip, port)) {
|
||||
switch (args[0]) {
|
||||
case "getRun":
|
||||
Meta getRun = client.getCurrentRun();
|
||||
if (getRun.getBoolean("success", true)) {
|
||||
System.out.println(getRun.getString("run.path"));
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "setRun":
|
||||
checkArgLength(2, args);
|
||||
Meta setRun = client.startRun(args[1]);
|
||||
if (setRun.getBoolean("success", true)) {
|
||||
System.out.println(setRun.getString("run.path"));
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "getState":
|
||||
checkArgLength(2, args);
|
||||
String stateName = args[1];
|
||||
Map<String, Value> states = client.getStates(stateName);
|
||||
if (states != null) {
|
||||
System.out.println(states.get(stateName).stringValue());
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "setState":
|
||||
checkArgLength(3, args);
|
||||
String setStateName = args[1];
|
||||
String setStateValue = args[2];
|
||||
Meta setStateMeta = client.setState(setStateName, setStateValue);
|
||||
if (setStateMeta.getBoolean("success", true)) {
|
||||
System.out.println("OK");
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "pushPoint":
|
||||
checkArgLength(2, args);
|
||||
String path;
|
||||
String fileName;
|
||||
if (args.length == 2) {
|
||||
path = "";
|
||||
fileName = args[1];
|
||||
} else {
|
||||
path = args[1];
|
||||
fileName = args[2];
|
||||
}
|
||||
|
||||
Meta pushPoint = client.sendNumassData(path, fileName);
|
||||
// LoggerFactory.getLogger("Numass-client").debug(pushPoint.toString());
|
||||
if (pushPoint.getBoolean("success", true)) {
|
||||
System.out.println("OK");
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
return;
|
||||
case "addNote":
|
||||
checkArgLength(2, args);
|
||||
String note = args[1];
|
||||
Meta addNote = client.addNote(note, null);
|
||||
if (addNote.getBoolean("success", true)) {
|
||||
System.out.println("OK");
|
||||
} else {
|
||||
System.out.println("Error: operaton failed");
|
||||
}
|
||||
}
|
||||
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Error: connection failed");
|
||||
LoggerFactory.getLogger("NumassClient").error("Error while initializing connection", ex);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void checkArgLength(int length, String... args) {
|
||||
if (args.length < length) {
|
||||
LoggerFactory.getLogger("NumassClient").error("Command line to short");
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
private static Options buildOptions() {
|
||||
Options options = new Options();
|
||||
|
||||
options.addOption("a", true, "IP address of the server. Default: 192.168.111.1");
|
||||
options.addOption("p", true, "Server port. Default: 8335");
|
||||
|
||||
return options;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user