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

@@ -96,8 +96,8 @@ class ProxyProjectionFactory implements ProjectionFactory, BeanClassLoaderAware
Assert.notNull(projectionType, "Projection type must not be null!");
Assert.isTrue(projectionType.isInterface(), "Projection type must be an interface!");
if (source == null) {
return null;
if (source == null || projectionType.isInstance(source)) {
return (T) source;
}
ProxyFactory factory = new ProxyFactory();