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

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

Introduction

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

Prototype

public ObjectWriter writerWithDefaultPrettyPrinter() 

Source Link

Document

Factory method for constructing ObjectWriter that will serialize objects using the default pretty printer for indentation

Usage

From source file:edu.cornell.kfs.sys.web.controller.DataObjectRestServiceController.java

@RequestMapping(value = "/{namespace}/{dataobject}.json", method = RequestMethod.GET, produces = "application/json")
@ResponseBody//from w w  w .ja  v  a  2 s  .  c om
public ResponseEntity<String> getDataObjectsAsJSON(@PathVariable("namespace") String namespace,
        @PathVariable("dataobject") String dataobject, HttpServletRequest request) throws Exception {
    FinancialSystemBusinessObjectEntry boe = getBusinessObject(dataobject);
    validateRequest(boe, namespace, dataobject, request);

    try {
        List<Map<String, String>> resultMap = generateResultMap(request, boe);

        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);

        String jsonData = null;
        if (resultMap.size() == 1) {
            jsonData = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(resultMap.get(0))
                    .replaceFirst(HashMap.class.getSimpleName(), boe.getBusinessObjectClass().getName());
        } else {
            jsonData = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(resultMap).replaceFirst(
                    ArrayList.class.getSimpleName(),
                    ArrayList.class.getSimpleName() + "<" + boe.getBusinessObjectClass().getName() + ">");
        }

        return new ResponseEntity<String>(jsonData, HttpStatus.OK);
    } catch (Exception e) {
        LOG.error("Unexpected exception has occured.", e);
        throw new RuntimeException("Unexpected exception has occured.");
    }
}

From source file:org.opencb.opencga.app.cli.analysis.executors.VariantCommandExecutor.java

private void query() throws Exception {

    //        AnalysisCliOptionsParser.QueryVariantCommandOptions cliOptions = variantCommandOptions.queryVariantCommandOptions;
    VariantCommandOptions.VariantQueryCommandOptions cliOptions = variantCommandOptions.queryVariantCommandOptions;

    if ("TEXT".equals(cliOptions.commonOptions.outputFormat)) {
        cliOptions.commonOptions.outputFormat = "VCF";
    }/*from w w w .  j a v  a  2 s .  co m*/

    Map<Long, String> studyIds = getStudyIds(sessionId);
    Query query = VariantQueryCommandUtils.parseQuery(cliOptions, studyIds);
    QueryOptions queryOptions = VariantQueryCommandUtils.parseQueryOptions(cliOptions);
    queryOptions.put("summary", cliOptions.genericVariantQueryOptions.summary);

    VariantStorageManager variantManager = new VariantStorageManager(catalogManager, storageEngineFactory);

    if (cliOptions.numericOptions.count) {
        QueryResult<Long> result = variantManager.count(query, sessionId);
        System.out.println("Num. results\t" + result.getResult().get(0));
    } else if (StringUtils.isNotEmpty(cliOptions.genericVariantQueryOptions.groupBy)) {
        ObjectMapper objectMapper = new ObjectMapper();
        QueryResult groupBy = variantManager.groupBy(cliOptions.genericVariantQueryOptions.groupBy, query,
                queryOptions, sessionId);
        System.out
                .println("rank = " + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(groupBy));
    } else if (StringUtils.isNotEmpty(cliOptions.genericVariantQueryOptions.rank)) {
        ObjectMapper objectMapper = new ObjectMapper();

        QueryResult rank = variantManager.rank(query, cliOptions.genericVariantQueryOptions.rank, 10, true,
                sessionId);
        System.out.println("rank = " + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(rank));
    } else {
        if (cliOptions.genericVariantQueryOptions.annotations != null) {
            queryOptions.add("annotations", cliOptions.genericVariantQueryOptions.annotations);
        }
        VariantWriterFactory.VariantOutputFormat outputFormat = VariantWriterFactory
                .toOutputFormat(cliOptions.commonOptions.outputFormat, cliOptions.output);
        variantManager.exportData(cliOptions.output, outputFormat, query, queryOptions, sessionId);
    }
}

From source file:com.dawg6.web.dhcalc.server.DHCalcServiceImpl.java

