Example usage for com.fasterxml.jackson.databind ObjectReader readValue

List of usage examples for com.fasterxml.jackson.databind ObjectReader readValue

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectReader readValue.

Prototype

@SuppressWarnings("unchecked")
public <T> T readValue(JsonNode src) throws IOException, JsonProcessingException 

Source Link

Document

Convenience method for converting results from given JSON tree into given value type.

Usage

From source file:ch.cyberduck.core.sds.SDSWriteFeature.java

@Override
public HttpResponseOutputStream<VersionId> write(final Path file, final TransferStatus status,
        final ConnectionCallback callback) throws BackgroundException {
    final CreateFileUploadRequest body = new CreateFileUploadRequest();
    body.setParentId(Long.parseLong(
            new SDSNodeIdProvider(session).getFileid(file.getParent(), new DisabledListProgressListener())));
    body.setName(file.getName());/*www . j a  v a 2s  .c o  m*/
    body.classification(DEFAULT_CLASSIFICATION);
    try {
        final CreateFileUploadResponse response = new NodesApi(session.getClient())
                .createFileUpload(StringUtils.EMPTY, body);
        final String uploadId = response.getUploadId();
        final DelayedHttpMultipartEntity entity = new DelayedHttpMultipartEntity(file.getName(), status);
        final DelayedHttpEntityCallable<VersionId> command = new DelayedHttpEntityCallable<VersionId>() {
            @Override
            public VersionId call(final AbstractHttpEntity entity) throws BackgroundException {
                try {
                    final SDSApiClient client = session.getClient();
                    final HttpPost request = new HttpPost(
                            String.format("%s/nodes/files/uploads/%s", client.getBasePath(), uploadId));
                    request.setEntity(entity);
                    request.setHeader(SDSSession.SDS_AUTH_TOKEN_HEADER, StringUtils.EMPTY);
                    request.setHeader(HTTP.CONTENT_TYPE, String.format("multipart/form-data; boundary=%s",
                            DelayedHttpMultipartEntity.DEFAULT_BOUNDARY));
                    final HttpResponse response = client.getClient().execute(request);
                    try {
                        // Validate response
                        switch (response.getStatusLine().getStatusCode()) {
                        case HttpStatus.SC_CREATED:
                            // Upload complete
                            break;
                        default:
                            EntityUtils.updateEntity(response, new BufferedHttpEntity(response.getEntity()));
                            throw new SDSExceptionMappingService()
                                    .map(new ApiException(response.getStatusLine().getStatusCode(),
                                            response.getStatusLine().getReasonPhrase(), Collections.emptyMap(),
                                            EntityUtils.toString(response.getEntity())));
                        }
                    } finally {
                        EntityUtils.consume(response.getEntity());
                    }
                    final CompleteUploadRequest body = new CompleteUploadRequest();
                    if (status.isExists()) {
                        body.setResolutionStrategy(CompleteUploadRequest.ResolutionStrategyEnum.OVERWRITE);
                    }
                    if (status.getFilekey() != null) {
                        final ObjectReader reader = session.getClient().getJSON().getContext(null)
                                .readerFor(FileKey.class);
                        final FileKey fileKey = reader.readValue(status.getFilekey().array());
                        final EncryptedFileKey encryptFileKey = Crypto.encryptFileKey(
                                TripleCryptConverter.toCryptoPlainFileKey(fileKey), TripleCryptConverter
                                        .toCryptoUserPublicKey(session.keyPair().getPublicKeyContainer()));
                        body.setFileKey(TripleCryptConverter.toSwaggerFileKey(encryptFileKey));
                    }
                    final Node upload = new NodesApi(client).completeFileUpload(StringUtils.EMPTY, uploadId,
                            null, body);
                    return new VersionId(String.valueOf(upload.getId()));
                } catch (IOException e) {
                    throw new HttpExceptionMappingService().map("Upload {0} failed", e, file);
                } catch (ApiException e) {
                    throw new SDSExceptionMappingService().map("Upload {0} failed", e, file);
                } catch (CryptoSystemException | InvalidFileKeyException | InvalidKeyPairException e) {
                    throw new CryptoExceptionMappingService().map("Upload {0} failed", e, file);
                }
            }

            @Override
            public long getContentLength() {
                return entity.getContentLength();
            }
        };
        return this.write(file, status, command, entity);
    } catch (ApiException e) {
        throw new SDSExceptionMappingService().map("Upload {0} failed", e, file);
    }
}

From source file:cf.nats.message.Demarshalling.java

