RegionChooserCommandLineInterface.java 1.25 KB
Newer Older
Eric Duminil's avatar
Eric Duminil committed
1
2
3
package eu.simstadt.regionchooser;

import java.nio.file.Path;
Eric Duminil's avatar
Eric Duminil committed
4
5
6
7
8
import java.util.List;
import java.util.concurrent.Callable;
import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Parameters;
Eric Duminil's avatar
Eric Duminil committed
9
10


Eric Duminil's avatar
Eric Duminil committed
11
12
@Command(name = "region_chooser", mixinStandardHelpOptions = true, version = "regionChooser x.x", description = "Extracts a region from one or more citygmls.")
class RegionChooserCommandLineInterface implements Callable<Integer>
Eric Duminil's avatar
Eric Duminil committed
13
{
Eric Duminil's avatar
Eric Duminil committed
14
15
	@Parameters(index = "0", description = "SRS Name : 'EPSG:31467' or just 31467")
	String srsName;
Eric Duminil's avatar
Eric Duminil committed
16

Eric Duminil's avatar
Eric Duminil committed
17
18
	@Parameters(index = "1", description = "Output file : output.gml")
	Path outputCityGML;
Eric Duminil's avatar
Eric Duminil committed
19

Eric Duminil's avatar
Eric Duminil committed
20
21
	@Parameters(index = "2..*", arity = "1..*", description = "The citygml files to extract from : input1.gml input2.gml")
	List<Path> citygmls;
Eric Duminil's avatar
Eric Duminil committed
22

Eric Duminil's avatar
Eric Duminil committed
23
24
25
26
27
28
	@Override
	public Integer call() throws Exception { // your business logic goes here...
		for (Path file : citygmls) {
			System.out.println(file);
		}
		return 0;
Eric Duminil's avatar
Eric Duminil committed
29
30
	}

Eric Duminil's avatar
Eric Duminil committed
31
32
33
34
35
	// this example implements Callable, so parsing, error handling and handling user
	// requests for usage help or version help can be done with one line of code.
	public static void main(String... args) {
		int exitCode = new CommandLine(new RegionChooserCommandLineInterface()).execute(args);
		System.exit(exitCode);
Eric Duminil's avatar
Eric Duminil committed
36
	}
Eric Duminil's avatar
Eric Duminil committed
37
}