Package org.dozer

Examples of org.dozer.Mapper


  @Test
  public void testSpringNoMappingFilesSpecified() throws Exception {
    // Mapper can be used without specifying any mapping files.
    // Fields that have the same name will be mapped automatically.
    Mapper implicitMapper = (Mapper) context.getBean("implicitMapper");

    assertBasicMapping(implicitMapper);
  }
View Full Code Here


  public void shouldRegisterMapper() {
    DozerBeanMapper beanMapper = (DozerBeanMapper) context.getBean("beanMapper");
    assertThat(beanMapper, notNullValue());

    ReferencingBean referencingBean = context.getBean(ReferencingBean.class);
    Mapper mapper = referencingBean.getMapper();
    assertThat(mapper, notNullValue());

    assertThat(beanMapper, sameInstance(mapper));
  }
View Full Code Here

  }

  private static void performSomeMappings() {
    List<String> mappingFiles = new ArrayList<String>();
    mappingFiles.add("dozerBeanMapping.xml");
    Mapper mapper = new DozerBeanMapper(mappingFiles);

    try {
      mapper.map(new String("yo"), new String("y"));
    } catch (Throwable t) {
    }

    try {
      mapper.map(null, null);
    } catch (Throwable t) {
    }
    try {
      mapper.map(new String(), null);
    } catch (Throwable t) {
    }

    TestDataFactory testDataFactory = new TestDataFactory(NoProxyDataObjectInstantiator.INSTANCE);
    TestObject to = testDataFactory.getInputGeneralMappingTestObject();
    TestObjectPrime prime = mapper.map(to, TestObjectPrime.class);
    TestObject source = mapper.map(prime, TestObject.class);
    mapper.map(source, TestObjectPrime.class);

    int numIters = 4000;
    for (int i = 0; i < numIters; i++) {
      SimpleObj src = testDataFactory.getSimpleObj();
      mapper.map(src, SimpleObjPrime2.class);
    }

    mappingFiles = new ArrayList<String>();
    mappingFiles.add("arrayToStringCustomConverter.xml");
    mapper = new DozerBeanMapper(mappingFiles);

    for (int i = 0; i < 6000; i++) {
      SimpleObj simple = new SimpleObj();
      simple.setField1(String.valueOf(System.currentTimeMillis()));

      ArrayCustConverterObj src = new ArrayCustConverterObj();
      src.setField1(new SimpleObj[] { simple });

      mapper.map(src, ArrayCustConverterObjPrime.class);
    }
  }
View Full Code Here

@Ignore("Failing with cglib")
public class GenericCollectionMappingTest extends AbstractFunctionalTest {

  @Test
  public void testGenericCollectionMapping() throws Exception {
    Mapper mapper = getMapper(new String[] { "genericCollectionMapping.xml" });

    // prepare beans
    User user1 = newInstance(User.class);
    user1.setFirstName("first name 1");
    user1.setLastName("last name 1");

    User user2 = newInstance(User.class);
    user2.setFirstName("first name 2");
    user2.setLastName("last name 2");

    Set<User> users = newInstance(HashSet.class);
    users.add(user1);
    users.add(user2);

    UserGroup userGroup = newInstance(UserGroup.class);
    userGroup.setName("usergroup name");
    userGroup.setUsers(users);
    userGroup.setStatus(Status.SUCCESS);

    // do mapping
    UserGroupPrime userGroupPrime = mapper.map(userGroup, UserGroupPrime.class);

    // prove access to generic type information
    Method setter = UserGroupPrime.class.getMethod("setUsers", List.class);
    Type[] parameterTypes = setter.getGenericParameterTypes();
    assertEquals(1, parameterTypes.length);
    ParameterizedType parameterType = (ParameterizedType) parameterTypes[0];
    assertEquals(List.class, parameterType.getRawType());
    assertEquals(UserPrime.class, parameterType.getActualTypeArguments()[0]);

    // check group
    assertNotNull(userGroupPrime);
    assertEquals(userGroup.getName(), userGroupPrime.getName());

    // check resulting collection
    List<?> usersPrime = userGroupPrime.getUsers();
    assertNotNull(usersPrime);
    assertEquals(2, usersPrime.size());
    assertTrue("Expecting instance of UserPrime.", usersPrime.get(0) instanceof UserPrime);
    assertTrue("Expecting instance of UserPrime.", usersPrime.get(1) instanceof UserPrime);
    assertEquals("SUCCESS", userGroupPrime.getStatusPrime().name());

    // Map the other way
    UserGroup userGroupMapBack = mapper.map(userGroupPrime, UserGroup.class);
    Set<?> usersGroupPrime = userGroupMapBack.getUsers();
    assertNotNull(usersGroupPrime);
    assertEquals(2, usersGroupPrime.size());
    assertTrue("Expecting instance of UserPrime.", usersGroupPrime.iterator().next() instanceof User);
  }
View Full Code Here

