/*
* This code is distributed under The GNU Lesser General Public License (LGPLv3)
* Please visit GNU site for LGPLv3 http://www.gnu.org/copyleft/lesser.html
*
* Copyright Denis Pavlov 2009
* Web: http://www.genericdtoassembler.org
* SVN: https://svn.code.sf.net/p/geda-genericdto/code/trunk/
* SVN (mirror): http://geda-genericdto.googlecode.com/svn/trunk/
*/
package com.inspiresoftware.lib.dto.geda.interceptor.impl;
import com.inspiresoftware.lib.dto.geda.DTOFactory;
import com.inspiresoftware.lib.dto.geda.adapter.BeanFactory;
import com.inspiresoftware.lib.dto.geda.adapter.DtoToEntityMatcher;
import com.inspiresoftware.lib.dto.geda.adapter.EntityRetriever;
import com.inspiresoftware.lib.dto.geda.adapter.ValueConverter;
import com.inspiresoftware.lib.dto.geda.annotations.Direction;
import com.inspiresoftware.lib.dto.geda.annotations.Occurrence;
import com.inspiresoftware.lib.dto.geda.interceptor.AdviceConfig;
import com.inspiresoftware.lib.dto.geda.test.impl.AnnotatedTestServiceImpl;
import org.testng.annotations.Test;
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Map;
import static com.inspiresoftware.lib.dto.geda.interceptor.impl.TransferableUtils.NO_INDEX;
import static com.inspiresoftware.lib.dto.geda.interceptor.impl.TransferableUtils.RETURN_INDEX;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertSame;
/**
* .
* <p/>
* User: denispavlov
* Date: Jan 29, 2012
* Time: 7:52:54 PM
*/
public class TransferableUtilsTest {
private Method getMethod(Class testClass, String method) {
final Method[] methods = testClass.getMethods();
for (final Method meth : methods) {
if (meth.getName().equals(method)) {
return meth;
}
}
return null;
}
@Test
public void testResolveDtoToEntityBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityBeforeExact");
}
@Test
public void testResolveDtoToEntityBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityBefore");
}
@Test
public void testResolveDtoToEntityByFilterBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityByFilterBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityByFilterBeforeExact");
}
@Test
public void testResolveDtoToEntityByFilterBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityByFilterBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityByFilterBefore");
}
@Test
public void testResolveDtosToEntitiesBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "entityKey");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtosToEntitiesBeforeExact");
}
@Test
public void testResolveDtosToEntitiesBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "entityKey");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtosToEntitiesBefore");
}
@Test
public void testResolveDtosToEntitiesByFilterBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesByFilterBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "entityKey");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtosToEntitiesByFilterBeforeExact");
}
@Test
public void testResolveDtosToEntitiesByFilterBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesByFilterBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "entityKey");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtosToEntitiesByFilterBefore");
}
@Test
public void testResolveDtoToEntityKeyAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityKeyAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "dtoToEntityKeyAfterExact");
}
@Test
public void testResolveDtoToEntityKeyAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityKeyAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "dtoToEntityKeyAfter");
}
@Test
public void testResolveDtoToEntityKeyByFilterAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityKeyByFilterAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "dtoToEntityKeyByFilterAfterExact");
}
@Test
public void testResolveDtoToEntityKeyByFilterAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityKeyByFilterAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "dtoToEntityKeyByFilterAfter");
}
@Test
public void testResolveDtoToEntityAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtoToEntityAfterExact");
}
@Test
public void testResolveDtoToEntityAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtoToEntityAfter");
}
@Test
public void testResolveDtoToEntityByFilterAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityByFilterAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtoToEntityByFilterAfterExact");
}
@Test
public void testResolveDtoToEntityByFilterAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityByFilterAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtoToEntityByFilterAfter");
}
@Test
public void testResolveDtosToEntitiesByFilterAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesByFilterAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES_BY_FILTER);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtosToEntitiesByFilterAfterExact");
}
@Test
public void testResolveDtosToEntitiesByFilterAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesByFilterAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES_BY_FILTER);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtosToEntitiesByFilterAfter");
}
@Test
public void testResolveDtosToEntitiesAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtosToEntitiesAfterExact");
}
@Test
public void testResolveDtosToEntitiesAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtosToEntitiesAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTOS_TO_ENTITIES);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "dtosToEntitiesAfter");
}
@Test
public void testResolveEntityToDtoBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoBeforeExact");
}
@Test
public void testResolveEntityToDtoBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoBefore");
}
@Test
public void testResolveEntityToDtoByFilterBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoByFilterBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoByFilterBeforeExact");
}
@Test
public void testResolveEntityToDtoByFilterBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoByFilterBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoByFilterBefore");
}
@Test
public void testResolveEntitiesToDtosByFilterBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosByFilterBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS_BY_FILTER);
assertEquals(before.getDtoKey(), "annDtoKey");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entitiesToDtosByFilterBefore");
}
@Test
public void testResolveEntitiesToDtosByFilterBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosByFilterBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS_BY_FILTER);
assertEquals(before.getDtoKey(), "annDtoKey");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entitiesToDtosByFilterBeforeExact");
}
@Test
public void testResolveEntitiesToDtosBeforeExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosBeforeExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS);
assertEquals(before.getDtoKey(), "annDtoKey");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entitiesToDtosBeforeExact");
}
@Test
public void testResolveEntitiesToDtosBefore() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosBefore"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS);
assertEquals(before.getDtoKey(), "annDtoKey");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entitiesToDtosBefore");
}
@Test
public void testResolveEntityToDtoKeyAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoKeyAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 0);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoKeyAfterExact");
}
@Test
public void testResolveEntityToDtoKeyAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoKeyAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 0);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoKeyAfter");
}
@Test
public void testResolveEntityToDtoKeyByFilterAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoKeyByFilterAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY_BY_FILTER);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 0);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoKeyByFilterAfterExact");
}
@Test
public void testResolveEntityToDtoKeyByFilterAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoKeyByFilterAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY_BY_FILTER);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 0);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoKeyByFilterAfter");
}
@Test
public void testResolveEntityToDtoAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoAfterExact");
}
@Test
public void testResolveEntityToDtoAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoAfter");
}
@Test
public void testResolveEntityToDtoByFilterAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoByFilterAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoByFilterAfterExact");
}
@Test
public void testResolveEntityToDtoByFilterAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoByFilterAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entityToDtoByFilterAfter");
}
@Test
public void testResolveEntitiesToDtosByFilterAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosByFilterAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS_BY_FILTER);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entitiesToDtosByFilterAfterExact");
}
@Test
public void testResolveEntitiesToDtosByFilterAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosByFilterAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS_BY_FILTER);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entitiesToDtosByFilterAfter");
}
@Test
public void testResolveEntitiesToDtosAfterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosAfterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entitiesToDtosAfterExact");
}
@Test
public void testResolveEntitiesToDtosAfter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entitiesToDtosAfter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 1);
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITIES_TO_DTOS);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "entitiesToDtosAfter");
}
@Test
public void testResolveDtoToEntityAndBackToDtoExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoExact");
}
@Test
public void testResolveDtoToEntityAndBackToDto() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDto"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDto");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDto");
}
@Test
public void testResolveDtoToEntityAndBackToDtoByFilterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoByFilterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoByFilterExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY_BY_FILTER);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoByFilterExact");
}
@Test
public void testResolveDtoToEntityAndBackToDtoByFilter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoByFilter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoByFilter");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY_BY_FILTER);
assertEquals(after.getDtoKey(), "annDtoKey");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), RETURN_INDEX);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoByFilter");
}
@Test
public void testResolveDtoToEntityAndBackToDtoVoidExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoVoidExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoVoidExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoVoidExact");
}
@Test
public void testResolveDtoToEntityAndBackToDtoVoid() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoVoid"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoVoid");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoVoid");
}
@Test
public void testResolveDtoToEntityAndBackToDtoVoidByFilterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoVoidByFilterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoVoidByFilterExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoVoidByFilterExact");
}
@Test
public void testResolveDtoToEntityAndBackToDtoVoidByFilter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "dtoToEntityAndBackToDtoVoidByFilter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), 0);
assertEquals(before.getDtoTargetIndex(), NO_INDEX);
assertEquals(before.getEntitySourceIndex(), NO_INDEX);
assertEquals(before.getEntityTargetIndex(), 1);
assertEquals(before.getContext(), "dtoToEntityAndBackToDtoVoidByFilter");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), NO_INDEX);
assertEquals(after.getDtoTargetIndex(), 0);
assertEquals(after.getEntitySourceIndex(), 1);
assertEquals(after.getEntityTargetIndex(), NO_INDEX);
assertEquals(after.getContext(), "dtoToEntityAndBackToDtoVoidByFilter");
}
@Test
public void testResolveEntityToDtoAndBackToEntityExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityExact");
}
@Test
public void testResolveEntityToDtoAndBackToEntity() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntity"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntity");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "entityToDtoAndBackToEntity");
}
@Test
public void testResolveEntityToDtoAndBackToEntityByFilterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityByFilterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityByFilterExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityByFilterExact");
}
@Test
public void testResolveEntityToDtoAndBackToEntityByFilter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityByFilter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityByFilter");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY_KEY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "entityKey");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), RETURN_INDEX);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityByFilter");
}
@Test
public void testResolveEntityToDtoAndBackToEntityVoidExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityVoidExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityVoidExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityVoidExact");
}
@Test
public void testResolveEntityToDtoAndBackToEntityVoid() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityVoid"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityVoid");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityVoid");
}
@Test
public void testResolveEntityToDtoAndBackToEntityVoidByFilterExact() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityVoidByFilterExact"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityVoidByFilterExact");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityVoidByFilterExact");
}
@Test
public void testResolveEntityToDtoAndBackToEntityVoidByFilter() throws Exception {
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(AnnotatedTestServiceImpl.class, "entityToDtoAndBackToEntityVoidByFilter"), AnnotatedTestServiceImpl.class);
assertEquals(map.size(), 2);
final AdviceConfig before = map.get(Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDirection(), Direction.ENTITY_TO_DTO);
assertEquals(before.getOccurrence(), Occurrence.BEFORE_METHOD_INVOCATION);
assertEquals(before.getDtoSupportMode(), AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER);
assertEquals(before.getDtoKey(), "");
assertEquals(before.getEntityKey(), "");
assertEquals(before.getDtoFilterKey(), "annFilterKey");
assertEquals(before.getDtoSourceIndex(), NO_INDEX);
assertEquals(before.getDtoTargetIndex(), 0);
assertEquals(before.getEntitySourceIndex(), 1);
assertEquals(before.getEntityTargetIndex(), NO_INDEX);
assertEquals(before.getContext(), "entityToDtoAndBackToEntityVoidByFilter");
final AdviceConfig after = map.get(Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDirection(), Direction.DTO_TO_ENTITY);
assertEquals(after.getOccurrence(), Occurrence.AFTER_METHOD_INVOCATION);
assertEquals(after.getDtoSupportMode(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY);
assertEquals(after.getDtoKey(), "");
assertEquals(after.getEntityKey(), "");
assertEquals(after.getDtoFilterKey(), "annFilterKey");
assertEquals(after.getDtoSourceIndex(), 0);
assertEquals(after.getDtoTargetIndex(), NO_INDEX);
assertEquals(after.getEntitySourceIndex(), NO_INDEX);
assertEquals(after.getEntityTargetIndex(), 1);
assertEquals(after.getContext(), "entityToDtoAndBackToEntityVoidByFilter");
}
@Test
public void testNotUsingInfrastructureBeansDtoToEntityMatcher() throws Exception {
class DtoToEntityMatcherAdapter implements DtoToEntityMatcher {
public boolean match(final Object o, final Object o1) {
return false;
}
}
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(DtoToEntityMatcherAdapter.class, "match"), DtoToEntityMatcherAdapter.class);
assertSame(map, Collections.<Object, Object>emptyMap());
}
@Test
public void testNotUsingInfrastructureBeansEntityRetriever() throws Exception {
class EntityRetrieverAdapter implements EntityRetriever {
public Object retrieveByPrimaryKey(final Class entityInterface, final Class entityClass, final Object primaryKey) {
return null;
}
}
final Map<Occurrence, AdviceConfig> map =
TransferableUtils.resolveConfiguration(getMethod(EntityRetrieverAdapter.class, "retrieveByPrimaryKey"), EntityRetrieverAdapter.class);
assertSame(map, Collections.<Object, Object>emptyMap());
}
@Test
public void testNotUsingInfrastructureBeansValueConverter() throws Exception {
class ValueConverterAdapter implements ValueConverter {
public Object convertToDto(final Object object, final BeanFactory beanFactory) {
return null;
}
public Object convertToEntity(final Object object, final Object oldEntity, final BeanFactory beanFactory) {
return null;
}
}
final Map<Occurrence, AdviceConfig> mapToDto =
TransferableUtils.resolveConfiguration(getMethod(ValueConverterAdapter.class, "convertToDto"), ValueConverterAdapter.class);
assertSame(mapToDto, Collections.<Object, Object>emptyMap());
final Map<Occurrence, AdviceConfig> mapToEntity =
TransferableUtils.resolveConfiguration(getMethod(ValueConverterAdapter.class, "convertToEntity"), ValueConverterAdapter.class);
assertSame(mapToEntity, Collections.<Object, Object>emptyMap());
}
@Test
public void testNotUsingInfrastructureBeansGeDAInfrastructure() throws Exception {
final Map<Occurrence, AdviceConfig> mapToDto =
TransferableUtils.resolveConfiguration(getMethod(DTOFactory.class, "register"), DTOFactory.class);
assertSame(mapToDto, Collections.<Object, Object>emptyMap());
}
}