@Test
public void routerRegisterUaa() throws Exception {
    final ObjectReader reader = mapper.reader(RouterRegister.class);
    final String routerRegisterMessage = "{\"host\":\"127.0.0.1\",\"port\":8100,\"uris\":[\"uaa.mikeheath.cloudfoundry.me\",\"login.mikeheath.cloudfoundry.me\"],\"tags\":{\"component\":\"uaa\"}}";
    final RouterRegister routerRegister = reader.readValue(routerRegisterMessage);
    assertNotNull(routerRegister);/* w  w w . j  a v a2 s.  c  o  m*/
    assertEquals("127.0.0.1", routerRegister.getHost());
    assertEquals(Integer.valueOf(8100), routerRegister.getPort());
    assertEquals("uaa.mikeheath.cloudfoundry.me", routerRegister.getUris().get(0));
    assertEquals("login.mikeheath.cloudfoundry.me", routerRegister.getUris().get(1));
}

From source file:cf.nats.message.Demarshalling.java

@Test
public void componentAnnounceRouter() throws Exception {
    final ObjectReader reader = mapper.reader(ComponentAnnounce.class);
    final String router = "{\"type\":\"Router\",\"index\":0,\"uuid\":\"0-9adf36d840acd3b1747cdaf4cf4cc949\",\"host\":\"127.0.0.1:8080\",\"credentials\":[\"f0e24f6bb38ec0cb\",\"72153443a92c05be\"],\"start\":\"2012-11-14 05:35:16 +0000\"}";
    final ComponentAnnounce routerAnnounce = reader.readValue(router);
    assertNotNull(routerAnnounce);//from   w w  w  .ja v a  2s.  c  o m
    assertEquals(ComponentAnnounce.TYPE_ROUTER, routerAnnounce.getType());
    assertEquals(Integer.valueOf(0), routerAnnounce.getIndex());
    assertEquals("0-9adf36d840acd3b1747cdaf4cf4cc949", routerAnnounce.getUuid());
}

From source file:cf.nats.message.Demarshalling.java

@Test
public void routerRegisterDeaApp() throws Exception {
    final ObjectReader reader = mapper.reader(RouterRegister.class);
    final String routerRegisterMessage = "{\"dea\":\"0-02ab79376f8a42fe82503ec2a258c345\",\"app\":\"1\",\"host\":\"127.0.0.1\",\"port\":22173,\"uris\":[\"hello.mikeheath.cloudfoundry.me\"],\"tags\":{\"framework\":\"sinatra\",\"runtime\":\"ruby18\"}}";
    final RouterRegister routerRegister = reader.readValue(routerRegisterMessage);
    assertNotNull(routerRegister);//ww  w.j av  a2 s .c om
    assertEquals("127.0.0.1", routerRegister.getHost());
    assertEquals(Integer.valueOf(22173), routerRegister.getPort());
    assertEquals("0-02ab79376f8a42fe82503ec2a258c345", routerRegister.getDea());
    assertEquals("hello.mikeheath.cloudfoundry.me", routerRegister.getUris().get(0));
}

From source file:com.unboundid.scim2.server.providers.DotSearchFilter.java

/**
 * {@inheritDoc}/*  w w w.  j  av a 2 s  .c  o m*/
 */
public void filter(final ContainerRequestContext requestContext) throws IOException {
    if (requestContext.getMethod().equals(HttpMethod.POST)
            && requestContext.getUriInfo().getPath().endsWith(SEARCH_WITH_POST_PATH_EXTENSION))

    {
        if (requestContext.getMediaType() == null
                || !(requestContext.getMediaType().isCompatible(ServerUtils.MEDIA_TYPE_SCIM_TYPE)
                        || requestContext.getMediaType().isCompatible(MediaType.APPLICATION_JSON_TYPE))) {
            throw new NotSupportedException();
        }

        ObjectReader reader = JsonUtils.getObjectReader().forType(SearchRequest.class);
        JsonParser p = reader.getFactory().createParser(requestContext.getEntityStream());
        if (p.nextToken() == null) {
            throw new BadRequestException(new NoContentException("Empty Entity"));
        }
        SearchRequest searchRequest = reader.readValue(p);
        UriBuilder builder = requestContext.getUriInfo().getBaseUriBuilder();
        List<PathSegment> pathSegments = requestContext.getUriInfo().getPathSegments();
        for (int i = 0; i < pathSegments.size() - 1; i++) {
            builder.path(pathSegments.get(i).getPath());
        }
        if (searchRequest.getAttributes() != null) {
            builder.queryParam(QUERY_PARAMETER_ATTRIBUTES,
                    StaticUtils.collectionToString(searchRequest.getAttributes(), ","));
        }
        if (searchRequest.getExcludedAttributes() != null) {
            builder.queryParam(QUERY_PARAMETER_EXCLUDED_ATTRIBUTES,
                    StaticUtils.collectionToString(searchRequest.getExcludedAttributes(), ","));
        }
        if (searchRequest.getFilter() != null) {
            builder.queryParam(QUERY_PARAMETER_FILTER, searchRequest.getFilter());
        }
        if (searchRequest.getSortBy() != null) {
            builder.queryParam(QUERY_PARAMETER_SORT_BY, searchRequest.getSortBy());
        }
        if (searchRequest.getSortOrder() != null) {
            builder.queryParam(QUERY_PARAMETER_SORT_ORDER, searchRequest.getSortOrder().getName());
        }
        if (searchRequest.getStartIndex() != null) {
            builder.queryParam(QUERY_PARAMETER_PAGE_START_INDEX, searchRequest.getStartIndex());
        }
        if (searchRequest.getCount() != null) {
            builder.queryParam(QUERY_PARAMETER_PAGE_SIZE, searchRequest.getCount());
        }
        requestContext.setRequestUri(builder.build());
        requestContext.setMethod(HttpMethod.GET);
    }
}

