Example usage for com.fasterxml.jackson.databind ObjectMapper configure

List of usage examples for com.fasterxml.jackson.databind ObjectMapper configure

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper configure.

Prototype

public ObjectMapper configure(JsonGenerator.Feature f, boolean state) 

Source Link

Document

Method for changing state of an on/off JsonGenerator feature for JsonFactory instance this object mapper uses.

Usage

From source file:alluxio.rest.TestCase.java

/**
 * Runs the test case and returns the output.
 */// ww w .  j  av a 2 s.  c o  m
public String call() throws Exception {
    HttpURLConnection connection = (HttpURLConnection) createURL().openConnection();
    connection.setRequestMethod(mMethod);
    if (mOptions.getInputStream() != null) {
        connection.setDoOutput(true);
        connection.setRequestProperty("Content-Type", "application/octet-stream");
        ByteStreams.copy(mOptions.getInputStream(), connection.getOutputStream());
    }
    if (mOptions.getBody() != null) {
        connection.setDoOutput(true);
        connection.setRequestProperty("Content-Type", "application/json");
        ObjectMapper mapper = new ObjectMapper();
        // make sure that serialization of empty objects does not fail
        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
        OutputStream os = connection.getOutputStream();
        os.write(mapper.writeValueAsString(mOptions.getBody()).getBytes());
        os.close();
    }

    connection.connect();
    if (connection.getResponseCode() != Response.Status.OK.getStatusCode()) {
        InputStream errorStream = connection.getErrorStream();
        if (errorStream != null) {
            Assert.fail("Request failed: " + IOUtils.toString(errorStream));
        }
        Assert.fail("Request failed with status code " + connection.getResponseCode());
    }
    return getResponse(connection);
}

From source file:fr.treeptik.cloudunit.ports.PortsControllerTestIT.java

private String getString(PortResource portResource, ObjectMapper mapper) throws JsonProcessingException {
    mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
    ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
    return ow.writeValueAsString(portResource);
}

From source file:fr.paris.lutece.plugins.grusupply.web.rs.GRUSupplyRestService.java

/**
 * Web Service methode which permit to store the notification flow into a data store
 * // ww  w.j  a  v  a2  s . c  o m
 * @param strJson
 *            The JSON flow
 * @return The response
 */
@POST
@Path("notification")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response notification(String strJson) {
    try {
        // Format from JSON
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

        Notification notification = mapper.readValue(strJson, Notification.class);
        AppLogService.debug("grusupply - Received strJson : " + strJson);

        Customer customerEncrypted = notification.getDemand().getCustomer();
        Customer customerDecrypted = CustomerProvider.instance().decrypt(customerEncrypted,
                notification.getDemand());

        if (customerDecrypted != null && StringUtils.isNotEmpty(customerDecrypted.getConnectionId())
                && StringUtils.isEmpty(customerDecrypted.getId())) {
            Customer customerTmp = CustomerProvider.instance().get(customerDecrypted.getConnectionId(),
                    StringUtils.EMPTY);
            customerDecrypted.setId(customerTmp.getId());
        }

        notification.getDemand().setCustomer(customerDecrypted);

        store(notification);

        // Notify user and crm if a bean NotificationService is instantiated
        NotificationService notificationService = NotificationService.instance();

        if (notificationService != null) {
            AppLogService.info(" \n \n GRUSUPPLY - Bean Notifcation not null \n \n");

            if (notification.getEmailNotification() != null) {
                notificationService.sendEmail(notification);
            }

            if (notification.getSmsNotification() != null) {
                notificationService.sendSms(notification);
            }

            if ((notification.getBroadcastEmail() != null) && !notification.getBroadcastEmail().isEmpty()) {
                notificationService.sendBroadcastEmail(notification);
            }

            try {
                if (notification.getMyDashboardNotification() != null) {
                    notificationService.notifyCrm(notification);
                }
            } catch (CRMException ex) {
                return error(ex + " :" + ex.getMessage(), ex);
            }
        }
    } catch (JsonParseException ex) {
        return error(ex + " :" + ex.getMessage(), ex);
    } catch (JsonMappingException ex) {
        return error(ex + " :" + ex.getMessage(), ex);
    } catch (IOException ex) {
        return error(ex + " :" + ex.getMessage(), ex);
    } catch (NullPointerException ex) {
        return error(ex + " :" + ex.getMessage(), ex);
    }

    return Response.status(Response.Status.CREATED).entity(STATUS_RECEIVED).build();
}

From source file:org.mayocat.shop.front.views.WebViewMessageBodyWriter.java

private void writeDeveloperError(WebView webView, Exception e, OutputStream entityStream) {
    try {//from   ww  w.j av a  2 s.  co  m
        // Note:
        // This could be seen as a "server error", but we don't set the Status header to 500 because we want to be
        // able to distinguish between actual server errors (internal Mayocat Shop server error) and theme
        // developers errors (which this is).
        // This is comes at play when setting up monitoring with alerts on a number of 5xx response above a
        // certain threshold.

        // Re-serialize the context as json with indentation for better debugging
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
        Map<String, Object> context = webView.data();
        String jsonContext = mapper.writeValueAsString(context);
        Template error = new Template("developerError",
                Resources.toString(Resources.getResource("templates/developerError.html"), Charsets.UTF_8));
        Map<String, Object> errorContext = Maps.newHashMap();
        errorContext.put("error", StringEscapeUtils.escapeXml(cleanErrorMessageForDisplay(e.getMessage())));
        errorContext.put("stackTrace", StringEscapeUtils.escapeXml(ExceptionUtils.getStackTrace(e)));
        errorContext.put("context", StringEscapeUtils.escapeXml(jsonContext).trim());
        errorContext.put("rawContext", jsonContext);
        errorContext.put("template", webView.template().toString());

        engine.get().register(error);
        String rendered = engine.get().render(error.getId(), mapper.writeValueAsString(errorContext));
        entityStream.write(rendered.getBytes());
    } catch (Exception e1) {
        throw new RuntimeException(e1);
    }
}

From source file:com.pymegest.applicationserver.api.ProductoController.java

@RequestMapping(value = { "/Producto" }, method = RequestMethod.POST)
public void insert(HttpServletRequest request, HttpServletResponse response, @RequestBody String jsonInput) {

    try {//from www. j a v  a 2s . c o  m

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        Producto producto = (Producto) objectMapper.readValue(jsonInput, Producto.class);

        if (producto != null) {

            productoDAO.insert(producto);

            response.setStatus(HttpServletResponse.SC_OK);
            response.setContentType("application/json; chaset=UTF-8");

            String jsonOutput = objectMapper.writeValueAsString(producto);
            response.getWriter().println(jsonOutput);
        } else {

            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
            response.setContentType("application/json; chaset=UTF-8");

            BussinesMessage mensaje = new BussinesMessage();
            mensaje.setMensaje("Imposible insertar un producto.");

            String json = objectMapper.writeValueAsString(mensaje);
            response.getWriter().println(json);

        }

    } catch (Exception ex) {
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        response.setContentType("text/plain; charset=UTF-8;");
        try {

            ex.printStackTrace(response.getWriter());

        } catch (IOException ex1) {
        }
    }

}

From source file:com.pymegest.applicationserver.api.FamiliaController.java

@RequestMapping(value = { "/Familia" }, method = RequestMethod.POST)
public void insert(HttpServletRequest request, HttpServletResponse response, @RequestBody String jsonInput) {

    try {// w  ww.  ja  v a  2s  .c om

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        Familia familia = (Familia) objectMapper.readValue(jsonInput, Familia.class);

        if (familia != null) {

            familiaDAO.insert(familia);

            response.setStatus(HttpServletResponse.SC_OK);
            response.setContentType("application/json; chaset=UTF-8");

            String jsonOutput = objectMapper.writeValueAsString(familia);
            response.getWriter().println(jsonOutput);

        } else {

            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
            response.setContentType("application/json; chaset=UTF-8");

            BussinesMessage mensaje = new BussinesMessage();
            mensaje.setMensaje("Imposible insertar un puesto de trabajo.");

            String json = objectMapper.writeValueAsString(mensaje);
            response.getWriter().println(json);

        }

    } catch (Exception ex) {
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        response.setContentType("text/plain; charset=UTF-8;");
        try {

            ex.printStackTrace(response.getWriter());

        } catch (IOException ex1) {
        }
    }

}

