Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  2. at org.mongojack.internal.util.JacksonAccessor.invoke(JacksonAccessor.java:153)
  3. at org.mongojack.internal.util.JacksonAccessor.findDeserializer(JacksonAccessor.java:44)
  4. at org.mongojack.internal.util.IdHandlerFactory.getIdHandlerForProperty(IdHandlerFactory.java:40)
  5. at org.mongojack.JacksonDBCollection.<init>(JacksonDBCollection.java:137)
  6. at org.mongojack.JacksonDBCollection.wrap(JacksonDBCollection.java:181)
  7. at com.mytest.testdb.tests.integration.persistence.PersistenceIntegrationTests.test_shouldInsertTestObject(PersistenceIntegrationTests.java:27)
  8. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  9. at java.lang.reflect.Method.invoke(Method.java:606)
  10. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  11. at java.lang.reflect.Method.invoke(Method.java:606)
  12. at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
  13. Caused by: java.lang.reflect.InvocationTargetException
  14. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  15. at java.lang.reflect.Method.invoke(Method.java:606)
  16. at org.mongojack.internal.util.JacksonAccessor.invoke(JacksonAccessor.java:149)
  17. ... 10 more
  18. Caused by: com.fasterxml.jackson.databind.JsonMappingException: Argument #0 of constructor [constructor for com.mytest.testdb.tests.integration.persistence.PersistenceIntegrationTests$TestObject, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator()}] has no property name annotation; must have name when multiple-paramater constructor annotated as Creator
  19. at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:272)
  20. at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:247)
  21. at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:146)
  22. at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:322)
  23. at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:2990)
  24. ... 13 more
  25. Caused by: java.lang.IllegalArgumentException: Argument #0 of constructor [constructor for com.mytest.testdb.tests.integration.persistence.PersistenceIntegrationTests$TestObject, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator()}] has no property name annotation; must have name when multiple-paramater constructor annotated as Creator
  26. at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findValueInstantiator(BasicDeserializerFactory.java:283)
  27. at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:263)
  28. at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:168)
  29. at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:405)
  30. at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:354)
  31. at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:267)
  32. ... 17 more
  33.  
  34. public class TestObject{
  35. private String id;
  36. private String myString;
  37.  
  38. public TestObject(String myString) {
  39. this.myString = myString;
  40. }
  41.  
  42. @JsonCreator
  43. public TestObject(@JsonProperty("_id")String id, @JsonProperty("my_string") String myString) {
  44. this.id = id;
  45. this.myString = myString;
  46. }
  47.  
  48. @ObjectId
  49. @JsonProperty("_id")
  50. String getId() {
  51. return id;
  52. }
  53.  
  54. @ObjectId
  55. @JsonProperty("_id")
  56. void setId(String id){
  57. this.id = id;
  58. }
  59.  
  60. @JsonProperty("my_string")
  61. String getMyString() {
  62. return myString;
  63. }
  64.  
  65. @JsonProperty("my_string")
  66. void setMyString(String myString) {
  67. this.myString = myString;
  68. }
  69. }
  70.  
  71. @Test
  72. public void PersistenceIntegrationTests.test_shouldInsertTestObject(){
  73. MongoClient mongoClient = new MongoClient("localhost", 27017);
  74. DB db = mongoClient.getDB("TestDb");
  75. TestObject testObject = new TestObject(1,"My String 1");
  76. DBCollection dbCollection = db.getCollection("TestObjects");
  77. JacksonDBCollection<TestObject, String> collection =
  78. JacksonDBCollection.wrap(dbCollection, TestObject.class, String.class);
  79.  
  80. WriteResult<TestObject,String> result = collection.insert(testObject);
  81.  
  82. List<TestObject> savedObjects = result.getSavedObjects();
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement