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:org.apache.marmotta.client.clients.LDPathClient.java

public Map<String, List<RDFNode>> evaluateProgram(String uri, String program)
        throws MarmottaClientException, IOException {
    HttpClient httpClient = HTTPUtil.createClient(config);

    String serviceUrl = config.getMarmottaUri() + URL_PROGRAM_SERVICE + "?program="
            + URLEncoder.encode(program, "utf-8") + "&uri=" + URLEncoder.encode(uri, "utf-8");

    HttpGet get = new HttpGet(serviceUrl);
    get.setHeader("Accept", "application/json");

    try {// w  w  w . j av  a2 s  . c om

        HttpResponse response = httpClient.execute(get);

        switch (response.getStatusLine().getStatusCode()) {
        case 200:
            log.debug("LDPath Program Query evaluated successfully:\n{}", program);
            ObjectMapper mapper = new ObjectMapper();
            mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
            Map<String, List<Map<String, String>>> serverResult = mapper.readValue(
                    response.getEntity().getContent(),
                    new TypeReference<Map<String, List<Map<String, String>>>>() {
                    });

            Map<String, List<RDFNode>> result = new HashMap<String, List<RDFNode>>();
            for (Map.Entry<String, List<Map<String, String>>> field : serverResult.entrySet()) {
                List<RDFNode> row = new ArrayList<RDFNode>();
                for (Map<String, String> node : field.getValue()) {
                    row.add(RDFJSONParser.parseRDFJSONNode(node));
                }
                result.put(field.getKey(), row);
            }
            return result;
        case 400:
            log.error("the server did not accept the uri ({}) or program ({}) arguments", uri, program);
            throw new ContentFormatException(
                    "the server did not accept the uri (" + uri + ") or program (" + program + ") arguments");
        case 404:
            log.error("the resource with URI {} does not exist on the server", uri);
            throw new NotFoundException("the resource with URI " + uri + " does not exist on the server");
        default:
            log.error("error evaluating LDPath Program Query: {} {}", new Object[] {
                    response.getStatusLine().getStatusCode(), response.getStatusLine().getReasonPhrase() });
            throw new MarmottaClientException(
                    "error evaluating LDPath Program Query: " + response.getStatusLine().getStatusCode() + " "
                            + response.getStatusLine().getReasonPhrase());
        }

    } finally {
        get.releaseConnection();
    }
}

From source file:edu.usf.cutr.opentripplanner.android.serialization.TripRequest.java

/**
 * Makes the actual request to the server and returns the Plan response, or null if there was an error
 * @param requestUrl full URL for the OTP server request
 * @return returns the Plan response, or null if there was an error
 *//*from  ww  w  . j a v a2s.  co  m*/
private Response requestPlan(String requestUrl) {

    // HttpClient client = new DefaultHttpClient();
    //String result = "";
    // try {
    // result = Http.get(requestUrl).use(client).header("Accept",
    // "application/json").header("Keep-Alive","timeout=60, max=100").charset("UTF-8").followRedirects(true).asString();
    //
    // Log.d(TAG, "Result: " + result);
    // } catch (IOException e) {
    // // TODO Auto-generated catch block
    // Log.e(TAG, "Error Http Request: "+e.getMessage());
    // e.printStackTrace();
    // return null;
    // }

    HttpURLConnection urlConnection = null;
    URL url = null;
    Response plan = null;

    try {

        url = new URL(requestUrl);

        disableConnectionReuseIfNecessary(); // For bugs in
        // HttpURLConnection
        // pre-Froyo

        // Serializer serializer = new Persister();
        ObjectMapper mapper = new ObjectMapper();

        mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
        mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
        mapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);
        mapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true);

        urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestProperty("Accept", "application/json");

        // plan = serializer.read(Response.class, result);
        plan = mapper.readValue(urlConnection.getInputStream(), Response.class);

    } catch (IOException e) {
        Log.e(TAG, "Error fetching JSON or XML: " + e);
        e.printStackTrace();
        // Reset timestamps to show there was an error
        // requestStartTime = 0;
        // requestEndTime = 0;
    } finally {
        if (urlConnection != null) {
            urlConnection.disconnect();
        }
    }

    // TODO - handle error messages and error responses from OTP server

    return plan;
}

From source file:uk.co.flax.biosolr.ontology.search.elasticsearch.ElasticDocumentSearch.java

private ObjectMapper buildObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    return mapper;
}

From source file:com.egreen.tesla.server.api.config.resolver.RequestResolver.java

public void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ClassNotFoundException, CannotCompileException, InstantiationException, IllegalAccessException,
        NoSuchMethodException, IllegalArgumentException, InvocationTargetException, IOException,
        ServletException, SecurityException, NotFoundException {
    boolean noError = true;
    if (requestMapping == null) {
        requestMapping = (RequestMapping) ctMethod.getAnnotation(RequestMapping.class);
    }// www.  j  a  v  a2  s . co  m

    ObjectResolver objectResolver = ObjectResolver.getInstance(request, response);
    Object newInstance = objectResolver.getInstance(ctClass);

    LOGGER.info("Object Class " + newInstance);
    Field[] fields1 = ctClass.getDeclaredFields();
    for (Field field : fields1) {
        field.setAccessible(true);
        LOGGER.info("Retrive All Feild Has Values " + field.get(newInstance));

    }

    Method method = null;
    Object methodParams[] = null;
    Class[] methodParamType = null;
    for (Object[] objects : ctMethod.getParameterAnnotations()) {
        if (objects != null) {
            methodParamType = new Class[objects.length];
            methodParams = new Object[objects.length];
            for (int i = 0; i < objects.length; i++) {
                Object objectInstance = objects[i];
                if (objectInstance instanceof Param) {
                    Param param = (Param) objectInstance;
                    methodParamType[i] = param.value().getClass();
                    String parameter = request.getParameter(param.value());
                    methodParams[i] = parameter;
                    if (parameter == null) {
                        sendErrorMessage(response, "Invalid parameter " + param.value());
                        noError = false;
                    }
                }
            }
        }
    }

    if (noError) {
        LOGGER.info(Arrays.toString(methodParamType));
        if (methodParamType == null || methodParamType.length == 0) {
            method = ctClass.getMethod(ctMethod.getName());
        } else {
            method = ctClass.getMethod(ctMethod.getName(), methodParamType);
        }
        Object invoke = null;
        LOGGER.info("Going to Invok " + method + " On " + newInstance);
        if (methodParams == null || methodParams.length == 0) {

            invoke = method.invoke(newInstance);
        } else {
            LOGGER.info(Arrays.toString(methodParams));
            try {
                invoke = method.invoke(newInstance, methodParams);
                LOGGER.info(invoke);
            } catch (InvocationTargetException exception) {
                exception.getTargetException().printStackTrace();
            }
        }

        if (method.getAnnotation(ResponseBody.class) != null) {
            // Json
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
            StringWriter stringEmp = new StringWriter();
            objectMapper.writeValue(stringEmp, invoke);
            response.getWriter().write(stringEmp.toString());
        } else if (invoke instanceof String) {
            String resorcePath = templateResolver.resorcePath(invoke + "");
            LOGGER.debug(resorcePath);
            LOGGER.debug(request);
            LOGGER.debug(response);
            request.setAttribute("viewpath", resorcePath);
            request.getRequestDispatcher("/").forward(request, response);

            // response.sendRedirect("/");
        } else {
            sendErrorMessage(response, "Cannot resolve Response Object");
        }
    }

}

From source file:com.example.common.MoneyJacksonAutoConfiguration.java

public CustomJsonToPojoMessageConverter(ObjectMapper mapper) {
    super(MimeTypeUtils.APPLICATION_JSON, MessageConverterUtils.X_JAVA_OBJECT);
    this.mapper = mapper;
    mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    mapper.registerModule(new JodaMoneyModule());
}

From source file:com.xeiam.xchange.mtgox.v1.service.MtGoxAdapterTest.java

@Test
public void testAccountInfoAdapter() throws IOException {

    // Read in the JSON from the example resources
    InputStream is = MtGoxAdapterTest.class.getResourceAsStream("/v1/account/example-accountinfo-data.json");

    // Use Jackson to parse it
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    MtGoxAccountInfo mtGoxAccountInfo = mapper.readValue(is, MtGoxAccountInfo.class);

    AccountInfo accountInfo = MtGoxAdapters.adaptAccountInfo(mtGoxAccountInfo);
    assertThat(accountInfo.getUsername()).isEqualTo("xchange");
    assertThat(accountInfo.getWallets().get(0).getCurrency()).isEqualTo("BTC");
    assertThat(accountInfo.getWallets().get(0).getBalance()).isEqualTo(MoneyUtils.parse("BTC 0.00000000"));
}

