google-code-export / morphia

Automatically exported from code.google.com/p/morphia
1 stars 0 forks source link

Error on Blob Field #265

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What version are you using? (morphia-0.99-SNAPSHOT/Driver: mongo-2.3/MongoDB 
1.6.5)

Hi currently I'm integrating morphia with play! framework. Now I have problem 
with Blob data type issue.

So I have this code:

String email = "my.email@gmail.com";
User user = (User) User.find("byEmail", email).get();

When I run it there are error as a stack trace below:

RuntimeException occured : java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: 
No usable constructor for java.io.File

And this is the exception detail in my console:

RuntimeException occured : java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: 
No usable constructor for java.io.File

play.exceptions.JavaExecutionException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: 
No usable constructor for java.io.File
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:285)
    at Invocation.HTTP Request(Play!)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: 
No usable constructor for java.io.File
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:413)
    at com.google.code.morphia.mapping.Mapper.fromDBObject(Mapper.java:265)
    at com.google.code.morphia.query.MorphiaIterator.processItem(MorphiaIterator.java:53)
    at com.google.code.morphia.query.MorphiaIterator.next(MorphiaIterator.java:48)
    at com.google.code.morphia.query.QueryImpl.get(QueryImpl.java:340)
    at play.modules.morphia.Model$MorphiaQuery.get(Model.java:669)
    at play.modules.morphia.Model$MorphiaQuery.first(Model.java:605)
    at controllers.Member.showProfile(Member.java:30)
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:408)
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:403)
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:176)
    ... 1 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
com.google.code.morphia.mapping.MappingException: No usable constructor for 
java.io.File
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:149)
    at com.google.code.morphia.mapping.Mapper.readMappedField(Mapper.java:433)
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:410)
    ... 11 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: 
No usable constructor for java.io.File
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:413)
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:140)
    ... 13 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: java.lang.RuntimeException: 
com.google.code.morphia.mapping.MappingException: No usable constructor for 
java.io.File
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:149)
    at com.google.code.morphia.mapping.Mapper.readMappedField(Mapper.java:433)
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:410)
    ... 14 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
java.lang.RuntimeException: com.google.code.morphia.mapping.MappingException: 
No usable constructor for java.io.File
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:413)
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:140)
    at com.google.code.morphia.mapping.Mapper.readMappedField(Mapper.java:433)
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:410)
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:140)
    at com.google.code.morphia.mapping.Mapper.readMappedField(Mapper.java:433)
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:410)
    at com.google.code.morphia.mapping.Mapper.fromDBObject(Mapper.java:265)
    at com.google.code.morphia.query.MorphiaIterator.processItem(MorphiaIterator.java:53)
    at com.google.code.morphia.query.MorphiaIterator.next(MorphiaIterator.java:48)
    at com.google.code.morphia.query.QueryImpl.get(QueryImpl.java:340)
    at play.modules.morphia.Model$MorphiaQuery.get(Model.java:669)
    at play.modules.morphia.Model$MorphiaQuery.first(Model.java:605)
    at controllers.Member.showProfile(Member.java:30)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:408)
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:403)
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:176)
    at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:169)
    at play.Invoker$Invocation.run(Invoker.java:187)
    at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:149)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: 
com.google.code.morphia.mapping.MappingException: No usable constructor for 
java.io.File
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:149)
    at com.google.code.morphia.mapping.Mapper.readMappedField(Mapper.java:433)
    at com.google.code.morphia.mapping.Mapper.fromDb(Mapper.java:410)
    ... 31 more
Caused by: java.lang.RuntimeException: 
com.google.code.morphia.mapping.MappingException: No usable constructor for 
java.io.File
    at com.google.code.morphia.mapping.DefaultCreator.createInst(DefaultCreator.java:119)
    at com.google.code.morphia.mapping.DefaultCreator.createInstance(DefaultCreator.java:31)
    at com.google.code.morphia.mapping.DefaultCreator.createInstance(DefaultCreator.java:41)
    at com.google.code.morphia.mapping.DefaultCreator.createInstance(DefaultCreator.java:52)
    at com.google.code.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:139)
    ... 33 more
Caused by: com.google.code.morphia.mapping.MappingException: No usable 
constructor for java.io.File
    at com.google.code.morphia.mapping.DefaultCreator.getNoArgsConstructor(DefaultCreator.java:142)
    at com.google.code.morphia.mapping.DefaultCreator.createInst(DefaultCreator.java:117)
    ... 37 more
Caused by: java.lang.NoSuchMethodException: java.io.File.<init>()
    at java.lang.Class.getConstructor0(Class.java:2706)
    at java.lang.Class.getDeclaredConstructor(Class.java:1985)
    at com.google.code.morphia.mapping.DefaultCreator.getNoArgsConstructor(DefaultCreator.java:138)
    ... 38 more

Notes:
In my class model User above, I have class model Profile which is have 
profilePic field using Blob type. When I try to change it to string, the 
exception is just gone, but my file is not uploaded (of course).

How can I fix this?

Thanks

Original issue reported on code.google.com by azwar.ak...@gmail.com on 8 Apr 2011 at 6:00

GoogleCodeExporter commented 9 years ago

Original comment by scotthernandez on 13 Apr 2011 at 2:21