Object builder

Run
How to run the sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing we need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/json/object-builder/
Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:
mvn test -Dtest=DOMGeneratorTest

  • Specifications in use:
    • JSON

    DOMGeneratorTest

    Missing a description for the story. Add some javadoc to the TestClass. Show me how!
    Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
    @Deployment
    public static Archive<?> deploy() {
        File[] requiredLibraries = Maven.resolver().loadPomFromFile("pom.xml")
                .resolve("org.json:json", "org.skyscreamer:jsonassert")
                .withTransitivity().asFile();
    
        return ShrinkWrap.create(WebArchive.class)
                .addAsLibraries(requiredLibraries);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testEmptyObject() throws JSONException {
        JsonObject jsonObject = Json.createObjectBuilder().build();
        StringWriter w = new StringWriter();
        try (JsonWriter writer = Json.createWriter(w)) {
            writer.write(jsonObject);
        }
        JSONAssert.assertEquals("{}", w.toString(), JSONCompareMode.STRICT);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testSimpleObject() throws JSONException {
        JsonObject jsonObject = Json.createObjectBuilder()
                .add("apple", "red")
                .add("banana", "yellow")
                .build();
        StringWriter w = new StringWriter();
        try (JsonWriter writer = Json.createWriter(w)) {
            writer.write(jsonObject);
        }
        JSONAssert.assertEquals("{\"apple\" : \"red\", \"banana\" : \"yellow\" }", w.toString(), JSONCompareMode.STRICT);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testArray() throws JSONException {
        JsonArray jsonArray = Json.createArrayBuilder()
                .add(Json.createObjectBuilder().add("apple", "red"))
                .add(Json.createObjectBuilder().add("banana", "yellow"))
                .build();
        StringWriter w = new StringWriter();
        try (JsonWriter writer = Json.createWriter(w)) {
            writer.write(jsonArray);
        }
        JSONAssert.assertEquals("[{\"apple\":\"red\"},{\"banana\":\"yellow\"}]", w.toString(), JSONCompareMode.STRICT);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void testNestedStructure() throws JSONException {
        JsonObject jsonObject = Json.createObjectBuilder()
                .add("title", "The Matrix")
                .add("year", 1999)
                .add("cast", Json.createArrayBuilder()
                        .add("Keanu Reaves")
                        .add("Laurence Fishburne")
                        .add("Carrie-Anne Moss"))
                .build();
        StringWriter w = new StringWriter();
        try (JsonWriter writer = Json.createWriter(w)) {
            writer.write(jsonObject);
        }
        JSONAssert.assertEquals("{\"title\":\"The Matrix\",\"year\":1999,\"cast\":[\"Keanu Reaves\",\"Laurence Fishburne\",\"Carrie-Anne Moss\"]}", w.toString(), JSONCompareMode.STRICT);
    }

    Share the Knowledge

    Find this sample useful? Share on

    There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.

    Help Improve

    Find a bug in the sample? Something missing? You can fix it by editing the source, making the correction and sending a pull request. Or report the problem to the issue tracker

    Recent Changelog

    • Oct 05, 2014: #252 fixed arquillian configuration for the jobs by John D. Ament
    • Jul 15, 2014: Removed default header by Roberto Cortez
    • Mar 20, 2014: Update arquillian.xml cr1 references to final by Aslak Knutsen
    • Dec 24, 2013: Updated to wildfly 8.0.0.cr1 by Roberto Cortez
    • Nov 12, 2013: Enabling one more test by Arun Gupta
    • Nov 12, 2013: Adding unit tests by Arun Gupta
    • Nov 12, 2013: Converting to unit tests by Arun Gupta
    • Nov 12, 2013: Removing redundant and by Arun Gupta
    • Sep 17, 2013: Removing netbeans configuration file by Arun Gupta
    • Aug 28, 2013: Improved the title by Arun Gupta
    How to help improve this sample
    The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing you need to do is to get the source by downloading the repository and then go into the samples folder:
    git clone git://github.com/javaee-samples/javaee7-samples.git
    cd javaee7-samples/json/object-builder/

    Do the changes as you see fit and send a pull request!

    Good Luck!