Example usage for org.springframework.web.bind MissingServletRequestParameterException MissingServletRequestParameterException

List of usage examples for org.springframework.web.bind MissingServletRequestParameterException MissingServletRequestParameterException

Introduction

In this page you can find the example usage for org.springframework.web.bind MissingServletRequestParameterException MissingServletRequestParameterException.

Prototype

public MissingServletRequestParameterException(String parameterName, String parameterType) 

Source Link

Document

Constructor for MissingServletRequestParameterException.

Usage

From source file:com.healthcit.cacure.web.interceptor.FormContextInterceptor.java

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    // see if a handler is of the type that requires form context
    if (handler instanceof FormContextRequired) {
        FormContextRequired controller = (FormContextRequired) handler;
        try {//from   w  ww . j a va2  s  .c o m
            Long formId = Long.valueOf(request.getParameter(FormContextRequired.FORM_ID_NAME));
            controller.setFormId(formId);
            request.setAttribute(FormContextRequired.FORM_ID_NAME, formId);
        } catch (Exception e) {
            // either parameter is missing or invalid value
            throw new MissingServletRequestParameterException(FormContextRequired.FORM_ID_NAME, "Long");
        }
    }
    return true;
}

From source file:com.epam.ta.reportportal.ws.exception.rest.ExceptionHandlingTest.java

@Parameterized.Parameters(name = "{index}:{0},{1},{2}")
public static List<Object[]> getParameters() {
    return Arrays.asList(new Object[][] {
            { new ReportPortalException(EXCEPTION_MESSAGE), ErrorType.UNCLASSIFIED_REPORT_PORTAL_ERROR,
                    HttpStatus.INTERNAL_SERVER_ERROR, EXCEPTION_MESSAGE },
            { new RuntimeException(EXCEPTION_MESSAGE), ErrorType.UNCLASSIFIED_ERROR,
                    HttpStatus.INTERNAL_SERVER_ERROR, EXCEPTION_MESSAGE },
            { new HttpMessageNotReadableException(EXCEPTION_MESSAGE), ErrorType.INCORRECT_REQUEST,
                    HttpStatus.BAD_REQUEST, EXCEPTION_MESSAGE },
            { new MissingServletRequestParameterException("test", "test"), ErrorType.INCORRECT_REQUEST,
                    HttpStatus.BAD_REQUEST, "Required test parameter 'test' is not present" } });
}

From source file:io.neba.core.mvc.ResourceParamArgumentResolver.java

@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer container,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

    final Object nativeRequest = webRequest.getNativeRequest();

    if (!(nativeRequest instanceof SlingHttpServletRequest)) {
        throw new IllegalStateException("Expected a " + SlingHttpServletRequest.class.getName()
                + " request, but got: " + nativeRequest + ".");
    }/*from  w  w  w.j av  a  2 s .  c o m*/

    final SlingHttpServletRequest request = (SlingHttpServletRequest) nativeRequest;
    final ResourceParam resourceParam = getParameterAnnotation(parameter);
    final String parameterName = resolveParameterName(parameter, resourceParam);

    String resourcePath = request.getParameter(parameterName);
    if (isEmpty(resourcePath)) {
        resourcePath = resourceParam.defaultValue();
    }

    boolean required = resourceParam.required() && isEmpty(resourceParam.defaultValue());

    if (isEmpty(resourcePath)) {
        if (required) {
            throw new MissingServletRequestParameterException(parameterName, String.class.getSimpleName());
        }
        return null;
    }

    if (!isEmpty(resourceParam.append())) {
        resourcePath += resourceParam.append();
    }

    // We must resolve (and not use getResource()) as the resource path may be mapped.
    ResourceResolver resolver = request.getResourceResolver();
    Resource resource = resolver.resolve(request, resourcePath);

    if (resource == null || isNonExistingResource(resource)) {
        if (required) {
            throw new UnresolvableResourceException("Unable to resolve resource " + resourcePath
                    + " for the required parameter '" + parameterName + "'.");
        }
        return null;
    }

    if (parameter.getParameterType().isAssignableFrom(Resource.class)) {
        return resource;
    }

    Object adapted = resource.adaptTo(parameter.getParameterType());
    if (adapted == null && required) {
        throw new MissingAdapterException("Unable to adapt " + resource + " to " + parameter.getParameterType()
                + " for required parameter '" + parameterName + "'.");
    }

    return adapted;
}

