Search in sources :

Example 16 with TargetTestClass

use of io.atlasmap.java.test.TargetTestClass in project atlasmap by atlasmap.

the class BaseDocumentWriterTest method reset.

@Before
public void reset() {
    classLoader = Thread.currentThread().getContextClassLoader();
    writer = new DocumentJavaFieldWriter(conversionService);
    writer.setTargetValueConverter(new TargetValueConverter(classLoader, conversionService) {

        public Object convert(AtlasInternalSession session, LookupTable lookupTable, Field sourceField, Object parentObject, Field targetField) throws AtlasException {
            return targetField.getValue();
        }
    });
    field = null;
    segmentContexts = new LinkedList<>();
    targetTestClassInstance = new TargetTestClass();
    targetTestClassInstance.setContact(new TargetContact());
    targetTestClassInstance.setAddress(new TargetAddress());
    targetOrderListInstance = new TestListOrders();
    targetOrderListInstance.setOrders(new LinkedList<>());
    targetOrderListInstance.getOrders().add(new TargetOrder());
    targetOrderListInstance.getOrders().add(new TargetOrder());
    targetTestClassInstance.setListOrders(targetOrderListInstance);
    targetOrderArrayInstance = new TargetOrderArray();
    targetOrderArrayInstance.setOrders(new BaseOrder[2]);
    targetOrderArrayInstance.getOrders()[0] = new TargetOrder();
    targetOrderArrayInstance.getOrders()[1] = new TargetOrder();
    targetTestClassInstance.setOrderArray(targetOrderArrayInstance);
}
Also used : AtlasInternalSession(io.atlasmap.spi.AtlasInternalSession) TargetContact(io.atlasmap.java.test.TargetContact) TargetAddress(io.atlasmap.java.test.TargetAddress) AtlasException(io.atlasmap.api.AtlasException) TargetOrderArray(io.atlasmap.java.test.TargetOrderArray) Field(io.atlasmap.v2.Field) JavaEnumField(io.atlasmap.java.v2.JavaEnumField) JavaField(io.atlasmap.java.v2.JavaField) TestListOrders(io.atlasmap.java.test.TestListOrders) LookupTable(io.atlasmap.v2.LookupTable) TargetOrder(io.atlasmap.java.test.TargetOrder) TargetTestClass(io.atlasmap.java.test.TargetTestClass) Before(org.junit.Before)

Example 17 with TargetTestClass

use of io.atlasmap.java.test.TargetTestClass in project atlasmap by atlasmap.

the class DocumentJavaFieldWriterTest method testFullWrite.