public String toJson(ApiData object) {
    try {//from   w  ww .  j  a v  a 2 s . c o m
        ObjectMapper mapper = new ObjectMapper();
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        String str = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);

        return str;
    } catch (Exception e) {
        log.log(Level.SEVERE, "Exception Serializing Object", e);
        return null;
    }
}

From source file:puma.central.pdp.CentralPUMAPDP.java

@Override
public String getMetrics() {
    ObjectMapper mapper = new ObjectMapper();
    ObjectWriter writer = mapper.writerWithDefaultPrettyPrinter();
    try {/*from www. j a v  a  2s.c  o  m*/
        return writer.writeValueAsString(TimerFactory.getInstance().getMetricRegistry());
    } catch (JsonProcessingException e) {
        logger.log(Level.WARNING, "Exception on JSON encoding of metrics", e);
        return "";
    }
}

From source file:io.apicurio.hub.api.rest.impl.DesignsResourceTest.java

/**
 * Normalizes JSON into a standard format.
 * @param jsonContent// w ww.ja  v a 2s  .  c  o m
 * @throws IOException 
 * @throws JsonProcessingException 
 */
private String normalizeJson(String jsonContent) throws JsonProcessingException, IOException {
    ObjectMapper mapper = new ObjectMapper();
    JsonNode expectedJson = mapper.readTree(jsonContent);
    String njson = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(expectedJson);
    return njson;
}

From source file:org.eclipse.winery.bpmn2bpel.parser.Bpmn4JsonParser.java

@Override
public ManagementFlow parse(URI jsonFileUrl) throws ParseException {

    try {//w  w  w .j  a  va 2s.c om
        // general method, same as with data binding
        ObjectMapper mapper = new ObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        // (note: can also use more specific type, like ArrayNode or
        // ObjectNode!)
        JsonNode rootNode = mapper.readValue(jsonFileUrl.toURL(), JsonNode.class);

        String prettyPrintedJson = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rootNode);
        log.debug("Creating management flow from following Json model:" + prettyPrintedJson);

        ManagementFlow managementFlow = new ManagementFlow();
        /* Contains the ids (values) of the target nodes of a certain node
         * (key is node id of this node) */
        Map<String, Set<String>> nodeWithTargetsMap = new HashMap<String, Set<String>>();

        /* Create model objects from Json nodes */
        log.debug("Creating node models...");
        Iterator<JsonNode> iter = rootNode.iterator();
        while (iter.hasNext()) {
            JsonNode jsonNode = (JsonNode) iter.next();

            /*
             * As top level elements just start events, end events and
             * management tasks expected which are transformed to tasks in
             * our management model
             */
            Task task = createTaskFromJson(jsonNode);
            /*
             * Task may be null if it could not be created due to missing or
             * incorrect fields/values in the Json node
             */
            if (task != null) {
                managementFlow.addVertex(task);

                // TODO GATEWAAAAYYYYSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
                // !!!!!!!!!!!!!!!!!!

                /*
                 * To create the links later, relate the id of the created
                 * node with its direct successor nodes
                 */
                nodeWithTargetsMap.put(task.getId(), extractNodeTargetIds(jsonNode));
            } else {
                String ignoredJsonNode = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);
                log.warn(
                        "No model element could be created from following node due to missing or invalid keys/values :"
                                + ignoredJsonNode);
            }
        }

        /*
         * Now since all node models are created they can be linked with each other in the management flow
         */
        log.debug("Building management flow by relating node models...");
        Iterator<Map.Entry<String, Set<String>>> nodeWithTargetsMapIter = nodeWithTargetsMap.entrySet()
                .iterator();
        while (nodeWithTargetsMapIter.hasNext()) {
            Map.Entry<String, Set<String>> inputParamEntry = (Map.Entry<String, Set<String>>) nodeWithTargetsMapIter
                    .next();
            String srcNodeId = inputParamEntry.getKey();
            Node srcNode = managementFlow.getNode(srcNodeId);
            if (srcNode == null) {
                throw new Exception(
                        "Node with id '" + srcNodeId + "' could not be found in the management flow.");
            }

            /* Relate the source node with its link targets */
            Iterator<String> nodeTargetIdsIter = inputParamEntry.getValue().iterator();
            while (nodeTargetIdsIter.hasNext()) {
                String targetNodeId = (String) nodeTargetIdsIter.next();
                Node targetNode = managementFlow.getNode(targetNodeId);
                if (targetNode == null) {
                    throw new Exception(
                            "Node with id '" + targetNodeId + "' could not be found in the management flow.");
                }

                log.debug("Creating link between node with id '" + srcNodeId + "' and target node with id '"
                        + targetNodeId + "'");
                managementFlow.addEdge(srcNode, targetNode);
            }
        }

        return managementFlow;

    } catch (Exception e) {
        log.error("Error while creating management flow : " + e.getMessage());
        throw new ParseException(e);
    }

}

From source file:FileServer.ElasticSearch.ElasticSearchRetrievingInterface.java

public ResultsWrapper<DocumentResultEntity> queryDocument(QueryWrapper queryWrapper) {

    ObjectMapper mapper = new ObjectMapper();

    String url = fileQueryURL;//from   w w w . j  a v  a2s. c  om
    String query = QueryStringBuilder.buildDocumentQuery(queryWrapper);

    System.out.println(query);

    ResultsWrapper<DocumentResultEntity> resultList = new ResultsWrapper<>();
    List<DocumentResultEntity> retrievedResults = new ArrayList<>();

    try {

        HttpResponse<String> res = Unirest.post(url).body(query).asString();

        JsonNode root = mapper.readTree(res.getBody());

        System.out.println("*****************************************************************");
        System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(root));
        Logger.getGlobal().log(Level.INFO, mapper.writerWithDefaultPrettyPrinter().writeValueAsString(root));

        resultList.setQuery(queryWrapper.extractedContentFeild);
        resultList.setSearchTime(root.get("took").toString());
        resultList.setResultNum(root.get("hits").get("total").toString());

        JsonNode jsonResultList = root.get("hits").get("hits");

        if (jsonResultList.isArray()) {
            for (JsonNode result : jsonResultList) {

                JsonNode content = result.get("_source");

                DocumentResultEntity resultEntity = new DocumentResultEntity();
                resultEntity.fileId = content.get("fileId").asText();
                resultEntity.filename = content.get("filename").asText();
                resultEntity.from = content.get("from").asText();
                resultEntity.to = content.get("to").asText();
                resultEntity.url = fileServerURL + content.get("filename").asText();

                JsonNode highlights = result.get("highlight");

                System.out.println(resultEntity.url);

                if (highlights != null) {
                    StringBuilder builder = new StringBuilder();
                    for (JsonNode snippet : highlights.get("extractedContent")) {
                        builder.append(snippet.asText() + ".....");
                        //fs.extractedContent += snippet.toString() + "...";
                    }

                    resultEntity.extractedContent = builder.toString();
                }

                retrievedResults.add(resultEntity);
            }
        }

        resultList.setResultList(retrievedResults);

    } catch (UnirestException ex) {
        Logger.getLogger(ElasticSearchRetrievingInterface.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(ElasticSearchRetrievingInterface.class.getName()).log(Level.SEVERE, null, ex);
    }

    return resultList;

}

From source file:br.eti.ns.nscteapiclientexample.EmissaoCTeForm.java

private void cmdEnviarCTeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdEnviarCTeActionPerformed
    String dadosCTe = textDadosCTe.getText();
    String tokenAcesso = txtTokenAcesso.getText();

    if (StringUtils.isBlank(dadosCTe)) {
        JOptionPane.showMessageDialog(null, "Os dados do CT-e devem ser informados");
        return;//from ww w.  j av a  2 s . co  m
    }

    if (StringUtils.isBlank(tokenAcesso)) {
        JOptionPane.showMessageDialog(null, "O Token de Acesso deve ser informado");
        return;
    }

    try {

        Response respostaServidor = ApiCTeService.emitirCTe(chkEmitirEmTxt.isSelected(), tokenAcesso, dadosCTe);
        StringBuilder retornoTexto = new StringBuilder();

        retornoTexto.append("Status HTTP: ").append(respostaServidor.getStatus()).append(" - ")
                .append(respostaServidor.getStatusInfo().getReasonPhrase()).append("\n");

        String corpoDaResposta = respostaServidor.readEntity(String.class);

        try {
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode responseJson = objectMapper.readTree(corpoDaResposta);

            txtChave.setText(responseJson.get("chCTe").asText());
            txtNRec.setText(responseJson.get("retEnviCte").get("nRec").asText());
            retornoTexto.append("\n\nDados retornados pelo servidor:\n")
                    .append(objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(responseJson));

        } catch (Exception e) {
            retornoTexto.append("\n\nDados retornados pelo servidor:\n").append(corpoDaResposta);
        }

        textRetornoServidor.setText(retornoTexto.toString());

    } catch (Exception e) {
        textRetornoServidor.setText(e.getMessage());
    }

}