    assertTrue("Expecting instance of UserPrime.", usersGroupPrime.iterator().next() instanceof User);
  }

  @Test
  public void testDeepMappingWithIndexOnSrcField() {
    Mapper mapper = getMapper(new String[] { "genericCollectionMapping.xml" });

    AnotherTestObject anotherTestObject = newInstance(AnotherTestObject.class);
    anotherTestObject.setField3("another test object field 3 value");
    anotherTestObject.setField4("6453");

    TestObject testObject1 = newInstance(TestObject.class);
    TestObject testObject2 = newInstance(TestObject.class);
    testObject2.setEqualNamedList(Arrays.asList(new AnotherTestObject[] { anotherTestObject }));

    SrcDeepObj src = newInstance(SrcDeepObj.class);
    src.setSomeList(Arrays.asList(new TestObject[] { testObject1, testObject2 }));

    DestDeepObj dest = mapper.map(src, DestDeepObj.class);
    assertEquals("another test object field 3 value", dest.getDest5());
    assertEquals(Integer.valueOf("6453"), (dest.getHintList().get(0)).getTwoPrime());
  }
View Full Code Here

    assertEquals(Integer.valueOf("6453"), (dest.getHintList().get(0)).getTwoPrime());
  }

  @Test
  public void testDeepMappingWithIndexOnDestField() {
    Mapper mapper = getMapper(new String[] { "genericCollectionMapping.xml" });
    DestDeepObj src = newInstance(DestDeepObj.class);
    src.setDest5("some string value for field");

    SrcDeepObj dest = mapper.map(src, SrcDeepObj.class);
    assertEquals("some string value for field", dest.getSomeList().get(1).getEqualNamedList().get(0).getField3());
  }