From source file:com.xeiam.xchange.mtgox.v1.service.MtGoxAdapterTest.java

@Test
public void testTickerAdapter() throws IOException {

    // Read in the JSON from the example resources
    InputStream is = MtGoxAdapterTest.class
            .getResourceAsStream("/v1/marketdata/polling/example-ticker-data.json");

    // Use Jackson to parse it
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    MtGoxTicker mtGoxTicker = mapper.readValue(is, MtGoxTicker.class);

    Ticker ticker = MtGoxAdapters.adaptTicker(mtGoxTicker);
    assertThat(ticker.getLast()).isEqualTo(MoneyUtils.parse("USD 91.46000"));
    assertThat(ticker.getBid()).isEqualTo(MoneyUtils.parse("USD 90.68502"));
    assertThat(ticker.getAsk()).isEqualTo(MoneyUtils.parse("USD 91.45898"));
    assertThat(ticker.getVolume()).isEqualTo(new BigDecimal("49524.15110020"));

}

From source file:com.xeiam.xchange.mtgox.v2.service.MtGoxAdapterTest.java

@Test
public void testAccountInfoAdapter() throws IOException {

    // Read in the JSON from the example resources
    InputStream is = MtGoxAdapterTest.class.getResourceAsStream("/v2/account/example-accountinfo-data.json");

    // Use Jackson to parse it
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    MtGoxAccountInfo mtGoxAccountInfo = mapper.readValue(is, MtGoxAccountInfo.class);

    AccountInfo accountInfo = MtGoxAdapters.adaptAccountInfo(mtGoxAccountInfo);
    assertThat(accountInfo.getUsername()).isEqualTo("xchange");
    assertThat(accountInfo.getWallets().get(0).getCurrency()).isEqualTo("BTC");
    assertThat(accountInfo.getWallets().get(0).getBalance()).isEqualTo(MoneyUtils.parse("BTC 0.00000000"));
}

From source file:com.xeiam.xchange.mtgox.v1.service.MtGoxAdapterTest.java

@Test
public void testOrderBookUpdateAdapter() throws IOException {

    // Read in the JSON from the example resources
    InputStream is = MtGoxAdapterTest.class
            .getResourceAsStream("/v1/marketdata/streaming/example-depth-streaming-data.json");

    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    Map<String, Object> userInMap = mapper.readValue(is, new TypeReference<Map<String, Object>>() {
    });//from  w  ww. ja v a2s.  co m

    MtGoxDepthUpdate mtGoxDepthUpdate = mapper.readValue(mapper.writeValueAsString(userInMap.get("depth")),
            MtGoxDepthUpdate.class);

    OrderBookUpdate orderBookUpdate = MtGoxAdapters.adaptDepthUpdate(mtGoxDepthUpdate);

    assertThat(orderBookUpdate.getTotalVolume()).isEqualTo(new BigDecimal("324.02839775"));
    assertThat(orderBookUpdate.getLimitOrder().getTradableAmount()).isEqualTo(new BigDecimal("4.97732719"));
    assertThat(orderBookUpdate.getLimitOrder().getTimestamp().getTime()).isEqualTo(1364643714372L);

}

From source file:com.xeiam.xchange.mtgox.v2.service.MtGoxAdapterTest.java

@Test
public void testTickerAdapter() throws IOException {

    // Read in the JSON from the example resources
    InputStream is = MtGoxAdapterTest.class
            .getResourceAsStream("/v2/marketdata/polling/example-ticker-data.json");

    // Use Jackson to parse it
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    MtGoxTicker mtGoxTicker = mapper.readValue(is, MtGoxTicker.class);

    Ticker ticker = MtGoxAdapters.adaptTicker(mtGoxTicker);
    assertThat(ticker.getLast()).isEqualTo(MoneyUtils.parse("USD 91.46000"));
    assertThat(ticker.getBid()).isEqualTo(MoneyUtils.parse("USD 90.68502"));
    assertThat(ticker.getAsk()).isEqualTo(MoneyUtils.parse("USD 91.45898"));
    assertThat(ticker.getVolume()).isEqualTo(new BigDecimal("49524.15110020"));

}