@Test
public void testFullWrite() throws Exception {
    addClassForFieldPath("/", TargetTestClass.class);
    addClassForFieldPath("/address", TargetAddress.class);
    addClassForFieldPath("/listOrders", TestListOrders.class);
    addClassForFieldPath("/listOrders/orders<5>", TargetOrder.class);
    addClassForFieldPath("/listOrders/orders<5>/address", TargetAddress.class);
    addClassForFieldPath("/orderArray", TargetOrderArray.class);
    addClassForFieldPath("/orderArray/orders[5]", TargetOrder.class);
    addClassForFieldPath("/orderArray/orders[5]/contact", TargetContact.class);
    addClassForFieldPath("/primitives", TargetFlatPrimitiveClass.class);
    addClassForFieldPath("/primitives/intArrayField[]", int.class);
    addClassForFieldPath("/primitives/boxedStringArrayField[19]", String.class);
    addClassForFieldPath("/statesLong", StateEnumClassLong.class);
    write("/name", "someName");
    TargetTestClass o = (TargetTestClass) writer.getRootObject();
    ensureNotNullAndClass(o, TargetTestClass.class);
    assertEquals("someName", o.getName());
    write("/address/addressLine1", "123 any street");
    ensureNotNullAndClass(o.getAddress(), TargetAddress.class);
    assertEquals("123 any street", o.getAddress().getAddressLine1());
    write("/listOrders/orders<5>/orderId", 1234);
    ensureNotNullAndClass(o.getListOrders(), TestListOrders.class);
    ensureNotNullAndClass(o.getListOrders().getOrders(), LinkedList.class);
    assertEquals(6, o.getListOrders().getOrders().size());
    for (int i = 0; i < 6; i++) {
        System.out.println("Checking #" + i);
        BaseOrder order = o.getListOrders().getOrders().get(i);
        if (i == 5) {
            ensureNotNullAndClass(order, TargetOrder.class);
        } else {
            assertNull(order);
        }
    }
    BaseOrder order = o.getListOrders().getOrders().get(5);
    assertEquals((Integer) 1234, order.getOrderId());
    write("/listOrders/orders<2>/address/city", "Austin");
    assertEquals(6, o.getListOrders().getOrders().size());
    // ensure earlier fields are ok
    order = o.getListOrders().getOrders().get(5);
    assertEquals((Integer) 1234, order.getOrderId());
    // ensure our new field is ok
    order = o.getListOrders().getOrders().get(2);
    ensureNotNullAndClass(order.getAddress(), TargetAddress.class);
    assertEquals("Austin", order.getAddress().getCity());
    write("/orderArray/numberOrders", 56);
    ensureNotNullAndClass(o.getOrderArray(), TargetOrderArray.class);
    assertEquals((Integer) 56, o.getOrderArray().getNumberOrders());
    write("/orderArray/orders[2]/contact/firstName", "fName");
    ensureNotNullAndClass(o.getOrderArray().getOrders(), TargetOrder[].class);
    assertEquals(3, o.getOrderArray().getOrders().length);
    for (int i = 0; i < 3; i++) {
        System.out.println("Checking #" + i);
        BaseOrder order2 = o.getOrderArray().getOrders()[i];
        if (i == 2) {
            ensureNotNullAndClass(order2, TargetOrder.class);
        } else {
            assertNull(order2);
        }
    }
    ensureNotNullAndClass(o.getOrderArray().getOrders()[2].getContact(), TargetContact.class);
    // ensure previous fields are ok
    assertEquals((Integer) 56, o.getOrderArray().getNumberOrders());
    // ensure new field is ok
    assertEquals("fName", o.getOrderArray().getOrders()[2].getContact().getFirstName());
    write("/orderArray/orders[2]/contact/lastName", "lName");
    // ensure previous fields are ok
    assertEquals((Integer) 56, o.getOrderArray().getNumberOrders());
    assertEquals("fName", o.getOrderArray().getOrders()[2].getContact().getFirstName());
    // ensure new field is ok
    assertEquals("lName", o.getOrderArray().getOrders()[2].getContact().getLastName());
    // test writing primitive array values
    write("/primitives/intArrayField[10]", 3425);
    ensureNotNullAndClass(o.getPrimitives(), TargetFlatPrimitiveClass.class);
    ensureNotNullAndClass(o.getPrimitives().getIntArrayField(), int[].class);
    assertEquals(11, o.getPrimitives().getIntArrayField().length);
    assertEquals(3425, o.getPrimitives().getIntArrayField()[10]);
    write("/primitives/boxedStringArrayField[10]", "boxedString");
    ensureNotNullAndClass(o.getPrimitives().getBoxedStringArrayField(), String[].class);
    assertEquals(11, o.getPrimitives().getBoxedStringArrayField().length);
    for (int i = 0; i < 10; i++) {
        System.out.println("Checking #" + i);
        assertNull(o.getPrimitives().getBoxedStringArrayField()[i]);
    }
    ensureNotNullAndClass(o.getPrimitives().getBoxedStringArrayField()[10], String.class);
    assertEquals("boxedString", o.getPrimitives().getBoxedStringArrayField()[10]);
    // test writing enum values
    write("/statesLong", StateEnumClassLong.Massachusetts);
    assertNotNull(o.getStatesLong());
    assertEquals(StateEnumClassLong.Massachusetts, o.getStatesLong());
    // test overwriting values
    assertEquals("123 any street", o.getAddress().getAddressLine1());
    write("/address/addressLine1", "123 any street (2)");
    assertEquals("123 any street (2)", o.getAddress().getAddressLine1());
    order = o.getListOrders().getOrders().get(5);
    assertEquals((Integer) 1234, order.getOrderId());
    write("/listOrders/orders<5>/orderId", 2221234);
    assertEquals((Integer) 2221234, order.getOrderId());
    order = o.getListOrders().getOrders().get(2);
    assertEquals("Austin", order.getAddress().getCity());
    write("/listOrders/orders<2>/address/city", "Austin (2)");
    assertEquals("Austin (2)", order.getAddress().getCity());
    assertEquals((Integer) 56, o.getOrderArray().getNumberOrders());
    write("/orderArray/numberOrders", 22256);
    assertEquals((Integer) 22256, o.getOrderArray().getNumberOrders());
    assertEquals("fName", o.getOrderArray().getOrders()[2].getContact().getFirstName());
    write("/orderArray/orders[2]/contact/firstName", "fName (2)");
    assertEquals("fName (2)", o.getOrderArray().getOrders()[2].getContact().getFirstName());
    assertEquals("lName", o.getOrderArray().getOrders()[2].getContact().getLastName());
    write("/orderArray/orders[2]/contact/lastName", "lName (2)");
    assertEquals("lName (2)", o.getOrderArray().getOrders()[2].getContact().getLastName());
    assertEquals(3425, o.getPrimitives().getIntArrayField()[10]);
    write("/primitives/intArrayField[10]", 2223425);
    assertEquals(2223425, o.getPrimitives().getIntArrayField()[10]);
    assertEquals("boxedString", o.getPrimitives().getBoxedStringArrayField()[10]);
    write("/primitives/boxedStringArrayField[10]", "boxedString (2)");
    assertEquals("boxedString (2)", o.getPrimitives().getBoxedStringArrayField()[10]);
    assertEquals(StateEnumClassLong.Massachusetts, o.getStatesLong());
    write("/statesLong", StateEnumClassLong.Alabama);
    assertEquals(StateEnumClassLong.Alabama, o.getStatesLong());
}
Also used : BaseOrder(io.atlasmap.java.test.BaseOrder) TargetOrder(io.atlasmap.java.test.TargetOrder) TargetTestClass(io.atlasmap.java.test.TargetTestClass) Test(org.junit.Test)

