Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trouble saving a Java List inside of a map to Morphia. [moved] #446

Closed
jyemin opened this issue Apr 25, 2013 · 2 comments
Closed

Trouble saving a Java List inside of a map to Morphia. [moved] #446

jyemin opened this issue Apr 25, 2013 · 2 comments

Comments

@jyemin
Copy link
Contributor

jyemin commented Apr 25, 2013

This is Issue 446 moved from a Google Code project.
Added by 2013-01-31T05:43:42.000Z by corybill...@gmail.com.
Please review that bug for more context and additional comments, but update this bug.

Original labels: Type-Defect, Priority-Low

Original description

What version are you using? Morphia, MongoDB, Java

<b>Please include a stack trace below:</b>

I am getting this error from this line of code.  How can I save a List inside of a Map in Morphia.  Is it possible?  Thanks.

@Reference
private Map<Integer,List<VanillaOption>> optionsByDay;


com.google.code.morphia.mapping.MappingException: Error mapping field:code.com.corybill.model.IronCondor.optionsByDay
    at com.google.code.morphia.mapping.Mapper.toDBObject(Mapper.java:444)
    at com.google.code.morphia.mapping.Mapper.toDBObject(Mapper.java:426)
    at com.google.code.morphia.DatastoreImpl.entityToDBObj(DatastoreImpl.java:674)
    at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:722)
    at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:793)
    at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:703)
    at com.google.code.morphia.DatastoreImpl.save(DatastoreImpl.java:697)
    at code.com.corybill.control.dataLoad.IronCondorDataLoad.getData(IronCondorDataLoad.java:123)
    at code.com.corybill.control.dataLoad.IronCondorDataLoad.invoke(IronCondorDataLoad.java:68)
    at code.com.corybill.PrepareIronCondors.run(PrepareIronCondors.java:43)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at com.google.code.morphia.mapping.ReferenceMapper.getKey(ReferenceMapper.java:116)
    at com.google.code.morphia.mapping.ReferenceMapper.writeMap(ReferenceMapper.java:100)
    at com.google.code.morphia.mapping.ReferenceMapper.toDBObject(ReferenceMapper.java:41)
    at com.google.code.morphia.mapping.Mapper.writeMappedField(Mapper.java:529)
    at com.google.code.morphia.mapping.Mapper.toDBObject(Mapper.java:442)
    ... 12 more
Exception in thread &quot;pool-1-thread-1&quot; java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at code.com.corybill.helper.CalendarHelper.popAllOfThisWeekFromList(CalendarHelper.java:152)
    at code.com.corybill.control.dataLoad.IronCondorDataLoad.getData(IronCondorDataLoad.java:84)
    at code.com.corybill.control.dataLoad.IronCondorDataLoad.invoke(IronCondorDataLoad.java:68)
    at code.com.corybill.PrepareIronCondors.run(PrepareIronCondors.java:43)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
@evanchooly
Copy link
Member

@reference is used, basically, as a poor man's foreign key inside mongodb. Are you sure it's needed there and that you shouldn't just treat it as an embedded document in your model?

@evanchooly
Copy link
Member

I think the problem here is likely that those VanillaOptions have not been saved yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants