Example usage for com.fasterxml.jackson.core JsonFactory createJsonGenerator

List of usage examples for com.fasterxml.jackson.core JsonFactory createJsonGenerator

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonFactory createJsonGenerator.

Prototype

@Deprecated
public JsonGenerator createJsonGenerator(OutputStream out) throws IOException 

Source Link

Document

Convenience method for constructing generator that uses default encoding of the format (UTF-8 for JSON and most other data formats).

Usage

From source file:com.teamlazerbeez.crm.sf.rest.HttpApiClientTest.java

private static String reformatJson(String input) throws IOException {
    JsonFactory jsonFactory = new JsonFactory();

    JsonParser parser = jsonFactory.createJsonParser(input);
    StringWriter writer = new StringWriter();
    JsonGenerator generator = jsonFactory.createJsonGenerator(writer);
    generator.useDefaultPrettyPrinter();

    while (parser.nextToken() != null) {
        generator.copyCurrentEvent(parser);
    }//from ww w. j  a v a2 s. c o m

    generator.close();

    return writer.toString();
}

From source file:com.baasbox.configuration.PropertiesConfigurationHelper.java

public static String dumpConfigurationAsJson() {
    ImmutableCollection<String> keys = CONFIGURATION_SECTIONS.keySet();
    ObjectMapper mapper = new ObjectMapper();
    JsonFactory jfactory = mapper.getJsonFactory();
    StringWriter sw = new StringWriter();
    try {/*from   ww w  . j  a  v  a  2s  .co m*/
        JsonGenerator gen = jfactory.createJsonGenerator(sw);
        gen.writeStartArray();
        for (String v : keys) {
            String st = dumpConfigurationAsJson(v);
            ObjectMapper op = new ObjectMapper();
            JsonNode p = op.readTree(st);
            BaasBoxLogger.debug("OBJECT:" + p.toString());
            BaasBoxLogger.debug("STRING:" + st);
            //JsonParser jp = jfactory.createJsonParser(st);
            gen.writeTree(p);
        }
        gen.writeEndArray();
        gen.close();
        return sw.toString();
    } catch (Exception e) {
        BaasBoxLogger.error("Cannot generate a json for the configuration", e);
    }
    return "[]";
}

From source file:com.baasbox.configuration.PropertiesConfigurationHelper.java

public static String dumpConfigurationSectionAsFlatJson(String section) {
    Class en = CONFIGURATION_SECTIONS.get(section);
    try {/*from   ww  w. j  a v  a2s  .c  om*/
        JsonFactory jfactory = new JsonFactory();
        StringWriter sw = new StringWriter();
        String enumDescription = "";
        JsonGenerator gen = jfactory.createJsonGenerator(sw);
        gen.writeStartArray();
        EnumSet values = EnumSet.allOf(en);
        for (Object v : values) {
            String key = (String) (en.getMethod("getKey")).invoke(v);

            boolean isVisible = (Boolean) (en.getMethod("isVisible")).invoke(v);
            String valueAsString;
            if (isVisible)
                valueAsString = (String) (en.getMethod("getValueAsString")).invoke(v);
            else
                valueAsString = "--HIDDEN--";
            boolean isEditable = (Boolean) (en.getMethod("isEditable")).invoke(v);
            boolean isOverridden = (Boolean) (en.getMethod("isOverridden")).invoke(v);
            String valueDescription = (String) (en.getMethod("getValueDescription")).invoke(v);
            Class type = (Class) en.getMethod("getType").invoke(v);

            gen.writeStartObject(); //               {
            gen.writeStringField("key", key);
            gen.writeStringField("value", valueAsString);
            gen.writeStringField("description", valueDescription); //                  ,"description":"description"
            gen.writeStringField("type", type.getSimpleName()); //                  ,"type":"type"
            gen.writeBooleanField("editable", isEditable);
            gen.writeBooleanField("overridden", isOverridden);
            gen.writeEndObject(); //               }
        }
        if (gen.getOutputContext().inArray())
            gen.writeEndArray(); //            ]
        gen.close();
        return sw.toString();
    } catch (Exception e) {
        BaasBoxLogger.error("Cannot generate a json for " + en.getSimpleName()
                + " Enum. Is it an Enum that implements the IProperties interface?", e);
    }
    return "{}";
}

From source file:com.baasbox.configuration.PropertiesConfigurationHelper.java

/***
 *
 * Returns a json representation of the Enumerator
 * The Enumerator must implements the IProperties interface
 * @param en    the Enumerator to serialize. It must implements the IProperties interface
 * @return       the representation of the Enumerator 
 *//* w w w.  j  a v  a  2s  . c om*/
@SuppressWarnings("unchecked")
public static String dumpConfigurationAsJson(String section) {
    Class en = CONFIGURATION_SECTIONS.get(section);
    try {
        JsonFactory jfactory = new JsonFactory();
        StringWriter sw = new StringWriter();
        String enumDescription = "";
        JsonGenerator gen = jfactory.createJsonGenerator(sw);

        Method getEnumDescription = en.getMethod("getEnumDescription");
        if (getEnumDescription != null && getEnumDescription.getReturnType() == String.class
                && Modifier.isStatic(getEnumDescription.getModifiers()))
            enumDescription = (String) getEnumDescription.invoke(null);
        gen.writeStartObject(); //{
        gen.writeStringField("section", section); //    "configuration":"EnumName"
        gen.writeStringField("description", enumDescription); //   ,"description": "EnumDescription"
        gen.writeFieldName("sub sections"); //  ,"sections":
        gen.writeStartObject(); //      {
        String lastSection = "";
        EnumSet values = EnumSet.allOf(en);
        for (Object v : values) {
            String key = (String) (en.getMethod("getKey")).invoke(v);
            boolean isVisible = (Boolean) (en.getMethod("isVisible")).invoke(v);
            String valueAsString;
            if (isVisible)
                valueAsString = (String) (en.getMethod("getValueAsString")).invoke(v);
            else
                valueAsString = "--HIDDEN--";
            boolean isEditable = (Boolean) (en.getMethod("isEditable")).invoke(v);
            String valueDescription = (String) (en.getMethod("getValueDescription")).invoke(v);
            Class type = (Class) en.getMethod("getType").invoke(v);
            String subsection = key.substring(0, key.indexOf('.'));
            if (!lastSection.equals(subsection)) {
                if (gen.getOutputContext().inArray())
                    gen.writeEndArray();
                gen.writeFieldName(subsection); //         "sectionName":
                gen.writeStartArray(); //            [
                lastSection = subsection;
            }
            boolean isOverridden = (Boolean) (en.getMethod("isOverridden")).invoke(v);
            gen.writeStartObject(); //               {
            gen.writeStringField(key, valueAsString); //                     "key": "value"   
            gen.writeStringField("description", valueDescription); //                  ,"description":"description"
            gen.writeStringField("type", type.getSimpleName()); //                  ,"type":"type"
            gen.writeBooleanField("editable", isEditable); //                  ,"editable":"true|false"
            gen.writeBooleanField("visible", isVisible); //                  ,"visible":"true|false"
            gen.writeBooleanField("overridden", isOverridden); //                  ,"overridden":"true|false"
            gen.writeEndObject(); //               }
        }
        if (gen.getOutputContext().inArray())
            gen.writeEndArray(); //            ]
        gen.writeEndObject(); //      }
        gen.writeEndObject(); //}
        gen.close();
        return sw.toString();
    } catch (Exception e) {
        BaasBoxLogger.error("Cannot generate a json for " + en.getSimpleName()
                + " Enum. Is it an Enum that implements the IProperties interface?", e);
    }
    return "{}";
}

From source file:com.vmware.bdd.cli.commands.CommandsUtils.java

public static void prettyJsonOutput(Object object, String fileName) throws Exception {
    OutputStream out = null;//from   w w w.ja  v a2 s. co  m
    try {
        if (fileName != null) {
            out = new FileOutputStream(fileName);
        } else {
            out = System.out;
        }
        JsonFactory factory = new JsonFactory();
        JsonGenerator generator = factory.createJsonGenerator(out);
        ObjectMapper mapper = getMapper();
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        generator.setCodec(mapper);
        DefaultPrettyPrinter prettyPrinter = new DefaultPrettyPrinter();
        DefaultPrettyPrinter.Indenter indenter = new DefaultPrettyPrinter.Lf2SpacesIndenter();
        prettyPrinter.indentArraysWith(indenter);
        generator.setPrettyPrinter(prettyPrinter);
        generator.writeObject(object);
        writeEndingMsgToScreen(fileName);
    } finally {
        if (out != null && !(out instanceof PrintStream)) {
            out.close();
        }
    }
}

From source file:com.amazonaws.services.dynamodb.datamodeling.JsonMarshaller.java

@Override
public String marshall(T obj) {
    try {//from w w  w .  j a  v  a2s .co  m
        JsonFactory jsonFactory = new MappingJsonFactory();
        StringWriter output = new StringWriter();
        JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(output);
        jsonGenerator.writeObject(obj);
        return output.toString();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:be.dnsbelgium.rdap.jackson.AbstractSerializerTest.java

@SuppressWarnings("unchecked")
public void serializeAndAssertEquals(String expected, S o, SerializerProvider sp) throws IOException {
    JsonFactory factory = new JsonFactory();
    T serializer = getSerializer();/*ww  w  . ja  va  2  s.c o m*/
    StringWriter sw = new StringWriter();
    JsonGenerator jgen = factory.createJsonGenerator(sw);
    serializer.serialize(o, jgen, sp); // unchecked
    jgen.flush();
    sw.flush();
    String result = sw.toString();
    sw.close();
    assertEquals(expected, result);
}

From source file:de.terrestris.shogun.security.ShogunAuthProcessingFilter.java

/**
 * On successful authentication by an Authentication Manager of Spring Security
 * we intercept with this method  and change the respone to include the ROLES of
 * the logged in user.//  w ww .  j a  v  a  2  s .  c  om
 * This way we can react on the ROLES and redirect accordingly within the requesting login form (here login.js)
 *
 * @see WebContent/client/login.js
 */
@Override
protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response,
        Authentication authResult) throws IOException, ServletException {
    SecurityContextHolder.getContext().setAuthentication(authResult);

    SavedRequestAwareAuthenticationSuccessHandler srh = new SavedRequestAwareAuthenticationSuccessHandler();
    this.setAuthenticationSuccessHandler(srh);
    srh.setRedirectStrategy(new RedirectStrategy() {
        @Override
        public void sendRedirect(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
                String s) throws IOException {
            //do nothing, no redirect
        }
    });
    super.successfulAuthentication(request, response, authResult);

    // build a comma separated string of the ROLES
    String authorityText = StringUtils.join(authResult.getAuthorities(), ",");

    // write the servlet return object
    HttpServletResponseWrapper responseWrapper = new HttpServletResponseWrapper(response);
    Writer out = responseWrapper.getWriter();
    JsonFactory jsonFactory = new JsonFactory();
    JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(out);
    jsonGenerator.writeStartObject();
    jsonGenerator.writeBooleanField("success", true);
    jsonGenerator.writeStringField("name", authResult.getName());
    jsonGenerator.writeStringField("role", authorityText);
    jsonGenerator.writeEndObject();
    jsonGenerator.close();
}

From source file:org.openiot.security.oauth.OAuth20ProfileController.java

@Override
protected ModelAndView handleRequestInternal(final HttpServletRequest request,
        final HttpServletResponse response) throws Exception {
    final String accessToken = request.getParameter(OAuthConstants.ACCESS_TOKEN);
    log.debug("accessToken : {}", accessToken);

    final JsonFactory jsonFactory = new JsonFactory();
    final JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(response.getWriter());

    response.setContentType("application/json");

    // accessToken is required
    if (StringUtils.isBlank(accessToken)) {
        log.error("missing accessToken");
        jsonGenerator.writeStartObject();
        jsonGenerator.writeStringField("error", OAuthConstants.MISSING_ACCESS_TOKEN);
        jsonGenerator.writeEndObject();/*  w  w  w .java  2 s.  c o  m*/
        jsonGenerator.close();
        response.flushBuffer();
        return null;
    }

    // get ticket granting ticket
    final TicketGrantingTicket ticketGrantingTicket = (TicketGrantingTicket) this.ticketRegistry
            .getTicket(accessToken);
    if (ticketGrantingTicket == null || ticketGrantingTicket.isExpired()) {
        log.error("expired accessToken : {}", accessToken);
        jsonGenerator.writeStartObject();
        jsonGenerator.writeStringField("error", OAuthConstants.EXPIRED_ACCESS_TOKEN);
        jsonGenerator.writeEndObject();
        jsonGenerator.close();
        response.flushBuffer();
        return null;
    }

    // generate profile : identifier + attributes
    final Principal principal = ticketGrantingTicket.getAuthentication().getPrincipal();
    jsonGenerator.writeStartObject();
    jsonGenerator.writeStringField(CasWrapperProfile.ID, principal.getId());
    jsonGenerator.writeArrayFieldStart(CasWrapperProfile.ATTRIBUTES);
    final Map<String, Object> attributes = principal.getAttributes();
    for (final String key : attributes.keySet()) {
        jsonGenerator.writeStartObject();
        Object vals = attributes.get(key);
        if (vals instanceof Iterable<?>) {
            jsonGenerator.writeArrayFieldStart(key);
            for (final Object value : (Iterable<?>) vals)
                jsonGenerator.writeString(value.toString());
            jsonGenerator.writeEndArray();
        } else if ("role_name".equals(key)) {
            jsonGenerator.writeArrayFieldStart(key);
            if (!StringUtils.isBlank((String) vals))
                jsonGenerator.writeString(vals.toString());
            jsonGenerator.writeEndArray();
        } else
            jsonGenerator.writeObjectField(key, attributes.get(key));

        jsonGenerator.writeEndObject();
    }
    jsonGenerator.writeEndArray();
    jsonGenerator.writeEndObject();
    jsonGenerator.close();
    response.flushBuffer();
    return null;
}

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();//  w w w  .  j a v  a 2  s .co m
    jsonGenerator.writeStringField("error", message);
    jsonGenerator.writeEndObject();
    jsonGenerator.close();
    response.flushBuffer();
}