View Full Code Here

    assertEquals("some string value for field", dest.getSomeList().get(1).getEqualNamedList().get(0).getField3());
  }

  @Test
  public void testDeepMapIndexed() throws Exception {
    Mapper mapper = getMapper(new String[] { "genericCollectionMapping.xml" });
    Pet[] myPets = new Pet[2];
    Family source = newInstance(Family.class, new Object[] {"john", "jane", "doe", new Integer(22000), new Integer(20000)});
    Pet firstPet = newInstance(Pet.class, new Object[] {"molly", 2});
    myPets[0] = firstPet;

    Pet[] offSprings = new Pet[4];
    offSprings[0] = newInstance(Pet.class, new Object[] {"Rocky1", 1});
    offSprings[1] = newInstance(Pet.class, new Object[] {"Rocky2", 1});
    offSprings[2] = newInstance(Pet.class, new Object[] {"Rocky3", 1});
    offSprings[3] = newInstance(Pet.class, new Object[] {"Rocky4", 1});

    Pet secondPet = newInstance(Pet.class, new Object[] {"Rocky", 3, offSprings});
    myPets[1] = secondPet;

    // Save the pet details into the source object
    source.setPets(myPets);

    HeadOfHouseHold dest = mapper.map(source, HeadOfHouseHold.class);
    assertEquals((source.getFamilyMembers().get(0)).getFirstName(), dest.getFirstName());
    assertEquals((source.getFamilyMembers().get(0)).getLastName(), dest.getLastName());
    assertEquals((source.getFamilyMembers().get(0)).getSalary(), dest.getSalary());
    assertEquals(source.getPets()[1].getPetName(), dest.getPetName());
    assertEquals(String.valueOf(source.getPets()[1].getPetAge()), dest.getPetAge());
View Full Code Here

    assertEquals(source.getPets()[1].getOffSpring()[2].getPetName(), dest.getOffSpringName());
  }

  @Test
  public void testDeepMapInvIndexed() throws Exception {
    Mapper mapper = getMapper(new String[] { "genericCollectionMapping.xml" });
    HeadOfHouseHold source = newInstance(HeadOfHouseHold.class);
    source.setFirstName("Tom");
    source.setLastName("Roy");
    source.setPetName("Ronny");
    source.setSalary(new Integer(15000));
    source.setPetAge("2");
    source.setOffSpringName("Ronny2");

    Family dest = newInstance(Family.class);
    mapper.map(source, dest);

    assertEquals((dest.getFamilyMembers().get(0)).getFirstName(), source.getFirstName());
    assertEquals((dest.getFamilyMembers().get(0)).getLastName(), source.getLastName());
    assertEquals((dest.getFamilyMembers().get(0)).getSalary(), source.getSalary());
    assertEquals(dest.getPets()[1].getPetName(), source.getPetName());
View Full Code Here

    assertNull(house2.getOwner().getYourName());
  }

  @Test
  public void testDeepInterfaceWithHint() throws Exception {
    Mapper mapper = getMapper(new String[] { "fieldAttributeMapping.xml" });
    InsideTestObject ito = newInstance(InsideTestObject.class);
    House house = newInstance(House.class);
    MetalThingyIF thingy = newInstance(Car.class);
    thingy.setName("name");
    house.setThingy(thingy);
    ito.setHouse(house);
    InsideTestObjectPrime itop = mapper.map(ito, InsideTestObjectPrime.class);
    assertEquals("name", itop.getDeepInterfaceString());

    mapper.map(itop, InsideTestObject.class);
    assertEquals("name", ito.getHouse().getThingy().getName());
  }
View Full Code Here

    fail("should have thrown exception");
  }

  @Test
  public void testFieldAccessible() throws Exception {
    Mapper mapper = getMapper("fieldAttributeMapping.xml");
    TestObject to = newInstance(TestObject.class);
    to.setFieldAccessible("fieldAccessible");
    to.setFieldAccessiblePrimInt(2);
    InsideTestObject ito = newInstance(InsideTestObject.class);
    ito.setLabel("label");
    to.setFieldAccessibleComplexType(ito);
    String[] stringArray = new String[] { "one", "two" };
    to.setFieldAccessibleArrayToList(stringArray);
    TestObjectPrime top = mapper.map(to, TestObjectPrime.class);
    assertEquals("fieldAccessible", top.fieldAccessible);
    assertEquals("label", top.fieldAccessibleComplexType.getLabelPrime());
    assertEquals(2, top.fieldAccessiblePrimInt);
    assertEquals("one", top.fieldAccessibleArrayToList.get(0));
    assertEquals("two", top.fieldAccessibleArrayToList.get(1));

    // Map Back
    TestObject toDest = mapper.map(top, TestObject.class);
    assertEquals("fieldAccessible", toDest.getFieldAccessible());
    assertEquals("label", toDest.getFieldAccessibleComplexType().getLabel());
    assertEquals(2, toDest.getFieldAccessiblePrimInt());
    assertEquals("one", toDest.getFieldAccessibleArrayToList()[0]);
    assertEquals("two", toDest.getFieldAccessibleArrayToList()[1]);
View Full Code Here

TOP

Related Classes of org.dozer.Mapper

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.