From source file:org.tsugi.lti2.LTI2Servlet.java

protected void getToolConsumerProfile(HttpServletRequest request, HttpServletResponse response,
        String profile_id) {/*from w w w.  j  a  v a2s.c o m*/
    // Map<String,Object> deploy = ltiService.getDeployForConsumerKeyDao(profile_id);
    Map<String, Object> deploy = null;

    ToolConsumer consumer = buildToolConsumerProfile(request, deploy, profile_id);

    ObjectMapper mapper = new ObjectMapper();
    try {
        // http://stackoverflow.com/questions/6176881/how-do-i-make-jackson-pretty-print-the-json-content-it-generates
        ObjectWriter writer = mapper.writerWithDefaultPrettyPrinter();
        // ***IMPORTANT!!!*** for Jackson 2.x use the line below instead of the one above: 
        // ObjectWriter writer = mapper.writer().withDefaultPrettyPrinter();
        // System.out.println(mapper.writeValueAsString(consumer));
        response.setContentType(APPLICATION_JSON);
        PrintWriter out = response.getWriter();
        out.println(writer.writeValueAsString(consumer));
        // System.out.println(writer.writeValueAsString(consumer));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:br.eti.ns.nscteapiclientexample.EmissaoCTeForm.java

private void cmdConsultarStatusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdConsultarStatusActionPerformed
    String chCTe = txtChave.getText();
    String nRec = txtNRec.getText();
    String tokenAcesso = txtTokenAcesso.getText();

    if (StringUtils.isBlank(tokenAcesso)) {
        JOptionPane.showMessageDialog(null, "O Token de Acesso deve ser informado");
        return;/*from  www  . j  a va2  s  . c o m*/
    }

    if (StringUtils.isBlank(chCTe)) {
        JOptionPane.showMessageDialog(null, "A chave do CT-e deve ser informada");
        return;
    }

    if (StringUtils.isBlank(nRec)) {
        JOptionPane.showMessageDialog(null, "O nmero de recibo do CT-e deve ser informado");
        return;
    }

    ApiCTeService.StatusProcessamentoParam statusProcessamentoParam = new ApiCTeService.StatusProcessamentoParam();
    statusProcessamentoParam.xAuthToken = tokenAcesso;
    statusProcessamentoParam.tpAmb = 2;
    statusProcessamentoParam.chCTe = chCTe;
    statusProcessamentoParam.nRec = nRec;

    try {
        Response respostaServidor = ApiCTeService.consultarStatusProcessamento(statusProcessamentoParam);
        String corpoDaResposta = respostaServidor.readEntity(String.class);

        StringBuilder retornoTexto = new StringBuilder();
        retornoTexto.append("Status HTTP: ").append(respostaServidor.getStatus()).append(" - ")
                .append(respostaServidor.getStatusInfo().getReasonPhrase()).append("\n");

        try {
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode responseJson = objectMapper.readTree(corpoDaResposta);

            txtStatusCTe.setText(responseJson.get("retProcCTe").get("cStat").asText());
            txtMotivo.setText(responseJson.get("retProcCTe").get("xMotivo").asText());
            retornoTexto.append("\n\nDados retornados pelo servidor:\n")
                    .append(objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(responseJson));

        } catch (Exception e) {
            retornoTexto.append("\n\nDados retornados pelo servidor:\n").append(corpoDaResposta);
        }

        textRetornoServidor.setText(retornoTexto.toString());

    } catch (Exception ex) {
        textRetornoServidor.setText("Erro: " + ex.getMessage());
    }
}