Aggregations

TargetTestClass (io.atlasmap.java.test.TargetTestClass)17 Test (org.junit.Test)14 AtlasContext (io.atlasmap.api.AtlasContext)11 AtlasSession (io.atlasmap.api.AtlasSession)11 TargetContact (io.atlasmap.java.test.TargetContact)11 AtlasMappingBaseTest (io.atlasmap.reference.AtlasMappingBaseTest)11 File (java.io.File)11 BaseOrder (io.atlasmap.java.test.BaseOrder)8 TargetOrder (io.atlasmap.java.test.TargetOrder)4 AtlasException (io.atlasmap.api.AtlasException)3 TargetAddress (io.atlasmap.java.test.TargetAddress)3 TargetOrderArray (io.atlasmap.java.test.TargetOrderArray)3 TestListOrders (io.atlasmap.java.test.TestListOrders)3 TargetFlatPrimitiveClass (io.atlasmap.java.test.TargetFlatPrimitiveClass)2 AtlasJsonTestUnrootedMapper (io.atlasmap.json.test.AtlasJsonTestUnrootedMapper)2 XmlOrderElement (io.atlasmap.xml.test.v2.XmlOrderElement)2 StateEnumClassLong (io.atlasmap.java.test.StateEnumClassLong)1 JavaEnumField (io.atlasmap.java.v2.JavaEnumField)1 JavaField (io.atlasmap.java.v2.JavaField)1 AtlasInternalSession (io.atlasmap.spi.AtlasInternalSession)1