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

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

Introduction

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

Prototype

public TypeFactory getTypeFactory() 

Source Link

Document

Accessor for getting currently configured TypeFactory instance.

Usage

From source file:com.auditbucket.client.Importer.java

private static long processJsonTags(String fileName, AbRestClient abExporter, int skipCount,
        boolean simulateOnly) {
    Collection<TagInputBean> tags;
    ObjectMapper mapper = new ObjectMapper();
    try {//from   w w  w  . ja  va2s. c om
        File file = new File(fileName);
        if (!file.exists()) {
            logger.error("{} does not exist", fileName);
            return 0;
        }
        TypeFactory typeFactory = mapper.getTypeFactory();
        CollectionType collType = typeFactory.constructCollectionType(ArrayList.class, TagInputBean.class);

        tags = mapper.readValue(file, collType);
        for (TagInputBean tag : tags) {
            abExporter.writeTag(tag, "JSON Tag Importer");
        }
    } catch (IOException e) {
        logger.error("Error writing exceptions with {} [{}]", fileName, e);
        throw new RuntimeException("IO Exception ", e);
    } finally {
        abExporter.flush("Finishing processing of TagInputBeans " + fileName);

    }
    return tags.size(); //To change body of created methods use File | Settings | File Templates.
}

From source file:io.coala.json.JsonUtil.java

/**
 * @param om the {@link ObjectMapper} used to parse/deserialize/unmarshal
 * @param json the JSON formatted {@link String} value
 * @param typeReference the result type {@link TypeReference}
 * @param imports the {@link Properties} instances for default values, etc.
 * @return the parsed/deserialized/unmarshalled {@link Object}
 *//*  w w  w .ja  v  a2 s . c  om*/
@SuppressWarnings("unchecked")
public static <T> T valueOf(final ObjectMapper om, final String json, final TypeReference<T> typeReference,
        final Properties... imports) {
    if (json == null)
        return null;
    try {
        final Class<?> rawType = om.getTypeFactory().constructType(typeReference).getRawClass();
        checkRegistered(om, rawType, imports);
        return (T) om.readValue(json, typeReference);
    } catch (final Exception e) {
        Thrower.rethrowUnchecked(e);
        return null;
    }
}

From source file:com.groupdocs.sdk.common.ApiInvoker.java

@SuppressWarnings("unchecked")
public static Object deserialize(String json, String containerType, @SuppressWarnings("rawtypes") Class cls)
        throws ApiException {
    try {// w  w  w .  j  a v a 2  s  .  c  o  m
        ObjectMapper mapper = JsonUtil.getJsonMapper();
        SimpleModule m = new SimpleModule(PACKAGE_NAME, Version.unknownVersion());
        m.addDeserializer(Date.class, new CustomDateDeserializer(new DateDeserializer()));
        mapper.registerModule(m);

        if ("List".equals(containerType)) {
            JavaType typeInfo = mapper.getTypeFactory().constructCollectionType(List.class, cls);
            List<?> response = (List<?>) mapper.readValue(json, typeInfo);
            return response;
        } else if (String.class.equals(cls)) {
            return json;
        } else {
            return mapper.readValue(json, cls);
        }
    } catch (IOException e) {
        throw new ApiException(500, e.getMessage());
    }
}

From source file:org.wso2.emm.agent.utils.CommonUtils.java

/**
 * Revoke currently enforced policy./*from www .  j  a v a  2 s.  c om*/
 * @param context - Application context.
 */
public static void revokePolicy(Context context) throws AndroidAgentException {
    String payload = Preference.getString(context, Constants.PreferenceFlag.APPLIED_POLICY);
    PolicyOperationsMapper operationsMapper = new PolicyOperationsMapper();
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);

    PolicyRevokeHandler revokeHandler = new PolicyRevokeHandler(context);

    try {
        if (payload != null) {
            List<org.wso2.emm.agent.beans.Operation> operations = mapper.readValue(payload,
                    mapper.getTypeFactory().constructCollectionType(List.class,
                            org.wso2.emm.agent.beans.Operation.class));
            for (org.wso2.emm.agent.beans.Operation op : operations) {
                op = operationsMapper.getOperation(op);
                revokeHandler.revokeExistingPolicy(op);
            }
            Preference.putString(context, Constants.PreferenceFlag.APPLIED_POLICY, null);
        }
    } catch (IOException e) {
        throw new AndroidAgentException("Error occurred while parsing stream", e);
    }
}

From source file:com.marvinformatics.hibernate.json.JsonListUserType.java

@Override
public JavaType createJavaType(ObjectMapper mapper) {
    return mapper.getTypeFactory().constructCollectionType(List.class, returnedClass());
}

From source file:io.fabric8.example.variance.http.VarianceProcessor.java

