DATACMNS-1121 - ProxyProjectionFactory now returns instance as is if it implements the target.

If you previously asked ProxyProjectionFactory for a proxy of an interface which the target instance already implements, it created a proxy although it could've returned the instance as is. It's now actually doing that avoiding superfluous proxy creation.
This commit is contained in:
Oliver Gierke
2017-07-20 14:29:54 +02:00
parent 5e4cac308e
commit 51f099306d
2 changed files with 13 additions and 3 deletions

View File

@@ -206,7 +206,17 @@ public class ProxyProjectionFactoryUnitTests {
assertThat(data.get("key")).isNull();
}
static class Customer {
@Test // DATACMNS-1121
public void doesNotCreateWrappingProxyIfTargetImplementsProjectionInterface() {
Customer customer = new Customer();
assertThat(factory.createProjection(Contact.class, customer)).isSameAs(customer);
}
interface Contact {}
static class Customer implements Contact {
public Long id;
public String firstname, lastname;