From source file:org.openinfobutton.responder.controller.OpenInfobuttonResponderControllerTest.java

@Test
public void testOpenInfobuttonRequestHandleMissingServletRequestParameterException() throws Exception {

    doThrow(new MissingServletRequestParameterException("testParm", "testType")).when(responderService)
            .requestContainsRequiredParameters(any(Map.class));

    this.mockMvc.perform(post("/responder")).andExpect(status().isBadRequest());

}

From source file:com.sybase365.mobiliser.custom.project.channels.HttpChannelEnd.java

@SuppressWarnings("unchecked")
@Override/*  ww  w. j  av  a2 s  .c om*/
public void processRequest(final HttpServletRequest request, final HttpServletResponse response)
        throws ServletException, IOException {

    LOG.debug("Incoming {} request", request.getMethod());

    checkAndPrepare(request, response, false);

    final MultiValueMap<String, String> result = (MultiValueMap<String, String>) this.converter.read(null,
            new ServletServerHttpRequest(request));

    final List<String> textList = result.get("text");
    final List<String> fromList = result.get("from");
    final List<String> toList = result.get("to");
    final List<String> typeList = result.get("type");

    if (textList == null || textList.isEmpty()) {
        throw new MissingServletRequestParameterException("text", "string");
    }

    if (fromList == null || fromList.isEmpty()) {
        throw new MissingServletRequestParameterException("from", "string");
    }

    if (toList == null || toList.isEmpty()) {
        throw new MissingServletRequestParameterException("to", "string");
    }

    final String type;
    if (null == typeList || typeList.isEmpty()) {
        type = "sms";
    } else {
        type = typeList.get(0);
    }

    final Message req = this.messagingEngine.parseSimpleTextMessage(type, textList.get(0));
    req.setSender(fromList.get(0));
    req.setRecipient(toList.get(0));

    if (LOG.isDebugEnabled()) {
        LOG.debug("{} message received for {} from {}",
                new Object[] { type, req.getRecipient(), req.getSender() });
    }

    final Future<Message> responseMessage = this.receiveCallback.receiveAndRespondMessage(req, this.channelId,
            this.incomingChannelId);

    if (LOG.isDebugEnabled()) {
        LOG.debug("Handed off message to {} for {} awaiting response", this.receiveCallback,
                this.incomingChannelId);
    }

    final Message message;
    try {
        message = responseMessage.get();

        if (message == null) {
            LOG.warn("Timed out waiting for response from {}", responseMessage);

            throw new NestedServletException("Timed out waiting for message");
        }
    } catch (final InterruptedException e) {
        Thread.currentThread().interrupt(); // reset flag

        throw new NestedServletException("Interrupted during processing", e);

    } catch (final ExecutionException e) {
        if (e.getCause() instanceof InterruptedException) {
            throw new NestedServletException( // NOSONAR
                    "Interrupted during processing", e.getCause());
        }

        throw new NestedServletException("Processing message failed", // NOSONAR
                e.getCause());
    }

    LOG.debug("Writing response back to client");

    final LinkedMultiValueMap<String, Object> responseMap = new LinkedMultiValueMap<String, Object>();

    responseMap.add("from", message.getSender().getAddress());
    responseMap.add("to", message.getRecipient().getAddress());

    if (message instanceof SmsMessage) {
        responseMap.add("text", new String(((SmsMessage) message).getText().getContent(),
                ((SmsMessage) message).getText().getCharset()));
    } else if (message instanceof UssdTextMessage) {
        responseMap.add("text", new String(((UssdTextMessage) message).getText().getContent(),
                ((UssdTextMessage) message).getText().getCharset()));
    }

    this.converter.write(responseMap, this.mediaType, new ServletServerHttpResponse(response));

}

From source file:io.neba.spring.mvc.ResourceParamArgumentResolver.java

