fixed merge issue
This commit is contained in:
@ -9,6 +9,7 @@ import java.util.LinkedHashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@ -149,16 +150,17 @@ public class ArgParser {
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private <T> T parseItem(String[] args) throws InstantiationException, IllegalAccessException {
|
private <T> T parseItem(String[] args) throws InstantiationException, IllegalAccessException {
|
||||||
if (argClass == null) throw new IllegalArgumentException("Argument class was not specified");
|
if (argClass == null) throw new IllegalArgumentException("Argument class was not specified");
|
||||||
Object obj = argClass.newInstance();
|
|
||||||
this.fields = Stream.of(obj.getClass().getDeclaredFields())
|
|
||||||
.filter(f -> f.isAnnotationPresent(Parameter.class))
|
|
||||||
.map(f -> {
|
|
||||||
f.setAccessible(true);
|
|
||||||
return f;
|
|
||||||
})
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
List<String> argList = new ArrayList<>(Arrays.asList(args));
|
List<String> argList = new ArrayList<>(Arrays.asList(args));
|
||||||
|
|
||||||
|
Optional<String> helpTest = argList.stream().filter(s -> s.trim().equals("-h") || s.trim().equals("--help")).findFirst();
|
||||||
|
if (helpTest.isPresent()) {
|
||||||
|
help();
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Object obj = argClass.newInstance();
|
||||||
|
recollectFields();
|
||||||
|
|
||||||
List<Field> positional = new ArrayList<>();
|
List<Field> positional = new ArrayList<>();
|
||||||
for(Iterator<Field> iter = fields.iterator(); iter.hasNext();) {
|
for(Iterator<Field> iter = fields.iterator(); iter.hasNext();) {
|
||||||
|
@ -33,8 +33,8 @@ public class ArgParserTest {
|
|||||||
|
|
||||||
Args arg = ArgParser.newBuilder().withArgClass(Args.class).parse(args);
|
Args arg = ArgParser.newBuilder().withArgClass(Args.class).parse(args);
|
||||||
|
|
||||||
assertTrue(arg.position2.equals(args[0]));
|
assertTrue(arg.position2.equals(args[1]));
|
||||||
assertTrue(arg.position1.equals(args[1]));
|
assertTrue(arg.position1.equals(args[0]));
|
||||||
assertTrue(arg.values.size() == 2);
|
assertTrue(arg.values.size() == 2);
|
||||||
assertTrue(arg.count == 1);
|
assertTrue(arg.count == 1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user