Example usage for com.fasterxml.jackson.core JsonGenerator close

List of usage examples for com.fasterxml.jackson.core JsonGenerator close

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator close.

Prototype

@Override
public abstract void close() throws IOException;

Source Link

Document

Method called to close this generator, so that no more content can be written.

Usage

From source file:com.ibm.ws.lars.rest.FrontPage.java

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType(MediaType.APPLICATION_JSON);
    resp.setCharacterEncoding(StandardCharsets.UTF_8.name());
    PrintWriter printWriter = resp.getWriter();

    List<AssetFilter> filters = new ArrayList<>();
    filters.add(new AssetFilter("state",
            Arrays.asList(new Condition[] { new Condition(Operation.EQUALS, "published") })));
    int assetCount = serviceLayer.countAllAssets(filters, null);

    JsonGenerator frontPageJsonGenerator = new JsonFactory().createGenerator(printWriter);
    frontPageJsonGenerator.setPrettyPrinter(new DefaultPrettyPrinter());

    frontPageJsonGenerator.writeStartObject();
    frontPageJsonGenerator.writeStringField("serverName", "LARS");
    frontPageJsonGenerator.writeNumberField("assetCount", assetCount);
    frontPageJsonGenerator.writeEndObject();

    frontPageJsonGenerator.flush();/*from   w  w  w.  j a va 2 s  . c  om*/
    frontPageJsonGenerator.close();
}

From source file:com.microsoft.azure.storage.core.EncryptionData.java

public String serialize() throws IOException {

    final StringWriter strWriter = new StringWriter();
    JsonGenerator generator = Utility.getJsonGenerator(strWriter);

    try {//from   w  w w .  ja  v a 2  s. com
        // start object
        generator.writeStartObject();

        this.serialize(generator);

        // end object
        generator.writeEndObject();
    } finally {
        generator.close();
    }

    return strWriter.toString();
}

From source file:org.seedstack.seed.core.internal.diagnostic.DefaultDiagnosticReporter.java

void writeDiagnosticReport(Map<String, Object> diagnosticInfo, OutputStream outputStream) throws IOException {
    JsonGenerator jsonGenerator = null;
    try {/*  www  . java  2  s . co m*/
        jsonGenerator = JSON_FACTORY
                .createGenerator(new OutputStreamWriter(outputStream, Charset.forName("UTF-8").newEncoder()));
        jsonGenerator.setPrettyPrinter(DEFAULT_PRETTY_PRINTER);
        jsonGenerator.writeObject(diagnosticInfo);
        jsonGenerator.flush();
    } finally {
        if (jsonGenerator != null) {
            try {
                jsonGenerator.close();
            } catch (IOException e) {
                LOGGER.warn("Unable to close diagnostic stream", e);
            }
        }
    }
}

From source file:com.ntsync.shared.ContactGroup.java

/**
 * Serialize this ContactGroup for transporting to a server
 * //from  w ww  .  j  a va2  s  .c o  m
 * @param secret
 * @param pwdSaltBase64
 * @return null if serializing failed.
 */
public byte[] toDTO(Key secret, String pwdSaltBase64) {
    try {
        ByteArrayOutputStream out = new ByteArrayOutputStream(DEFAULT_BYTEARRAY_SIZE);

        AEADBlockCipher ecipher = CryptoHelper.getCipher();

        byte[] iv = new byte[CryptoHelper.IV_LEN];
        SecureRandom random = new SecureRandom();

        StringBuilder hashValue = new StringBuilder();
        hashValue.append(pwdSaltBase64);
        hashValue.append(title);

        out.write(GroupConstants.ROWID);

        byte[] rowId = String.valueOf(rawId).getBytes(SyncDataHelper.DEFAULT_CHARSET_NAME);

        SyncDataHelper.writeInt(out, rowId.length);
        out.write(rowId);

        JsonFactory json = new JsonFactory();
        StringWriter writer = new StringWriter();
        JsonGenerator g = json.createGenerator(writer);
        g.writeStartObject();

        writeField(g, GroupConstants.TITLE, title);
        writeField(g, GroupConstants.NOTES, notes);

        g.writeEndObject();
        g.close();

        String textData = writer.toString();

        CryptoHelper.writeValue(secret, out, ecipher, iv, random, GroupConstants.TEXTDATA, textData);

        if (lastModified != null) {
            writeRawValue(out, GroupConstants.MODIFIED,
                    String.valueOf(lastModified.getTime()).getBytes(SyncDataHelper.DEFAULT_CHARSET_NAME));
        }

        if (deleted) {
            writeRawValue(out, GroupConstants.DELETED, "1".getBytes(SyncDataHelper.DEFAULT_CHARSET_NAME));
        }
        if (sourceId != null) {
            writeRawValue(out, GroupConstants.SERVERROW_ID,
                    sourceId.getBytes(SyncDataHelper.DEFAULT_CHARSET_NAME));
        }

        MessageDigest md = MessageDigest.getInstance("SHA-256");

        md.update(hashValue.toString().getBytes(SyncDataHelper.DEFAULT_CHARSET_NAME));
        byte[] hash = md.digest();
        writeRawValue(out, GroupConstants.HASH, hash);

        return out.toByteArray();
    } catch (final Exception ex) {
        LOG.error("Error converting ContactGroup to ByteStream: " + ex.toString(), ex);
    }
    return null;
}

From source file:com.graphaware.example.NodeStreamingApi.java

