Newer
Older
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
/**
* @author christophe
*
*/
public class SoundModemCli {
private Logger log = Logger.getLogger("AmsatLogger");
private String configurationfile = "defaultConfigFile.ini";
*/
private String generateRepository = "SoundModemOuput";
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
}
public String getConfigurationfile() {
return configurationfile;
}
public void setConfigurationfile(String configurationfile) {
this.configurationfile = configurationfile;
}
public String getGenerateRepository() {
return generateRepository;
}
public void setGenerateRepository(String generateRepository) {
this.generateRepository = generateRepository;
}
private static Options configParameters() {
final Option versionOption = Option.builder("V")
.longOpt("Version") //
.desc("Return application version")
.hasArg(false)
.required(false)
.build();
final Option configFileOption = Option.builder("C")
.longOpt("Config") //
.desc("Return application version")
.hasArg(true)
.argName("configFile")
.required(false)
.build();
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
final Option generateFileOption = Option.builder("G")
.longOpt("Generate") //
.desc("generate binary file for each frame received")
.hasArg(true)
.argName("GenerateRepository")
.required(false)
.build();
final Option helpFileOption = Option.builder("h")
.longOpt("help")
.desc("display help message")
.build();
final Options options = new Options();
options.addOption(versionOption);
options.addOption(configFileOption);
options.addOption(generateFileOption);
options.addOption(helpFileOption);
return options;
}
public void execute() {
// use soudmodem configuration file
SoundModemClient sm = new SoundModemClient(configurationfile);
// tant que connecté à SoundModem => reçoit des trames
int cpt = 0;
Path path = Paths.get(generateRepository);
//if directory exists?
if (!Files.exists(path)) {
try {
Files.createDirectories(path);
} catch (IOException e) {
//fail to create directory
e.printStackTrace();
}
}
Files.write(Paths.get(generateRepository + "\\Frame_" + cpt++ + ".bin"), temp);
}
System.out.println("compteur" + cpt++);
}
}
*/
public static void main(String[] args) throws ParseException {
final Options options = configParameters();
final CommandLineParser parser = new DefaultParser();
final CommandLine line = parser.parse(options, args);
System.out.println(SoundModemCli.class.getSimpleName() + " " + version);
// Si mode aide
boolean helpMode = line.hasOption("help");
if (helpMode) {
final HelpFormatter formatter = new HelpFormatter();
formatter.printHelp(args[0], options, true);
System.exit(0);
}
boolean versionpMode = line.hasOption("Version");
if (versionpMode) {
System.out.println(SoundModemCli.class.getSimpleName() + " " + version);
System.exit(0);
}
boolean configMode = line.hasOption("Config");
if (configMode) {
smc.setConfigurationfile(line.getOptionValue("Config", ""));
if (generateMode) {
smc.setGenerateRepository(line.getOptionValue("Generate", ""));
}