Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Karaf 2.2.5, Blueprint 0.3.1, Neo4j 1.7-SNAPSHOT (my own fork)
Description
The property :
public void setIndexIterable(Iterable<IndexProvider> indexIterable) { this.indexIterable = indexIterable; }
The implementation :
public class ListIndexIterable implements Iterable<IndexProvider>
The Blueprint :
<bean id="listIndexIterable" class="org.neo4j.kernel.ListIndexIterable"> <property name="indexProviders"> <reference-list interface="org.neo4j.graphdb.index.IndexProvider" availability="optional"/> </property> </bean> <bean id="graphDatabaseFactory" class="org.neo4j.kernel.DefaultGraphDatabaseFactory"> <property name="indexIterable" ref="listIndexIterable"/> </bean>
Expected result : works because ListIndexIterable implements Iterable<IndexProvider>
Actual result :
Caused by: java.lang.Exception: Unable to convert value org.neo4j.kernel.ListIndexIterable@674df816 to type java.lang.Iterable<org.neo4j.graphdb.index.IndexProvider> at org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:172)[9:org.apache.aries.blueprint:0.3.1] at org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:373)[9:org.apache.aries.blueprint:0.3.1] at org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:323)[9:org.apache.aries.blueprint:0.3.1] at org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:476)[9:org.apache.aries.blueprint:0.3.1] at org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:307)[9:org.apache.aries.blueprint:0.3.1] at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:805)[9:org.apache.aries.blueprint:0.3.1] ... 17 more