From source file:com.zero_x_baadf00d.play.module.redis.RedisModuleImpl.java

@Override
public <T> List<T> getFromList(final String key, final TypeReference<T> typeReference, final int offset,
        final int count) {
    final List<T> objects = new ArrayList<>();
    try {/*from   w  ww . j  a  v a2  s  . c o m*/
        final List<String> rawData;
        try (final Jedis jedis = this.redisPool.getResource()) {
            if (this.redisDefaultDb != null) {
                jedis.select(this.redisDefaultDb);
            }
            rawData = jedis.lrange(key, offset, count > 0 ? count - 1 : count);
        }
        if (rawData != null) {
            final ObjectReader objectReader = Json.mapper().readerFor(typeReference);
            for (final String s : rawData) {
                objects.add(objectReader.readValue(s));
            }
        }
    } catch (IOException | NullPointerException ex) {
        RedisModuleImpl.LOG.error("Something goes wrong with Redis module", ex);
    }
    return objects;
}

From source file:com.basistech.rosette.dm.json.array.JsonTest.java

@Test
public void roundTrip() throws Exception {
    ObjectMapper mapper = AnnotatedDataModelModule.setupObjectMapper(new ObjectMapper());
    ObjectWriter objectWriter = mapper.writer();
    String json = objectWriter.writeValueAsString(referenceText);

    ObjectReader reader = mapper.readerFor(AnnotatedText.class);
    AnnotatedText read = reader.readValue(json);

    ListAttribute<BaseNounPhrase> bnpList = read.getBaseNounPhrases();
    assertNotNull(bnpList);//from  w w  w .  j  av a  2 s.c  o m
    assertEquals(1, bnpList.size());
    BaseNounPhrase bnp = bnpList.get(0);
    assertEquals(baseNounPhrase, bnp);

    ListAttribute<com.basistech.rosette.dm.EntityMention> emList = read.getEntityMentions();
    assertNotNull(emList);
    assertEquals(1, emList.size());
    com.basistech.rosette.dm.EntityMention em = emList.get(0);
    assertEquals(entityMention, em);

    ListAttribute<RelationshipMention> rmList = read.getRelationshipMentions();
    assertNotNull(rmList);
    assertEquals(1, rmList.size());
    RelationshipMention rm = rmList.get(0);
    assertEquals(relationshipMention, rm);

    ListAttribute<com.basistech.rosette.dm.ResolvedEntity> resolvedEntityList = read.getResolvedEntities();
    assertNotNull(resolvedEntityList);
    assertEquals(1, resolvedEntityList.size());
    com.basistech.rosette.dm.ResolvedEntity e = resolvedEntityList.get(0);
    assertEquals(resolvedEntity, e);

    ListAttribute<LanguageDetection> languageDetectionList = read.getLanguageDetectionRegions();
    assertNotNull(languageDetectionList);
    assertEquals(1, languageDetectionList.size());

    assertEquals(languageDetectionRegion, languageDetectionList.get(0));
    assertEquals(languageDetection, read.getWholeTextLanguageDetection());

    ListAttribute<ScriptRegion> scriptRegionList = read.getScriptRegions();
    assertNotNull(scriptRegionList);
    assertEquals(1, scriptRegionList.size());

    assertEquals(scriptRegion, scriptRegionList.get(0));

    ListAttribute<Sentence> sentences = read.getSentences();
    assertNotNull(sentences);

    assertEquals(sentence, sentences.get(0));

    ListAttribute<Token> tokenList = read.getTokens();
    assertNotNull(tokenList);
    assertEquals(1, tokenList.size());
    assertEquals(token, tokenList.get(0));

    ListAttribute<TranslatedData> dataTranslations = read.getTranslatedData();
    assertEquals(germanTranslatedData, dataTranslations.get(0));
    assertEquals(spanishTranslatedData, dataTranslations.get(1));

    ListAttribute<TranslatedTokens> translatedTokens = read.getTranslatedTokens();
    assertEquals(germanTranslation, translatedTokens.get(0));
    assertEquals(spanishTranslation, translatedTokens.get(1));

    assertEquals(categoryResult, read.getCategorizerResults().get(0));

    assertEquals(sentimentResult, read.getSentimentResults().get(0));

    assertEquals(topicResult, read.getTopicResults().get(0));
}