@Test public void testDoesntSupport() throws NoSuchMethodException { MethodParameter methodParameter = new MethodParameter( this.getClass().getMethod("testSupportAndResolve"), 0, Object.class, MethodParameter.EMPTY_ANNOTATIONS ); RequestEnvelope envelope = Utils.buildSimpleEnvelope("intent"); ArgumentResolverContext input = new ArgumentResolverContext(mockSkillContext, methodParameter, HandlerInput.builder().withRequestEnvelope(envelope).build()); assertFalse(resolver.resolve(input).isPresent()); }
@Override public Optional<Object> resolve(ArgumentResolverContext input) { if (input.requestTypeEquals(IntentRequest.class) && input.parameterTypeEquals(Slot.class) && input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).isPresent()) { String slotName = input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).get().value(); IntentRequest request = (IntentRequest) input.unwrapRequest(); return Optional.of(request.getIntent().getSlots().get(slotName)); } return Optional.empty(); }
SlotArgumentResolver implements ArgumentResolver { @Override public Optional<Object> resolve(ArgumentResolverContext input) { if (input.requestTypeEquals(IntentRequest.class) && input.parameterTypeEquals(Slot.class) && input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).isPresent()) { String slotName = input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).get().value(); IntentRequest request = (IntentRequest) input.unwrapRequest(); return Optional.of(request.getIntent().getSlots().get(slotName)); } return Optional.empty(); } }
SlotArgumentResolver implements ArgumentResolver { @Override public Optional<Object> resolve(ArgumentResolverContext input) { if (input.requestTypeEquals(IntentRequest.class) && input.parameterTypeEquals(Slot.class) && input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).isPresent()) { String slotName = input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).get().value(); IntentRequest request = (IntentRequest) input.unwrapRequest(); return Optional.of(request.getIntent().getSlots().get(slotName)); } return Optional.empty(); }  }
SlotArgumentResolver implements ArgumentResolver { @Override public Optional<Object> resolve(ArgumentResolverContext input) { if (input.requestTypeEquals(IntentRequest.class) && input.parameterTypeEquals(Slot.class) && input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).isPresent()) { String slotName = input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).get().value(); IntentRequest request = (IntentRequest) input.unwrapRequest(); return Optional.of(request.getIntent().getSlots().get(slotName)); } return Optional.empty(); }  @Override Optional<Object> resolve(ArgumentResolverContext input); }
SlotArgumentResolver implements ArgumentResolver { @Override public Optional<Object> resolve(ArgumentResolverContext input) { if (input.requestTypeEquals(IntentRequest.class) && input.parameterTypeEquals(Slot.class) && input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).isPresent()) { String slotName = input.getMethodParameter().findAnnotation(com.amazon.ask.mvc.annotation.argument.Slot.class).get().value(); IntentRequest request = (IntentRequest) input.unwrapRequest(); return Optional.of(request.getIntent().getSlots().get(slotName)); } return Optional.empty(); }  @Override Optional<Object> resolve(ArgumentResolverContext input);  }