gae datastore - objectify - java.lang.IllegalStateException: At path ** Expected property value -
i have below entity containing embedmap, in turn contains embed object.
@entity public class info { @id private long id; private string name; @embedmap map<string, playerdata> datamap = maps.newhashmap(); } @embed public class playerdata { private long playerid; list<turndata> turns = lists.newarraylist(); } @embed public class turndata { private long turnid; private long score; } when seek save info entity datastore using objectify, below exception (i on objectify 4.0b3):
com.googlecode.objectify.impl.cmd.saverimpl.entity(saverimpl.java:33) @ test.battleresponsetest.populatebattlesdata(battleresponsetest.java:172) @ test.battleresponsetest.testgetallbattles_checkbattleids(battleresponsetest.java:185) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:601) @ org.junit.runners.model.frameworkmethod$1.runreflectivecall(frameworkmethod.java:45) @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15) @ org.junit.runners.model.frameworkmethod.invokeexplosively(frameworkmethod.java:42) @ org.junit.internal.runners.statements.invokemethod.evaluate(invokemethod.java:20) @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:28) @ org.junit.runners.parentrunner.runleaf(parentrunner.java:263) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:68) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:47) @ org.junit.runners.parentrunner$3.run(parentrunner.java:231) @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:60) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:229) @ org.junit.runners.parentrunner.access$000(parentrunner.java:50) @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:222) @ org.junit.runners.parentrunner.run(parentrunner.java:300) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) caused by: java.lang.illegalstateexception: @ path 'datamap.1.turns': expected property value, got {turnid={1}, score={135000}} @ com.googlecode.objectify.impl.path.throwillegalstate(path.java:134) @ com.googlecode.objectify.impl.transmog.populatefields(transmog.java:402) @ com.googlecode.objectify.impl.transmog.populatefields(transmog.java:430) @ com.googlecode.objectify.impl.transmog.populatefields(transmog.java:430) @ com.googlecode.objectify.impl.transmog.populatefields(transmog.java:430) @ com.googlecode.objectify.impl.transmog.save(transmog.java:364) @ com.googlecode.objectify.impl.transmog.save(transmog.java:100) ... 30 more
kindly help?
the format objectify v4 uses store embedded collections not accommodate storing collections nested within of collections. if migrate v5, able this.
gae-datastore objectify
No comments:
Post a Comment