@Override
public void process(Exchange exchange) throws Exception {
    String message = exchange.getIn().getBody(String.class);
    ObjectMapper objectMapper = new ObjectMapper();
    TypeFactory typeFactory = objectMapper.getTypeFactory();
    List<Double> values = objectMapper.readValue(message,
            typeFactory.constructCollectionType(List.class, Double.class));
    SummaryStatistics summaryStatistics = new SummaryStatistics();
    List<Double> list = new ObjectMapper().readValue(message, List.class);
    for (Double value : list) {
        summaryStatistics.addValue(value);
    }//from   w  ww .j a  v a  2  s .  c  o m
    String variance = Double.toString(summaryStatistics.getVariance());
    exchange.getOut().setBody(variance);
}

From source file:io.fabric8.example.stddev.http.StdDevProcessor.java

@Override
public void process(Exchange exchange) throws Exception {
    String message = exchange.getIn().getBody(String.class);
    ObjectMapper objectMapper = new ObjectMapper();
    TypeFactory typeFactory = objectMapper.getTypeFactory();
    List<Double> values = objectMapper.readValue(message,
            typeFactory.constructCollectionType(List.class, Double.class));
    SummaryStatistics summaryStatistics = new SummaryStatistics();
    List<Double> list = new ObjectMapper().readValue(message, List.class);
    for (Double value : list) {
        summaryStatistics.addValue(value);
    }//from  ww  w . j  a  v a  2  s.co  m
    String stdDev = Double.toString(summaryStatistics.getStandardDeviation());
    exchange.getOut().setBody(stdDev);
}

From source file:com.kinglcc.spring.jms.core.converter.Jackson2MessageAdapterConverter.java

@Override
public Object fromMessage(Message<?> message, Type targetType, Class<?> contextClass) {
    ObjectMapper objectMapper = getObjectMapper();
    JavaType javaType = objectMapper.getTypeFactory().constructType(targetType, contextClass);
    try {/*from   w  w  w  .  jav  a2s. co  m*/
        Object payload = message.getPayload();
        if (payload instanceof byte[]) {
            return objectMapper.readValue((byte[]) payload, javaType);
        } else {
            return objectMapper.readValue((String) payload, javaType);
        }
    } catch (IOException ex) {
        throw new MessageConversionException(message, "Could not read JSON: " + ex.getMessage(), ex);
    }
}

From source file:org.ethereum.core.genesis.GenesisJsonTest.java

@Test
public void generateGenesisJson() throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    JavaType type = mapper.getTypeFactory().constructType(GenesisJson.class);

    GenesisJson genesisJson = new ObjectMapper().readValue(GENESIS_JSON, type);

    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getMinimumGasPrice()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getParentHash()));
    Assert.assertTrue(genesisJson.getAlloc().size() > 0);
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getBitcoinMergedMiningCoinbaseTransaction()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getBitcoinMergedMiningHeader()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getBitcoinMergedMiningMerkleProof()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getCoinbase()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getDifficulty()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getExtraData()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getMixhash()));
    Assert.assertTrue(StringUtils.isNotBlank(genesisJson.getTimestamp()));

}

From source file:com.ntsync.android.sync.client.NetworkUtilities.java

/**
 * Get current Prices for a Currency//from   w w w.  ja va 2s  .  c  o  m
 * 
 * @param authtoken
 *            can be null
 * @return null if server returned no prices.
 * @throws IOException
 * @throws AuthenticationException
 * @throws ParserConfigurationException
 * @throws SAXException
 * @throws AuthenticatorException
 * @throws OperationCanceledException
 * @throws ServerException
 * @throws NetworkErrorException
 */
public static List<Price> getPrices(Context context, Account account, String authtoken,
        AccountManager accountManager, String currency)
        throws OperationCanceledException, AuthenticationException, NetworkErrorException, ServerException {
    String currAuthtoken = authtoken;
    HttpEntity entity = null;
    List<Price> prices = null;
    boolean retry;
    int retryCount = 0;
    do {
        retry = false;

        final HttpGet get = new HttpGet(PRICE_URI + currency);
        LogHelper.logD(TAG, "getPrices with URI: {}", get.getURI());
        try {

            final HttpResponse resp = getHttpClient(context).execute(get,
                    createHttpContext(account.name, currAuthtoken));

            entity = resp.getEntity();
            int statusCode = resp.getStatusLine().getStatusCode();
            if (statusCode == HttpStatus.SC_OK) {
                ObjectMapper mapper = new ObjectMapper();
                Class<?> clz = Price.class;
                JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, clz);
                byte[] respBytes = EntityUtils.toByteArray(entity);
                prices = mapper.readValue(respBytes, type);

            } else if (statusCode == HttpStatus.SC_UNAUTHORIZED) {
                currAuthtoken = retryAuthentification(retryCount, accountManager, currAuthtoken, account.name,
                        resp);
                retry = true;
            } else {
                throw new ServerException("Server error in query getPrices: " + resp.getStatusLine());
            }
        } catch (IOException e) {
            throw new NetworkErrorException(e);
        } finally {
            consumeContent(entity);
        }
        retryCount++;
    } while (retry);
    return prices;
}