Repository: zest-java Updated Branches: refs/heads/develop 511b37cab -> 1d6f2bb24
ZEST-118; Put Type back to the Service lookup calls. Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/1d6f2bb2 Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/1d6f2bb2 Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/1d6f2bb2 Branch: refs/heads/develop Commit: 1d6f2bb246f96c908b7575efda86a404f2803177 Parents: 511b37c Author: Niclas Hedhman <[email protected]> Authored: Sat Aug 29 23:48:52 2015 +0800 Committer: Niclas Hedhman <[email protected]> Committed: Sat Aug 29 23:48:52 2015 +0800 ---------------------------------------------------------------------- .../apache/zest/runtime/structure/ModuleInstance.java | 6 ++---- .../org/apache/zest/runtime/structure/TypeLookup.java | 12 ++++++------ 2 files changed, 8 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-java/blob/1d6f2bb2/core/runtime/src/main/java/org/apache/zest/runtime/structure/ModuleInstance.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/zest/runtime/structure/ModuleInstance.java b/core/runtime/src/main/java/org/apache/zest/runtime/structure/ModuleInstance.java index 2bd4bf4..bb9aa65 100644 --- a/core/runtime/src/main/java/org/apache/zest/runtime/structure/ModuleInstance.java +++ b/core/runtime/src/main/java/org/apache/zest/runtime/structure/ModuleInstance.java @@ -563,8 +563,7 @@ public class ModuleInstance @Override public <T> ServiceReference<T> findService( Type serviceType ) { - Class<T> clazz = (Class<T>) serviceType; - return typeLookup.lookupServiceReference( clazz ); + return typeLookup.lookupServiceReference( serviceType ); } @Override @@ -576,8 +575,7 @@ public class ModuleInstance @Override public <T> Iterable<ServiceReference<T>> findServices( Type serviceType ) { - Class<T> clazz = (Class<T>) serviceType; - return typeLookup.lookupServiceReferences( clazz ); + return typeLookup.lookupServiceReferences( serviceType ); } // Implementation of Activation http://git-wip-us.apache.org/repos/asf/zest-java/blob/1d6f2bb2/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java b/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java index 52447d2..615c42f 100755 --- a/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java +++ b/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java @@ -266,14 +266,14 @@ public class TypeLookup * * <p>Type lookup is done lazily and cached.</p> * - * <p>See {@link #lookupServiceReferences(Class)}.</p> + * <p>See {@link #lookupServiceReferences(Type)}.</p> * * @param <T> Service Type * @param serviceType Looked up Type * * @return First matching ServiceReference */ - <T> ServiceReference<T> lookupServiceReference( Class<T> serviceType ) + <T> ServiceReference<T> lookupServiceReference( Type serviceType ) { @SuppressWarnings( "unchecked" ) ServiceReference<T> serviceReference = (ServiceReference<T>) serviceReferences.get( serviceType ); @@ -283,7 +283,7 @@ public class TypeLookup serviceReference = first( lookupServiceReferences( serviceType ) ); if( serviceReference != null ) { - serviceReferences.put( serviceType, serviceReference ); + serviceReferences.put( (Class) serviceType, serviceReference ); } } @@ -314,7 +314,7 @@ public class TypeLookup * * @return All matching ServiceReferences */ - <T> List<ServiceReference<T>> lookupServiceReferences( final Class<T> type ) + <T> List<ServiceReference<T>> lookupServiceReferences( final Type type ) { List<ServiceReference<?>> serviceRefs = servicesReferences.get( type ); if( serviceRefs == null ) @@ -324,10 +324,10 @@ public class TypeLookup .filter( ref -> ref.types().anyMatch( clazz -> clazz.equals( type ) ) ), allServices() .filter( ref -> ref.types().anyMatch( - t -> !( t.equals( type ) ) && type.isAssignableFrom( t ) ) + t -> !( t.equals( type ) ) && ((Class)type).isAssignableFrom( t ) ) ) ).distinct().collect( Collectors.toList() ); - servicesReferences.put( type, serviceRefs ); + servicesReferences.put( (Class) type, serviceRefs ); } List<ServiceReference<T>> result = new ArrayList<>(); //noinspection unchecked