private String resolveResourcePath(SlingHttpServletRequest request, ResourceParam resourceParam,
        String parameterName, boolean required) throws MissingServletRequestParameterException {

    String resourcePath = request.getParameter(parameterName);
    if (isEmpty(resourcePath)) {
        resourcePath = resourceParam.defaultValue();
    }//from   w w w. j a  v a2 s .c  om

    if (isEmpty(resourcePath)) {
        if (required) {
            throw new MissingServletRequestParameterException(parameterName, String.class.getSimpleName());
        }
        return null;
    }

    if (!isEmpty(resourceParam.append())) {
        resourcePath += resourceParam.append();
    }
    return resourcePath;
}

From source file:org.axonframework.examples.addressbook.rest.ContactsController.java

/**
 * Removed the provided contact/* w ww .  j  a va  2 s  .c  om*/
 *
 * @param contact ContactEntry containing the required details to remove a contact
 * @throws MissingServletRequestParameterException
 *          if the required parameter identifier is nto available
 */
@RequestMapping(method = RequestMethod.DELETE)
public void delete(@RequestBody ContactEntry contact) throws MissingServletRequestParameterException {
    if (!StringUtils.hasText(contact.getIdentifier())) {
        throw new MissingServletRequestParameterException("identifier", "String");
    }
    RemoveContactCommand command = new RemoveContactCommand();
    command.setContactId(contact.getIdentifier());
    commandBus.dispatch(new GenericCommandMessage<Object>(command));
}

From source file:com.monarchapis.driver.spring.rest.ApiErrorResponseEntityExceptionHandlerTest.java

@Test
public void testMissingServletRequestParameterException() {
    performTest(//
            new MissingServletRequestParameterException("test", "String"), //
            400, //
            "missingParameter");
}

From source file:fragment.web.AbstractBaseControllerTest.java

@Test
public void testHandleMissingServletRequestParameterException() {
    ModelAndView mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), new MockHttpServletRequest());
    Assert.assertNotNull(mav.getModelMap());

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("editTenantState");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("EditTenantStateResponse"));

    request.setRequestURI("editTenant");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("EditTenantResponse"));

    request.setRequestURI("/tenants/fetch");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("FetchTenantResponse"));

    request.setRequestURI("/tenants");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());

    request.setRequestURI("registerAccount");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("RegisterAccountResponse"));

    request.setRequestURI("editUser");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("EditUserResponse"));

    request.setRequestURI("/users/fetch");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("FetchUserResponse"));

    request.setRequestURI("/users/search");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());

    request.setRequestURI("/verifyUserExistence");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("VerifyUserExistenceResponse"));

    request.setRequestURI("/productBundles/subscribe");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("SubscribeToProductBundleResponse"));

    request.setRequestURI("productBundles");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("ListProductBundlesResponse"));

    request.setRequestURI("/subscriptions");
    mav = controller.handleMissingServletRequestParameterException(
            new MissingServletRequestParameterException("tenantParam", "String"), request);
    Assert.assertNotNull(mav.getModelMap());
    Assert.assertNotNull(mav.getModelMap().get("ListSubscriptionsResponse"));

}

From source file:org.axonframework.examples.addressbook.rest.ContactsController.java

/**
 * Removes the address of the provided type from the contact with the provided id.
 *
 * @param address Address to remove/* w  ww.  j  av a2 s.com*/
 * @throws MissingServletRequestParameterException
 *          if the type or identifier are not provided
 */
@RequestMapping(value = "{identifier}/address", method = RequestMethod.DELETE)
public void deleteAddress(@RequestBody AddressEntry address) throws MissingServletRequestParameterException {
    if (!StringUtils.hasText(address.getIdentifier())) {
        throw new MissingServletRequestParameterException("identifier", "String");
    }
    if (null == address.getAddressType()) {
        throw new MissingServletRequestParameterException("addressType", "PRIVATE,WORK,VACATION");
    }
    RemoveAddressCommand command = new RemoveAddressCommand();
    command.setContactId(address.getIdentifier());
    command.setAddressType(address.getAddressType());
    commandBus.dispatch(new GenericCommandMessage<Object>(command));

}