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

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

Introduction

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

Prototype

public void writeValue(Writer w, Object value)
        throws IOException, JsonGenerationException, JsonMappingException 

Source Link

Document

Method that can be used to serialize any Java value as JSON output, using Writer provided.

Usage

From source file:com.intelligentsia.dowsers.entity.reference.ReferenceTest.java

@Test
public void testSerialization() throws JsonParseException, JsonMappingException, IOException {

    final ObjectMapper mapper = JacksonSerializer.getMapper();
    final SimpleModule module = new SimpleModule();
    module.addSerializer(new ReferenceSerializer());
    module.addDeserializer(Reference.class, new ReferenceDeSerializer());
    mapper.registerModule(module);//  ww  w.  ja va  2 s  .c  om

    final StringWriter writer = new StringWriter();

    final Reference reference = Reference.parseString(
            "urn:dowsers:com.intelligentsia.dowsers.entity.model.Person:identity#4c8b03dd-908a-4cad-8d48-3c7277d44ac9");
    mapper.writeValue(writer, reference);
    final String result = writer.toString();
    final Reference reference2 = mapper.readValue(new StringReader(result), Reference.class);
    assertNotNull(reference2);
    assertEquals(reference, reference2);
}

From source file:ijfx.ui.canvas.FxCanvasTester.java

@Override
public void start(Stage primaryStage) {

    final SCIFIO scifio = new SCIFIO();
    MenuBar menuBar = new MenuBar();
    InputControl parameterInput = null;/*from  w ww .jav  a2s.  c om*/
    try {
        System.setProperty("imagej.legacy.sync", "true");
        //reader.getContext().inject(this);
        ImageJ imagej = new ImageJ();
        context = imagej.getContext();
        CommandInfo command = imagej.command().getCommand(GaussianBlur.class);

        CommandModuleItem input = command.getInput("sigma");
        Class<?> type = input.getType();
        if (type == double.class) {
            type = Double.class;
        }

        context.inject(this);

        GaussianBlur module = new GaussianBlur();

        imagej.ui().showUI();

        //reader = scifio.initializer().initializeReader("./stack.tif");
        commandService.run(OpenFile.class, true, new HashMap<String, Object>());

        menuBar = new MenuBar();
        menuService.createMenus(new FxMenuCreator(), menuBar);
        ObjectMapper mapper = new ObjectMapper();
        SimpleModule simpleModule = new SimpleModule("ModuleSerializer");
        // simpleModule.addSerializer(ModuleItem<?>.class,new ModuleItemSerializer());
        simpleModule.addSerializer(ModuleInfo.class, new ModuleSerializer());
        simpleModule.addSerializer(ModuleItem.class, new ModuleItemSerializer());
        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.registerModule(simpleModule);

        mapper.writeValue(new File("modules.json"), moduleService.getModules());

    } catch (Exception ex) {
        ImageJFX.getLogger();
    }

    //imageView.fitImageToScreen();
    Button reset = new Button("Reset");

    reset.setOnAction(event -> update());

    BorderPane pane = new BorderPane();

    Button test = new Button("Test");

    AnchorPane root = new AnchorPane();
    root.getChildren().add(pane);
    root.getStylesheets().add(ArcMenu.class.getResource("arc-default.css").toExternalForm());
    root.getStylesheets().add(ImageJFX.class.getResource(("flatterfx.css")).toExternalForm());
    AnchorPane.setTopAnchor(pane, 0.0);
    AnchorPane.setBottomAnchor(pane, 0.0);
    AnchorPane.setLeftAnchor(pane, 0.0);
    AnchorPane.setRightAnchor(pane, 0.0);
    pane.setTop(menuBar);

    HBox vbox = new HBox();
    vbox.getChildren().addAll(reset, test, parameterInput);
    vbox.setSpacing(10);
    vbox.setPadding(new Insets(10, 10, 10, 10));
    // update();
    pane.setCenter(ImageWindowContainer.getInstance());
    // pane.setPrefSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
    pane.setBottom(vbox);

    Scene scene = new Scene(root, 600, 600);

    test.setOnAction(event -> {

        test();
    });

    primaryStage.setTitle("ImageCanvasTest");
    primaryStage.setScene(scene);
    primaryStage.show();
}

From source file:uk.co.flax.ukmp.twitter.TweetUpdateThread.java

private void storeTweets(List<Tweet> tweets) throws IOException {
    File dataDir = new File(config.getDataDirectory());
    ObjectMapper mapper = new ObjectMapper();

    for (Tweet tweet : tweets) {
        OutputStream out = null;/*from w  w  w . ja  v a  2  s  . c  o  m*/

        File tweetDir = new File(dataDir, DATA_DIR_FORMAT.format(tweet.getCreated()));
        if (!tweetDir.exists()) {
            if (!tweetDir.mkdirs()) {
                LOGGER.error("Could not create data directory {}", tweetDir);
            }
        }

        try {
            File tweetFile = new File(tweetDir, tweet.getId() + ".json");
            out = new FileOutputStream(tweetFile);

            mapper.writeValue(out, tweet);

            out.flush();
        } catch (JsonGenerationException e) {
            LOGGER.error("Could not generate JSON for tweet: {}", e.getMessage());
        } catch (JsonMappingException e) {
            LOGGER.error("JSON mapping issue for tweet: {}", e.getMessage());
        } catch (IOException e) {
            throw e;
        } finally {
            if (out != null) {
                try {
                    out.close();
                } catch (IOException e) {
                    LOGGER.error("Could not close tweet output stream: {}", e.getMessage());
                    throw e;
                }
            }
        }
    }
}

From source file:com.josue.tileset.editor.Editor.java

private void exportBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportBtnActionPerformed

    JFileChooser fileDialog = new JFileChooser();
    fileDialog.setFileFilter(new FileNameExtensionFilter("Json file", "json"));
    String outputFileName = inputFile.getAbsolutePath().split("\\.")[0] + ".json";
    fileDialog.setSelectedFile(new File(outputFileName));
    if (fileDialog.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {

        File file = fileDialog.getSelectedFile();
        ObjectMapper mapper = new ObjectMapper();
        mapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE);
        mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
        try {/*from w  w w . j  a  va2 s .  c  o m*/
            mapper.writeValue(file, loadedTiles);
        } catch (IOException ex) {
            Logger.getLogger(Editor.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}

From source file:jp.or.openid.eiwg.scim.servlet.Users.java

/**
 * GET?/* w w w  .ja  va 2s .c  o  m*/
 *
 * @param request 
 * @param response ?
 * @throws ServletException
 * @throws IOException
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // ?
    ServletContext context = getServletContext();

    // ??
    Operation op = new Operation();
    boolean result = op.Authentication(context, request);

    if (!result) {
        // 
        this.errorResponse(response, op.getErrorCode(), op.getErrorType(), op.getErrorMessage());
    } else {
        // ?
        String targetId = request.getPathInfo();
        String attributes = request.getParameter("attributes");
        String filter = request.getParameter("filter");
        String sortBy = request.getParameter("sortBy");
        String sortOrder = request.getParameter("sortOrder");
        String startIndex = request.getParameter("startIndex");
        String count = request.getParameter("count");

        if (targetId != null && !targetId.isEmpty()) {
            // ?'/'???
            targetId = targetId.substring(1);
        }

        // 
        ArrayList<LinkedHashMap<String, Object>> resultList = op.searchUserInfo(context, request, targetId,
                attributes, filter, sortBy, sortOrder, startIndex, count);
        if (resultList != null) {
            ObjectMapper mapper = new ObjectMapper();
            StringWriter writer = new StringWriter();

            // ??
            if (targetId != null && !targetId.isEmpty()) {
                if (!resultList.isEmpty()) {
                    LinkedHashMap<String, Object> resultObject = resultList.get(0);
                    // javaJSON??
                    mapper.writeValue(writer, resultObject);
                    response.setContentType("application/scim+json;charset=UTF-8");
                    response.setHeader("Location", request.getRequestURL().toString());
                    PrintWriter out = response.getWriter();
                    out.println(writer);
                } else {
                    // id?????????
                    this.errorResponse(response, HttpServletResponse.SC_NOT_FOUND, null,
                            MessageConstants.ERROR_NOT_FOUND);
                }
            } else {
                // javaJSON??
                mapper.writeValue(writer, resultList);
                String listResponse = "{\"schemas\":[\"urn:ietf:params:scim:api:messages:2.0:ListResponse\"],";
                listResponse += "\"totalResults\":" + Integer.toString(resultList.size());
                if (resultList.size() > 0) {
                    listResponse += ",\"Resources\":";
                    listResponse += writer.toString();
                }
                listResponse += "}";
                response.setContentType("application/scim+json;charset=UTF-8");
                PrintWriter out = response.getWriter();
                out.println(listResponse);
            }
        } else {
            // 
            this.errorResponse(response, op.getErrorCode(), op.getErrorType(), op.getErrorMessage());
        }
    }

}

From source file:com.serendio.lingo3g.ProcessingResult.java

/**
 * Serializes this processing result as JSON to the provided <code>writer</code>.
 * Documents, clusters and other attributes can be included or skipped in the output
 * as requested./*from  w  w w  .j a  v  a 2s  .  c o  m*/
 * 
 * @param writer the writer to serialize this processing result to. The writer will
 *            <strong>not</strong> be closed.
 * @param callback JavaScript function name in which to wrap the JSON response or
 *            <code>null</code>.
 * @param indent if <code>true</code>, the output JSON will be pretty-printed
 * @param saveDocuments if <code>false</code>, documents will not be serialized.
 * @param saveClusters if <code>false</code>, clusters will not be serialized
 * @param saveOtherAttributes if <code>false</code>, other attributes will not be
 *            serialized
 * @throws IOException in case of any problems with serialization
 */
public void serializeJson(Writer writer, String callback, boolean indent, boolean saveDocuments,
        boolean saveClusters, boolean saveOtherAttributes) throws IOException {
    final ObjectMapper mapper = new ObjectMapper();
    mapper.getFactory().disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
    mapper.enable(SerializationFeature.INDENT_OUTPUT);

    if (StringUtils.isNotBlank(callback)) {
        writer.write(callback + "(");
    }
    final Map<String, Object> attrs = prepareAttributesForSerialization(saveDocuments, saveClusters,
            saveOtherAttributes);

    mapper.writeValue(writer, attrs);
    if (StringUtils.isNotBlank(callback)) {
        writer.write(");");
    }
}

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.
 *///  ww w  . j a va 2 s .c om
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);
}

From source file:gov.lanl.adore.djatoka.openurl.OpenURLJP2KMetadata.java

/**
 * Returns the OpenURLResponse of a JSON object defining the core image properties. Having obtained a result, this
 * method is then responsible for transforming it into an OpenURLResponse that acts as a proxy for
 * HttpServletResponse./* w  w w .j a v  a  2 s  . c om*/
 */
@Override
public OpenURLResponse resolve(final ServiceType serviceType, final ContextObject contextObject,
        final OpenURLRequest openURLRequest, final OpenURLRequestProcessor processor) {

    String responseFormat = RESPONSE_TYPE;
    int status = HttpServletResponse.SC_OK;
    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    try {
        final ObjectMapper mapper = new ObjectMapper();
        final ObjectNode rootNode = mapper.createObjectNode();
        final IExtract jp2 = new KduExtractExe();

        ImageRecord r = ReferentManager.getImageRecord(contextObject.getReferent());
        r = jp2.getMetadata(r);

        rootNode.put("identifier", r.getIdentifier());
        rootNode.put("imagefile", r.getImageFile());
        rootNode.put("width", r.getWidth());
        rootNode.put("height", r.getHeight());
        rootNode.put("dwtLevels", r.getDWTLevels());
        rootNode.put("levels", r.getLevels());
        rootNode.put("compositingLayerCount", r.getCompositingLayerCount());

        mapper.writeValue(baos, rootNode);
    } catch (final DjatokaException e) {
        responseFormat = "text/plain";
        status = HttpServletResponse.SC_NOT_FOUND;
    } catch (final Exception e) {
        baos = new ByteArrayOutputStream();

        try {
            if (e.getMessage() != null) {
                baos.write(e.getMessage().getBytes("UTF-8"));
            } else {
                LOGGER.error(e.getMessage(), e);
                baos.write("Internal Server Error: ".getBytes());
            }
        } catch (final UnsupportedEncodingException e1) {
            e1.printStackTrace();
        } catch (final IOException e2) {
            e2.printStackTrace();
        }

        responseFormat = "text/plain";
        status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
    }

    final HashMap<String, String> header_map = new HashMap<String, String>();
    header_map.put("Content-Length", baos.size() + "");
    header_map.put("Date", HttpDate.getHttpDate());
    return new OpenURLResponse(status, responseFormat, baos.toByteArray(), header_map);
}

From source file:com.grizzly.rest.GenericRestCall.java

private void createSolidCache() {

    ObjectMapper mapper = new ObjectMapper();

    try {/*from  ww  w .  j  a  va 2 s . co  m*/
        File dir = new File(getContext().getCacheDir().getAbsolutePath() + File.separator + "EasyRest");
        dir.mkdir();
        File f = new File(getCachedFileName());
        mapper.writeValue(f, jsonResponseEntity);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:com.webtide.jetty.load.generator.jenkins.LoadGeneratorBuilder.java

protected ArgumentListBuilder getArgsProcess(Resource resource, Computer computer, TaskListener taskListener,
        Run<?, ?> run, String statsResultFilePath) throws Exception {

    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    StringWriter stringWriter = new StringWriter();
    objectMapper.writeValue(stringWriter, resource);
    stringWriter.close();/*ww w .j a v  a  2 s.  co  m*/

    final String tmpFilePath = getCurrentNode(computer) //
            .getChannel().call(new CopyResource(stringWriter.toString()));

    ArgumentListBuilder cmdLine = new ArgumentListBuilder();

    cmdLine.add("--resource-json-path").add(tmpFilePath) //
            .add("--host").add(expandTokens(taskListener, host, run)) //
            .add("--port").add(expandTokens(taskListener, port, run)) //
            .add("--transport").add(StringUtils.lowerCase(this.getTransport().toString())) //
            .add("--users").add(expandTokens(taskListener, users, run)) //
            .add("--resource-rate").add(expandTokens(taskListener, resourceRate, run)) //
            .add("--stats-file").add(statsResultFilePath) //
            .add("--threads").add(threadsNumber < 1 ? 1 : threadsNumber) //
            .add("--scheme").add(isSecureProtocol() ? "https" : "http");

    int iterationRuns = NumberUtils.toInt(expandTokens(taskListener, runIteration, run), 0);

    if (iterationRuns > 0) {
        cmdLine.add("--iterations").add(Integer.toString(iterationRuns));
    } else {
        cmdLine.add("--running-time").add(expandTokens(taskListener, runningTime, run));
        cmdLine.add("--running-time-unit");
        switch (this.runningTimeUnit) {
        case HOURS:
            cmdLine.add("h");
            break;
        case MINUTES:
            cmdLine.add("m");
            break;
        case SECONDS:
            cmdLine.add("s");
            break;
        case MILLISECONDS:
            cmdLine.add("ms");
            break;
        default:
            throw new IllegalArgumentException(runningTimeUnit + " is not recognized");
        }
    }

    int warmupNumber = StringUtils.isNotEmpty(getWarmupNumber()) ? //
            Integer.parseInt(expandTokens(taskListener, this.getWarmupNumber(), run)) : -1;

    if (warmupNumber > 0) {
        cmdLine.add("--warmup-iterations").add(warmupNumber);
    }

    // FIXME deleting tmp file
    // getCurrentNode().getChannel().call( new DeleteTmpFile( tmpFilePath ) );
    LOGGER.debug("finish");
    LOGGER.info("load generator starter args:" + cmdLine.toString());
    return cmdLine;

}