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

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

Introduction

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

Prototype

public ObjectWriter writer() 

Source Link

Document

Convenience method for constructing ObjectWriter with default settings.

Usage

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

@Test
public void roundTripOldEntities() throws Exception {
    StringWriter writer = new StringWriter();
    ObjectMapper mapper = AnnotatedDataModelModule.setupObjectMapper(new ObjectMapper());
    ObjectWriter objectWriter = mapper.writer();
    objectWriter.writeValue(writer, referenceTextOldEntities);

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

    ListAttribute<BaseNounPhrase> bnpList = read.getBaseNounPhrases();
    assertNotNull(bnpList);//w  ww . ja  va2  s . com
    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));
}

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

@Test
public void roundTrip() throws Exception {
    StringWriter writer = new StringWriter();
    ObjectMapper mapper = AnnotatedDataModelModule.setupObjectMapper(new ObjectMapper());
    ObjectWriter objectWriter = mapper.writer();
    objectWriter.writeValue(writer, referenceText);

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

    ListAttribute<BaseNounPhrase> bnpList = read.getBaseNounPhrases();
    assertNotNull(bnpList);//from   w ww  .ja  va  2 s .co  m
    assertEquals(1, bnpList.size());
    BaseNounPhrase bnp = bnpList.get(0);
    assertEquals(baseNounPhrase, bnp);

    ListAttribute<Entity> entityList = read.getEntities();
    assertNotNull(entityList);
    assertEquals(1, entityList.size());
    Entity en = entityList.get(0);
    assertEquals(0.4, en.getSalience(), 0.0001); // just make sure the salience field works all around.
    assertEquals(entity, en);

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

    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("V", read.getDependencies().get(0).getRelationship());
    assertEquals(-1, read.getDependencies().get(0).getGovernorTokenIndex());
    assertEquals(0, read.getDependencies().get(0).getDependencyTokenIndex());

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

    Embeddings readEmbeddings = read.getEmbeddings();
    assertEquals(embeddings, readEmbeddings);
}

From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java

@Test
public void testGenerateDocumentationForExternalSerializer() throws Exception {
    // given/*from w  w  w  . ja  va 2 s  . co m*/
    ObjectMapper mapper = createMapper();

    JavadocReader javadocReader = mock(JavadocReader.class);
    when(javadocReader.resolveFieldComment(ExternalSerializer.class, "bigDecimal")).thenReturn("A decimal");

    ConstraintReader constraintReader = mock(ConstraintReader.class);

    SimpleModule testModule = new SimpleModule("TestModule");
    testModule.addSerializer(new BigDecimalSerializer());
    mapper.registerModule(testModule);

    FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader,
            constraintReader);
    Type type = ExternalSerializer.class;

    // when
    List<ExtendedFieldDescriptor> fieldDescriptions = cast(
            generator.generateDocumentation(type, mapper.getTypeFactory()));

    // then
    assertThat(fieldDescriptions.size(), is(1));
    assertThat(fieldDescriptions.get(0), is(descriptor("bigDecimal", "Decimal", "A decimal", "true")));
}

From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java

@Test
public void testGenerateDocumentationForRecursiveTypes() throws Exception {
    // given//from  www  .ja  va2 s  .  c o m
    ObjectMapper mapper = createMapper();
    JavadocReader javadocReader = mock(JavadocReader.class);
    when(javadocReader.resolveFieldComment(RecursiveType.class, "value")).thenReturn("Type value");
    when(javadocReader.resolveFieldComment(RecursiveType.class, "children")).thenReturn("Child types");
    when(javadocReader.resolveFieldComment(RecursiveType.class, "sibling")).thenReturn("Sibling type");

    ConstraintReader constraintReader = mock(ConstraintReader.class);

    FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader,
            constraintReader);
    Type type = RecursiveType.class;

    // when
    List<ExtendedFieldDescriptor> fieldDescriptions = cast(
            generator.generateDocumentation(type, mapper.getTypeFactory()));

    // then
    assertThat(fieldDescriptions.size(), is(3));
    assertThat(fieldDescriptions.get(0), is(descriptor("value", "String", "Type value", "true")));
    assertThat(fieldDescriptions.get(1), is(descriptor("children", "Array", "Child types", "true")));
    assertThat(fieldDescriptions.get(2), is(descriptor("sibling", "Object", "Sibling type", "true")));
}

From source file:io.druid.query.aggregation.AggregationTestHelper.java