@RequestMapping(path = "v2", method = RequestMethod.GET)
public StreamingResponseBody streamV2() {

    return new StreamingResponseBody() {
        @Override/*  ww w. j ava 2 s  . c  o  m*/
        public void writeTo(final OutputStream outputStream) throws IOException {
            JsonGenerator jsonGenerator = JSON_FACTORY.createGenerator(outputStream);
            jsonGenerator.writeStartArray();

            try (Transaction tx = database.beginTx()) {
                for (Node node : database.getAllNodes()) {
                    jsonGenerator.writeObject(new LongIdJsonNode(node));
                }
                tx.success();
            }

            jsonGenerator.writeEndArray();
            jsonGenerator.close();
        }
    };
}

From source file:org.zalando.logbook.JsonHttpLogFormatter.java

private String compactJson(final String json) throws IOException {
    if (isAlreadyCompacted(json)) {
        return json;
    }/*w w  w. j a  v  a  2 s .  c o m*/

    final StringWriter output = new StringWriter();
    final JsonFactory factory = mapper.getFactory();
    final JsonParser parser = factory.createParser(json);

    final JsonGenerator generator = factory.createGenerator(output);

    // https://github.com/jacoco/jacoco/wiki/FilteringOptions
    //noinspection TryFinallyCanBeTryWithResources - jacoco can't handle try-with correctly
    try {
        while (parser.nextToken() != null) {
            generator.copyCurrentEvent(parser);
        }
    } finally {
        generator.close();
    }

    return output.toString();
}

From source file:org.mashti.jetson.json.JsonRequestEncoder.java

@Override
protected void encodeRequest(final ChannelHandlerContext context, final Integer id, final Method method,
        final Object[] arguments, final ByteBuf out) throws RPCException {

    JsonGenerator generator = null;
    try {/*from  w w  w . ja  va 2s.c om*/
        generator = createJsonGenerator(out);
        generator.writeStartObject();
        generator.writeObjectField(ID_KEY, id);
        generator.writeObjectField(VERSION_KEY, DEFAULT_VERSION);
        generator.writeObjectField(METHOD_NAME_KEY, dispatch.get(method));
        writeRequestParameters(method, arguments, generator);
        generator.writeEndObject();
        generator.flush();
        generator.close();
    } catch (final JsonProcessingException e) {

        LOGGER.debug("failed to encode request", e);
        throw new InternalServerException(e);
    } catch (final IOException e) {
        LOGGER.debug("IO error occurred while encoding request", e);
        throw new TransportException(e);
    } finally {
        CloseableUtil.closeQuietly(generator);
    }
}

From source file:com.ibm.ws.lars.rest.ErrorHandler.java

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setStatus(500);//from  w  ww .  ja  v a2  s  .  c o  m
    response.setContentType(MediaType.APPLICATION_JSON);
    PrintWriter printWriter = response.getWriter();
    JsonGenerator frontPageJsonGenerator = new JsonFactory().createGenerator(printWriter);
    frontPageJsonGenerator.setPrettyPrinter(new DefaultPrettyPrinter());

    frontPageJsonGenerator.writeStartObject();
    frontPageJsonGenerator.writeStringField("message",
            "Internal server error, please contact the server administrator");
    frontPageJsonGenerator.writeNumberField("statusCode", response.getStatus());
    frontPageJsonGenerator.writeEndObject();

    frontPageJsonGenerator.flush();
    frontPageJsonGenerator.close();
}

From source file:org.openiot.security.oauth.lsm.LSMOAuth20PermissionController.java

private void writeErrorMessage(HttpServletResponse response, String message) throws IOException {
    final JsonFactory jsonFactory = new JsonFactory();
    final JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(response.getWriter());

    jsonGenerator.writeStartObject();/*from  ww w .j a  va  2 s. c o m*/
    jsonGenerator.writeStringField("error", message);
    jsonGenerator.writeEndObject();
    jsonGenerator.close();
    response.flushBuffer();
}

From source file:uk.ac.cam.cl.dtg.isaac.quiz.IsaacSymbolicChemistryValidator.java

/**
 * Given two formulae, where one is student answer, and another is the target mhchem string,
 * this method generates a JSON object of them, and sends it to a back end chemistry checker
 * for comparison. Comparison results are sent back from server as a JSON string and returned here.
 *
 * @param submittedFormula Formula submitted by user.
 * @param formulaChoice Formula of one of the choice in content editor.
 * @param description A text description to show in the checker logs.
 * @return The JSON string returned from the ChemicalChecker server.
 * @throws IOException Trouble connecting to the ChemicalChecker server.
 *//* w ww. j av a  2 s .co m*/
private String jsonPostAndGet(final String submittedFormula, final String formulaChoice,
        final String description) throws IOException {
    ObjectMapper mapper = new ObjectMapper();

    // Complicated: Put formulae into a JSON object
    HashMap<String, String> req = Maps.newHashMap();
    req.put("target", formulaChoice);
    req.put("test", submittedFormula);
    req.put("description", description);

    StringWriter sw = new StringWriter();
    JsonGenerator g = new JsonFactory().createGenerator(sw);
    mapper.writeValue(g, req);
    g.close();
    String requestString = sw.toString();

    // Do some real checking through HTTP
    HttpClient httpClient = new DefaultHttpClient();

    HttpPost httpPost = new HttpPost("http://" + hostname + ":" + port + "/check");

    // Send JSON object across ChemistryChecker server.
    httpPost.setEntity(new StringEntity(requestString));
    httpPost.addHeader("Content-Type", "application/json");

    // Receive JSON response from server.
    HttpResponse httpResponse = httpClient.execute(httpPost);
    HttpEntity responseEntity = httpResponse.getEntity();

    return EntityUtils.toString(responseEntity);
}