You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Hendy Irawan (Created) (JIRA)" <ji...@apache.org> on 2012/02/28 19:01:48 UTC
[jira] [Created] (ARIES-834) Unable to convert value
ListIndexIterable to type java.lang.Iterable
Unable to convert value ListIndexIterable to type java.lang.Iterable<Something>
-------------------------------------------------------------------------------
Key: ARIES-834
URL: https://issues.apache.org/jira/browse/ARIES-834
Project: Aries
Issue Type: Bug
Components: Blueprint
Environment: Karaf 2.2.5, Blueprint 0.3.1, Neo4j 1.7-SNAPSHOT (my own fork)
Reporter: Hendy Irawan
The property :
{code}
public void setIndexIterable(Iterable<IndexProvider> indexIterable) {
this.indexIterable = indexIterable;
}
{code}
The implementation :
{code}
public class ListIndexIterable implements Iterable<IndexProvider>
{code}
The Blueprint :
{code}
<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>
{code}
Expected result : works because ListIndexIterable implements Iterable<IndexProvider>
Actual result :
{code}
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
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (ARIES-834) Unable to convert value
ListIndexIterable to type java.lang.Iterable
Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ARIES-834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet resolved ARIES-834.
-----------------------------------
Resolution: Fixed
Fix Version/s: blueprint-core-1.0.1
Assignee: Guillaume Nodet
Fixed in rev. http://svn.apache.org/viewvc?rev=1365486&view=rev
> Unable to convert value ListIndexIterable to type java.lang.Iterable<Something>
> -------------------------------------------------------------------------------
>
> Key: ARIES-834
> URL: https://issues.apache.org/jira/browse/ARIES-834
> Project: Aries
> Issue Type: Bug
> Components: Blueprint
> Environment: Karaf 2.2.5, Blueprint 0.3.1, Neo4j 1.7-SNAPSHOT (my own fork)
> Reporter: Hendy Irawan
> Assignee: Guillaume Nodet
> Fix For: blueprint-core-1.0.1
>
>
> The property :
> {code}
> public void setIndexIterable(Iterable<IndexProvider> indexIterable) {
> this.indexIterable = indexIterable;
> }
> {code}
> The implementation :
> {code}
> public class ListIndexIterable implements Iterable<IndexProvider>
> {code}
> The Blueprint :
> {code}
> <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>
> {code}
> Expected result : works because ListIndexIterable implements Iterable<IndexProvider>
> Actual result :
> {code}
> 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
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (ARIES-834) Unable to convert value
ListIndexIterable to type java.lang.Iterable
Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ARIES-834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422082#comment-13422082 ]
Guillaume Nodet commented on ARIES-834:
---------------------------------------
This is slightly off the spec, as section 121.9.3 of the enterprise spec specifies:
The goal of the type conversion is to convert a source object s with type S to a target type T<P1..Pn>. The conversion of the Blueprint built-in type converter must take place in the following order:
#1. If T < P 1 . . P n > is assignable from S , which implies n=0, then no conversion is necessary, except that primitives must be converted to their wrapper types.
The problem here, is that the assertion "which implies n=0" isn't completely true, if S extends or implements T<P1..Pn>.
> Unable to convert value ListIndexIterable to type java.lang.Iterable<Something>
> -------------------------------------------------------------------------------
>
> Key: ARIES-834
> URL: https://issues.apache.org/jira/browse/ARIES-834
> Project: Aries
> Issue Type: Bug
> Components: Blueprint
> Environment: Karaf 2.2.5, Blueprint 0.3.1, Neo4j 1.7-SNAPSHOT (my own fork)
> Reporter: Hendy Irawan
>
> The property :
> {code}
> public void setIndexIterable(Iterable<IndexProvider> indexIterable) {
> this.indexIterable = indexIterable;
> }
> {code}
> The implementation :
> {code}
> public class ListIndexIterable implements Iterable<IndexProvider>
> {code}
> The Blueprint :
> {code}
> <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>
> {code}
> Expected result : works because ListIndexIterable implements Iterable<IndexProvider>
> Actual result :
> {code}
> 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
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira