com.samlikescode.stackoverflow.questions.q29630371.PersonTest.java Source code

Java tutorial

Introduction

Here is the source code for com.samlikescode.stackoverflow.questions.q29630371.PersonTest.java

Source

    /*
    *  Copyright 2015 Vertafore, Inc.   All rights reserved.
    *
    *  Disclaimers:
    *   This software is provided "as is," without warranty of any kind, express or
    *   implied, including but not limited to the warranties of merchantability,
    *   fitness for a particular purpose and non-infringement.  This source code
    *   should not be relied upon as the sole basis for solving a problem whose
    *   incorrect solution could result in injury to person or property. In no
    *   event shall the author or contributors be held liable for any damages
    *   arising in any way from the use of this software. The entire risk as to the
    *   results and performance of this source code is assumed by the user.
    *
    *   Permission is granted to use this software for internal use only, subject
    *   to the following restrictions:
    *     1.  This source code MUST retain the above copyright notice, disclaimer,
    *         and this list of conditions.
    *     2.  This source code may be used ONLY within the scope of the original
    *         agreement under which this source code was provided and may not be
    *         distributed to any third party without the express written consent of
    *         Vertafore, Inc.
    *     3.  This source code along with all obligations and rights under the
    *         original License Agreement may not be assigned to any third party
    *         without the expressed written consent of Vertafore, Inc., except that
    *         assignment may be made to a  successor to the business or
    *         substantially all of its assets. All parties bind their successors,
    *         executors, administrators, and assignees to all covenants of this
    *         Agreement.
    *
    *   All advertising materials mentioning features or use of this software must
    *   display the following acknowledgment:
    *
    *     Trademark Disclaimer:
    *     All patent, copyright, trademark and other intellectual property rights
    *     included in the source code are owned exclusively by Vertafore, Inc.
    */
    package com.samlikescode.stackoverflow.questions.q29630371;

    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.google.common.collect.FluentIterable;
    import org.junit.Test;

    import java.io.IOException;

    import static org.junit.Assert.assertFalse;

    public class PersonTest {

        @Test
        public void serializePersonTest() throws JsonProcessingException {
            // set up test data including parent properties
            Person person = new Person("Database property 1", "Database property 2");
            person.setIndex("1");
            person.setFirstName("Joe");
            person.setLastName("Bob");

            // register the mix in
            ObjectMapper om = new ObjectMapper().addMixIn(Person.class, PersonMixIn.class);

            // translate object to JSON string using Jackson
            String json = om.writeValueAsString(person);

            assertFalse(json.contains("dbPropertyA"));
            assertFalse(json.contains("dbPropertyB"));
            assertFalse(json.contains("index"));
            System.out.println(json);
        }

        @Test
        public void serializePerson2Test() throws JsonProcessingException {
            // set up test data including parent properties
            Person person = new Person("Database property 1", "Database property 2");
            person.setIndex("1");
            person.setFirstName("Joe");
            person.setLastName("Bob");

            // register the mix in
            //        ObjectMapper om = new ObjectMapper()
            //                .addMixIn(Person.class, PersonMixIn.class);
            ObjectMapper om = new ObjectMapper();

            // translate object to JSON string using Jackson
            String json = om.writeValueAsString(person);

            //        assertFalse(json.contains("dbPropertyA"));
            //        assertFalse(json.contains("dbPropertyB"));
            //        assertFalse(json.contains("index"));
            System.out.println(json);
        }

    @Test
    public void deserializePersonTest() throws IOException {
        String json = "{\"dbPropertyA\":\"Database property 1\",\"dbPropertyB\":\"Database property 2\",\"index\":\"1\",\"firstName\":\"Joe\",\"lastName\":\"Bob\"}";

        // register the mix in
        ObjectMapper om = new ObjectMapper()
                .addMixIn(Person.class, PersonMixIn.class);

        Person person = om.readValue(json, Person.class);

        // translate object to JSON string using Jackson
//        String json = om.writeValueAsString(person);

//        assertFalse(json.contains("dbPropertyA"));
//        assertFalse(json.contains("dbPropertyB"));
//        assertFalse(json.contains("index"));
        System.out.println(json);

        FluentIterable.from().toMap()
    }

    }