On Mon, Sep 1, 2008 at 1:16 PM, Rickard Öberg <[EMAIL PROTECTED]> wrote:
> Alin Dreghiciu wrote:
>> On Mon, Sep 1, 2008 at 12:43 PM, Rickard Öberg <[EMAIL PROTECTED]> wrote:
>> To express the query will not be a problem as you can say (for example
>> in issue):
>>
>> QueryBuilder<Person> qb = qbf.newQueryBuilder( Abc.class );
>> Abc abc = templateFor( Abc.class );
>> qb.where(
>> eq( abc.def().get().value(), 10 )
>> );
>> Query<Abc> query = qb.newQuery();
>>
>> Note that this is not supported right now (an exception is thrown)
>
> Oh, now I get it. It's not related to assocs, but properties with
> complex values. My brain got it all mixed up. Right.
>
> Well, to index the state should be reasonably easy. We will have to
> extend the EntityType to refer to ValueTypes though, in order to
> encapsulate the "schema" properly.
>
>>>> * is it supported by EntityStores ?
>>> I thought this was a query issue only..?
>>
>> My question was if entity stores supports this kind of properties.
>
> Right, gotcha. There's nothing that says it can't work, but there's also
> nothing that explicitly says that it must work. I'm not really sure what
> the best way to do it is. As Niclas pointed out in the issue text, it
> may open a whole can of worms...
>
> Would it be possible to do a test and see what happens?
On a test I made using the memory entity store I got the NPE we
discussed about by chat.
java.lang.NullPointerException
at
org.qi4j.spi.serialization.CompositeInputStream.resolveObject(CompositeInputStream.java:88)
at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1352)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at
org.qi4j.spi.serialization.SerializedComposite.readObject(SerializedComposite.java:74)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at java.util.HashMap.readObject(HashMap.java:1067)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at
org.qi4j.spi.serialization.SerializedObject.getObject(SerializedObject.java:81)
at
org.qi4j.entity.memory.MemoryEntityStoreMixin.getEntityState(MemoryEntityStoreMixin.java:90)
at org.qi4j.spi.entity.EntityStore.getEntityState(Unknown Source)
at
org.qi4j.entity.memory.ConcurrentModificationCheckConcern.getEntityState(ConcurrentModificationCheckConcern.java:53)
at
org.qi4j.entity.memory.MemoryEntityStoreService.getEntityState(Unknown
Source)
at
org.qi4j.runtime.entity.EntityModel.getEntityState(EntityModel.java:297)
at
org.qi4j.runtime.entity.EntityInstance.invoke(EntityInstance.java:168)
at
org.qi4j.runtime.composite.CompositeMethodModel.invoke(CompositeMethodModel.java:96)
at
org.qi4j.runtime.composite.CompositeMethodsModel.invoke(CompositeMethodsModel.java:75)
at org.qi4j.runtime.entity.EntityModel.invoke(EntityModel.java:202)
at org.qi4j.runtime.entity.EntityInstance.invoke(EntityInstance.java:99)
at $Proxy16.name(Unknown Source)
at
org.qi4j.entity.index.rdf.RdfQueryTest.verifyUnorderedResults(RdfQueryTest.java:131)
at
org.qi4j.entity.index.rdf.RdfQueryTest.script01(RdfQueryTest.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
at
org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
at
org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
at
org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
at
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at com.intellij.rt.junit4.Junit4ClassSuite.run(Junit4ClassSuite.java:99)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
>
> /Rickard
>
>
> _______________________________________________
> qi4j-dev mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
>
--
Alin Dreghiciu
http://www.ops4j.org - New Energy for OSS Communities - Open
Participation Software.
http://www.qi4j.org - New Energy for Java - Domain Driven Development.
http://malaysia.jayway.net - New Energy for Projects - Great People
working on Great Projects at Great Places
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev