Use JCommander resolver in combination with others.
Prepare for implementation of describe()
This commit is contained in:
@@ -26,6 +26,7 @@ import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.MethodParameter;
|
||||
@@ -90,7 +91,7 @@ public class LegacyParameterResolver implements ParameterResolver {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ParameterDescription describe(MethodParameter parameter) {
|
||||
public Stream<ParameterDescription> describe(MethodParameter parameter) {
|
||||
Parameter jlrParameter = parameter.getMethod().getParameters()[parameter.getParameterIndex()];
|
||||
CliOption option = jlrParameter.getAnnotation(CliOption.class);
|
||||
ParameterDescription result = ParameterDescription.outOf(parameter);
|
||||
@@ -108,7 +109,7 @@ public class LegacyParameterResolver implements ParameterResolver {
|
||||
}
|
||||
boolean containsEmptyKey = keys.contains("");
|
||||
result.mandatoryKey(!containsEmptyKey);
|
||||
return result;
|
||||
return Stream.of(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -160,7 +160,7 @@ public class LegacyParameterResolverTest {
|
||||
public void testDescribeBothDefaultsNotDeclared() {
|
||||
MethodParameter methodParameter = Utils.createMethodParameter(LegacyCommands.REGISTER_METHOD, 1);
|
||||
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter);
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter).findFirst().get();
|
||||
|
||||
assertThat(description.keys()).containsExactly("--type");
|
||||
assertThat(description.formal()).isEqualTo(Utils.unCamelify(ArtifactType.class.getSimpleName()));
|
||||
@@ -175,7 +175,7 @@ public class LegacyParameterResolverTest {
|
||||
public void testDescribeBothDefaultsDeclared() {
|
||||
MethodParameter methodParameter = Utils.createMethodParameter(LegacyCommands.SOME_METHOD, 1);
|
||||
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter);
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter).findFirst().get();
|
||||
|
||||
assertThat(description.keys()).containsExactly("--option");
|
||||
assertThat(description.formal()).isEqualTo(boolean.class.getName());
|
||||
@@ -191,7 +191,7 @@ public class LegacyParameterResolverTest {
|
||||
public void testDescribeOnlySpecifiedDefaultDeclared() {
|
||||
MethodParameter methodParameter = Utils.createMethodParameter(LegacyCommands.SUM_METHOD, 1);
|
||||
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter);
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter).findFirst().get();
|
||||
|
||||
assertThat(description.keys()).containsExactly("--v2");
|
||||
assertThat(description.formal()).isEqualTo(int.class.getName());
|
||||
@@ -207,7 +207,7 @@ public class LegacyParameterResolverTest {
|
||||
public void testDescribeOnlyUnspecifiedDefaultDeclared() {
|
||||
MethodParameter methodParameter = Utils.createMethodParameter(LegacyCommands.SUM_METHOD, 0);
|
||||
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter);
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter).findFirst().get();
|
||||
|
||||
assertThat(description.keys()).containsExactly("--v1");
|
||||
assertThat(description.formal()).isEqualTo(int.class.getName());
|
||||
@@ -222,7 +222,7 @@ public class LegacyParameterResolverTest {
|
||||
public void testDescribeDefaultKey() {
|
||||
MethodParameter methodParameter = Utils.createMethodParameter(LegacyCommands.LEGACY_ECHO_METHOD, 0);
|
||||
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter);
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter).findFirst().get();
|
||||
|
||||
assertThat(description.keys()).isEmpty();
|
||||
assertThat(description.formal()).isEqualTo(Utils.unCamelify(String.class.getSimpleName()));
|
||||
@@ -237,7 +237,7 @@ public class LegacyParameterResolverTest {
|
||||
public void testDescribeNonMandatoryNoDefaults() {
|
||||
MethodParameter methodParameter = Utils.createMethodParameter(LegacyCommands.SOME_METHOD, 0);
|
||||
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter);
|
||||
ParameterDescription description = parameterResolver.describe(methodParameter).findFirst().get();
|
||||
|
||||
assertThat(description.keys()).containsExactly("--key");
|
||||
assertThat(description.formal()).isEqualTo(Utils.unCamelify(String.class.getSimpleName()));
|
||||
|
||||
Reference in New Issue
Block a user