From source file:com.pymegest.applicationserver.api.EmpleadoController.java

@RequestMapping(value = { "/Empleado" }, method = RequestMethod.POST)
public void insert(HttpServletRequest request, HttpServletResponse response, @RequestBody String jsonInput) {

    try {/*from   w  ww.j a va 2s .  c o m*/

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        Empleado empleado = (Empleado) objectMapper.readValue(jsonInput, Empleado.class);

        if (empleado != null) {

            empleadoDAO.insert(empleado);

            response.setStatus(HttpServletResponse.SC_OK);
            response.setContentType("application/json; chaset=UTF-8");

            String jsonOutput = objectMapper.writeValueAsString(empleado);
            response.getWriter().println(jsonOutput);
        } else {

            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
            response.setContentType("application/json; chaset=UTF-8");

            BussinesMessage mensaje = new BussinesMessage();
            mensaje.setMensaje("Imposible insertar un empleado.");

            String json = objectMapper.writeValueAsString(mensaje);
            response.getWriter().println(json);

        }

    } catch (Exception ex) {
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        response.setContentType("text/plain; charset=UTF-8;");
        try {

            ex.printStackTrace(response.getWriter());

        } catch (IOException ex1) {
        }
    }

}

From source file:com.pymegest.applicationserver.api.PuestoController.java

@RequestMapping(value = { "/Puesto" }, method = RequestMethod.POST)
public void insert(HttpServletRequest request, HttpServletResponse response, @RequestBody String jsonInput) {

    try {/*from   w  ww . ja v  a 2s .c  o  m*/

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        Puesto puesto = (Puesto) objectMapper.readValue(jsonInput, Puesto.class);

        if (puesto != null) {

            puestoDAO.insert(puesto);

            response.setStatus(HttpServletResponse.SC_OK);
            response.setContentType("application/json; chaset=UTF-8");

            String jsonOutput = objectMapper.writeValueAsString(puesto);
            response.getWriter().println(jsonOutput);

        } else {

            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
            response.setContentType("application/json; chaset=UTF-8");

            BussinesMessage mensaje = new BussinesMessage();
            mensaje.setMensaje("Imposible insertar un puesto.");

            String json = objectMapper.writeValueAsString(mensaje);
            response.getWriter().println(json);

        }
    } catch (Exception ex) {
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        response.setContentType("text/plain; charset=UTF-8;");
        try {

            ex.printStackTrace(response.getWriter());

        } catch (IOException ex1) {
        }
    }

}

From source file:com.pymegest.applicationserver.api.FamiliaController.java

@RequestMapping(value = { "/Familia/{id_familia}" }, method = RequestMethod.PUT)
public void update(HttpServletRequest request, HttpServletResponse response,
        @PathVariable("id_familia") int id_familia, @RequestBody String jsonInput) {

    try {//from   w  ww.  j  a  v  a  2s  . c o m

        Familia familiaRead = familiaDAO.read(id_familia);

        if (familiaRead != null) {

            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
            Familia familia = (Familia) objectMapper.readValue(jsonInput, Familia.class);

            familiaDAO.update(familiaRead);

            response.setStatus(HttpServletResponse.SC_OK);
            response.setContentType("application/json; chaset=UTF-8");

            String jsonOutput = objectMapper.writeValueAsString(familia);
            response.getWriter().println(jsonOutput);

        } else {

            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
            response.setContentType("application/json; chaset=UTF-8");

            BussinesMessage mensaje = new BussinesMessage();
            mensaje.setMensaje("No se ha encontrado ningun puesto de trabajo para actualizar.");

            ObjectMapper objectMapper = new ObjectMapper();
            String json = objectMapper.writeValueAsString(mensaje);
            response.getWriter().println(json);
        }
    } catch (Exception ex) {
        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        response.setContentType("text/plain; charset=UTF-8");
        try {

            ex.printStackTrace(response.getWriter());

        } catch (IOException ex1) {
        }
    }
}