public QueryRunner<Row> makeStringSerdeQueryRunner(final ObjectMapper mapper, final QueryToolChest toolChest,
        final Query<Row> query, final QueryRunner<Row> baseRunner) {
    return new QueryRunner<Row>() {
        @Override/*  w w w.  ja v  a2  s . c o  m*/
        public Sequence<Row> run(Query<Row> query, Map<String, Object> map) {
            try {
                Sequence<Row> resultSeq = baseRunner.run(query, Maps.<String, Object>newHashMap());
                final Yielder yielder = resultSeq.toYielder(null, new YieldingAccumulator() {
                    @Override
                    public Object accumulate(Object accumulated, Object in) {
                        yield();
                        return in;
                    }
                });
                String resultStr = mapper.writer().writeValueAsString(yielder);

                List resultRows = Lists
                        .transform((List<Row>) mapper.readValue(resultStr, new TypeReference<List<Row>>() {
                        }), toolChest.makePreComputeManipulatorFn(query, MetricManipulatorFns.deserializing()));
                return Sequences.simple(resultRows);
            } catch (Exception ex) {
                throw Throwables.propagate(ex);
            }
        }
    };
}

From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java

@Test
public void testGenerateDocumentationForPrimitiveTypes() throws Exception {
    // given//from w ww . j  a  v a 2 s.  c o m
    ObjectMapper mapper = createMapper();
    JavadocReader javadocReader = mock(JavadocReader.class);
    when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "stringField")).thenReturn("A string");
    when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "booleanField")).thenReturn("A boolean");
    when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "numberField1")).thenReturn("An integer");
    when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "numberField2")).thenReturn("A decimal");

    ConstraintReader constraintReader = mock(ConstraintReader.class);

    FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader,
            constraintReader);
    Type type = PrimitiveTypes.class;

    // when
    List<ExtendedFieldDescriptor> fieldDescriptions = cast(
            generator.generateDocumentation(type, mapper.getTypeFactory()));
    // then
    assertThat(fieldDescriptions.size(), is(4));
    assertThat(fieldDescriptions.get(0), is(descriptor("stringField", "String", "A string", "true")));
    assertThat(fieldDescriptions.get(1), is(descriptor("booleanField", "Boolean", "A boolean", "true")));
    assertThat(fieldDescriptions.get(2), is(descriptor("numberField1", "Integer", "An integer", "true")));
    assertThat(fieldDescriptions.get(3), is(descriptor("numberField2", "Decimal", "A decimal", "true")));
}

From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java

@Test
public void testGenerateDocumentationForJacksonAnnotations() throws Exception {
    // given//w  ww. ja va 2  s  .c  o  m
    ObjectMapper mapper = createMapper();

    JavadocReader javadocReader = mock(JavadocReader.class);
    when(javadocReader.resolveFieldComment(JsonAnnotations.class, "location")).thenReturn("A location");
    when(javadocReader.resolveFieldComment(JsonAnnotations.class, "uri")).thenReturn("A uri");
    when(javadocReader.resolveMethodComment(JsonAnnotations.class, "getParameter")).thenReturn("A parameter");
    when(javadocReader.resolveFieldComment(JsonAnnotations.Meta.class, "headers")).thenReturn("A header map");

    ConstraintReader constraintReader = mock(ConstraintReader.class);

    FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader,
            constraintReader);
    Type type = JsonAnnotations.class;

    // when
    List<ExtendedFieldDescriptor> fieldDescriptions = cast(
            generator.generateDocumentation(type, mapper.getTypeFactory()));

    // then
    assertThat(fieldDescriptions.size(), is(4));
    // @JsonPropertyOrder puts it to first place
    assertThat(fieldDescriptions.get(0), is(descriptor("uri", "String", "A uri", "true")));
    // @JsonProperty
    assertThat(fieldDescriptions.get(1), is(descriptor("path", "String", "A location", "true")));
    // @JsonGetter
    assertThat(fieldDescriptions.get(2), is(descriptor("param", "String", "A parameter", "true")));
    // @JsonUnwrapped
    assertThat(fieldDescriptions.get(3), is(descriptor("headers", "Map", "A header map", "true")));
}

From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java

