diff --git a/bean-mapper-test/pom.xml b/bean-mapper-test/pom.xml
index 22ed446..fcd5bd3 100644
--- a/bean-mapper-test/pom.xml
+++ b/bean-mapper-test/pom.xml
@@ -82,6 +82,11 @@
selma-processor
provided
+
+ com.remondis
+ remap
+ 1.0.3
+
diff --git a/bean-mapper-test/src/main/java/de/rahn/performance/beanmapper/vendors/ReMapTestBeansMapperBean.java b/bean-mapper-test/src/main/java/de/rahn/performance/beanmapper/vendors/ReMapTestBeansMapperBean.java
new file mode 100644
index 0000000..06090b8
--- /dev/null
+++ b/bean-mapper-test/src/main/java/de/rahn/performance/beanmapper/vendors/ReMapTestBeansMapperBean.java
@@ -0,0 +1,84 @@
+package de.rahn.performance.beanmapper.vendors;
+
+import com.remondis.remap.Mapper;
+import com.remondis.remap.Mapping;
+import com.remondis.remap.Transform;
+import de.frank_rahn.xmlns.types.testtypes._1.XmlRow;
+import de.frank_rahn.xmlns.types.testtypes._1.XmlTable;
+import de.rahn.performance.beanmapper.TestBeansMapperBean;
+import de.rahn.performance.testbeans.DomainRow;
+import de.rahn.performance.testbeans.DomainTable;
+import java.util.Calendar;
+import java.util.Date;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ReMapTestBeansMapperBean implements TestBeansMapperBean {
+
+ private Mapper xmlRowToDomainRowMapper;
+
+ private Mapper xmlTableToDomainTableMapper;
+
+ private Mapper domainRowToXmlRowMapper;
+
+ private Mapper domainTableToXmlTableMapper;
+
+ public ReMapTestBeansMapperBean() {
+ this.xmlRowToDomainRowMapper = Mapping
+ .from(XmlRow.class)
+ .to(DomainRow.class)
+ .mapper();
+ this.xmlTableToDomainTableMapper = Mapping
+ .from(XmlTable.class)
+ .to(DomainTable.class)
+ .replace(XmlTable::getDate, DomainTable::getDate)
+ .with(calendarToDate())
+ .useMapper(xmlRowToDomainRowMapper)
+ .mapper();
+ this.domainRowToXmlRowMapper = Mapping
+ .from(DomainRow.class)
+ .to(XmlRow.class)
+ .mapper();
+ this.domainTableToXmlTableMapper = Mapping.from(DomainTable.class)
+ .to(XmlTable.class)
+ .replace(DomainTable::getDate, XmlTable::getDate)
+ .with(dateToCalendar())
+ .useMapper(this.domainRowToXmlRowMapper)
+ .mapper();
+ }
+
+ @Override
+ public String getMapperName() {
+ return "reMap";
+ }
+
+ @Override
+ public XmlTable map(DomainTable source) throws Exception {
+ return domainTableToXmlTableMapper.map(source);
+ }
+
+ @Override
+ public DomainTable map(XmlTable source) throws Exception {
+ return xmlTableToDomainTableMapper.map(source);
+ }
+
+ private Transform dateToCalendar() {
+ return source -> {
+ if (source == null) {
+ return null;
+ }
+ Calendar c = Calendar.getInstance();
+ c.setTime(source);
+ return c;
+ };
+ }
+
+ private Transform calendarToDate() {
+ return source -> {
+ if (source == null) {
+ return null;
+ }
+ return source.getTime();
+ };
+ }
+}
diff --git a/bean-mapper-test/src/test/java/de/rahn/performance/beanmapper/vendors/ReMapTestBeansMapperBeanTest.java b/bean-mapper-test/src/test/java/de/rahn/performance/beanmapper/vendors/ReMapTestBeansMapperBeanTest.java
new file mode 100644
index 0000000..4dc71f2
--- /dev/null
+++ b/bean-mapper-test/src/test/java/de/rahn/performance/beanmapper/vendors/ReMapTestBeansMapperBeanTest.java
@@ -0,0 +1,16 @@
+/*
+ * Copyright © 2014 by Frank W. Rahn. Alle Rechte vorbehalten. All rights
+ * reserved.
+ */
+package de.rahn.performance.beanmapper.vendors;
+
+import org.junit.Before;
+
+public class ReMapTestBeansMapperBeanTest extends AbstractTestBeansMapperBeanTest {
+
+ @Before
+ public void setUp() throws Exception {
+ mapperBean = new ReMapTestBeansMapperBean();
+ }
+
+}
\ No newline at end of file