@Test
public void testGenerateDocumentationForNestedTypes() throws Exception {
    // given//from  w  ww. j a  va 2 s  . com
    ObjectMapper mapper = createMapper();
    JavadocReader javadocReader = mock(JavadocReader.class);
    when(javadocReader.resolveFieldComment(FirstLevel.class, "second")).thenReturn("2nd level");
    when(javadocReader.resolveFieldComment(SecondLevel.class, "third")).thenReturn("3rd level");
    when(javadocReader.resolveFieldComment(ThirdLevel.class, "fourth")).thenReturn("4th level");
    when(javadocReader.resolveFieldComment(FourthLevel.class, "fifth")).thenReturn("5th level");
    when(javadocReader.resolveFieldComment(FifthLevel.class, "last")).thenReturn("An integer");

    ConstraintReader constraintReader = mock(ConstraintReader.class);

    FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader,
            constraintReader);
    Type type = FirstLevel.class;

    // when
    List<ExtendedFieldDescriptor> fieldDescriptions = cast(
            generator.generateDocumentation(type, mapper.getTypeFactory()));

    // then
    assertThat(fieldDescriptions.size(), is(5));
    assertThat(fieldDescriptions.get(0), is(descriptor("second", "Object", "2nd level", "true")));
    assertThat(fieldDescriptions.get(1), is(descriptor("second.third", "Array", "3rd level", "true")));
    assertThat(fieldDescriptions.get(2),
            is(descriptor("second.third[].fourth", "Object", "4th level", "true")));
    assertThat(fieldDescriptions.get(3),
            is(descriptor("second.third[].fourth.fifth", "Array", "5th level", "true")));
    assertThat(fieldDescriptions.get(4),
            is(descriptor("second.third[].fourth.fifth[].last", "Integer", "An integer", "true")));
}

From source file:com.streamsets.datacollector.execution.runner.cluster.ClusterRunner.java

@VisibleForTesting
void validateAndSetStateTransition(PipelineStatus toStatus, String message, Map<String, Object> attributes)
        throws PipelineStoreException, PipelineRunnerException {
    Utils.checkState(attributes != null, "Attributes cannot be set to null");
    PipelineState fromState = getState();
    if (fromState.getStatus() == toStatus && toStatus != PipelineStatus.STARTING) {
        LOG.debug(// ww w.  ja v a  2 s  .  c  o  m
                Utils.format("Ignoring status '{}' as this is same as current status", fromState.getStatus()));
    } else {
        PipelineState pipelineState;
        synchronized (this) {
            fromState = getState();
            checkState(VALID_TRANSITIONS.get(fromState.getStatus()).contains(toStatus),
                    ContainerError.CONTAINER_0102, fromState.getStatus(), toStatus);
            long nextRetryTimeStamp = fromState.getNextRetryTimeStamp();
            int retryAttempt = fromState.getRetryAttempt();
            if (toStatus == PipelineStatus.RUN_ERROR && shouldRetry) {
                toStatus = PipelineStatus.RETRY;
                checkState(VALID_TRANSITIONS.get(fromState.getStatus()).contains(toStatus),
                        ContainerError.CONTAINER_0102, fromState.getStatus(), toStatus);
            }
            if (toStatus == PipelineStatus.RETRY && fromState.getStatus() != PipelineStatus.CONNECTING) {
                retryAttempt = fromState.getRetryAttempt() + 1;
                if (retryAttempt > maxRetries && maxRetries != -1) {
                    LOG.info("Retry attempt '{}' is greater than max no of retries '{}'", retryAttempt,
                            maxRetries);
                    toStatus = PipelineStatus.RUN_ERROR;
                    retryAttempt = 0;
                    nextRetryTimeStamp = 0;
                } else {
                    nextRetryTimeStamp = RetryUtils.getNextRetryTimeStamp(retryAttempt,
                            getState().getTimeStamp());
                    long delay = 0;
                    long currentTime = System.currentTimeMillis();
                    if (nextRetryTimeStamp > currentTime) {
                        delay = nextRetryTimeStamp - currentTime;
                    }
                    retryFuture = scheduleForRetries(runnerExecutor, delay);
                }
            } else if (!toStatus.isActive()) {
                retryAttempt = 0;
                nextRetryTimeStamp = 0;
            }
            ObjectMapper objectMapper = ObjectMapperFactory.get();
            String metricsJSONStr = null;
            if (!toStatus.isActive() || toStatus == PipelineStatus.DISCONNECTED) {
                Object metrics = getMetrics();
                if (metrics != null) {
                    try {
                        metricsJSONStr = objectMapper.writer().writeValueAsString(metrics);
                    } catch (JsonProcessingException e) {
                        throw new PipelineStoreException(ContainerError.CONTAINER_0210, e.toString(), e);
                    }
                }
                if (metricsJSONStr == null) {
                    metricsJSONStr = getState().getMetrics();
                }
            }
            pipelineState = pipelineStateStore.saveState(user, name, rev, toStatus, message, attributes,
                    getState().getExecutionMode(), metricsJSONStr, retryAttempt, nextRetryTimeStamp);
        }
        // This should be out of sync block
        if (eventListenerManager != null) {
            eventListenerManager.broadcastStateChange(fromState, pipelineState, ThreadUsage.CLUSTER);
        }
    }
}