public class User {
//... some fields ...
private Company company;
//... constructor using all fieds ...
//... getters and setters for all fields ...
}
public class Company {
//... some fields ...
private List<Module> modules;
//... constructor using all fieds ...
//... getters and setters for all fields ...
public class Module {
private String name;
private Date createTime;
private Date expireTime;
private Map<String, Object> options;
//... constructor using all fieds ...
//... getters and setters for all fields ...
}
}
--
You received this message because you are subscribed to the Google Groups "Jongo" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jongo-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
play.api.Application$$anon$1: Execution exception[[MarshallingException: Unable to unmarshall result to class bdrim.models.User from content { "_id" : { "$oid" : "53beb050d10e5ba896d8d912"} , "email" : "xxx...@xxxxx.it" , "name" : "xxxxxx" , "surname" : "xxxxxx" , "password" : "$2a$10$E4hi2giYm4LnYq5e3TrfheGhsjtydWtl3GR/87.tUIA1Xs8MtY9kS" , "company" : { "name" : "xxxxxx s.r.l." , "vat" : "00000000000" , "telephoneNumber" : "00000000" , "country" : "Italy" , "city" : "Cxxxxxxx" , "postalCode" : "xxxx" , "address" : "Via xxxxx 25/c" , "modules" : [ { "name" : "mailchimp" , "createTime" : { "$date" : "2014-10-15T12:19:12.416Z"} , "expireTime" : { "$date" : "2015-10-15T12:19:12.416Z"} , "options" : { "listid" : "6d7e5ad5b8" , "apikey" : "9fe7bcfxxxxxxxxxxxxxxxxxxxxxc9ea-us9"}}]} , "role" : "Super Administrator" , "idShop" : "Shop2"}]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.2.jar:2.3.2]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.2.jar:2.3.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.2.jar:2.3.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.2.jar:2.3.2]
at scala.Option.map(Option.scala:145) [scala-library-2.11.2.jar:na]
Caused by: org.jongo.marshall.MarshallingException: Unable to unmarshall result to class bdrim.models.User from content { "_id" : { "$oid" : "53beb050d10e5ba896d8d912"} , "email" : "xxx...@xxxxx.it" , "name" : "xxxxxx" , "surname" : "xxxxxx" , "password" : "$2a$10$E4hi2giYm4LnYq5e3TrfheGhsjtydWtl3GR/87.tUIA1Xs8MtY9kS" , "company" : { "name" : "xxxxxx s.r.l." , "vat" : "00000000000" , "telephoneNumber" : "00000000" , "country" : "Italy" , "city" : "Cxxxxxxx" , "postalCode" : "xxxx" , "address" : "Via xxxxx 25/c" , "modules" : [ { "name" : "mailchimp" , "createTime" : { "$date" : "2014-10-15T12:19:12.416Z"} , "expireTime" : { "$date" : "2015-10-15T12:19:12.416Z"} , "options" : { "listid" : "6d7e5ad5b8" , "apikey" : "9fe7bcfxxxxxxxxxxxxxxxxxxxxxc9ea-us9"}}]} , "role" : "Super Administrator" , "idShop" : "Shop2"}
at org.jongo.marshall.jackson.JacksonEngine.unmarshall(JacksonEngine.java:45) ~[jongo-1.1.jar:na]
at org.jongo.ResultHandlerFactory$UnmarshallingResultHandler.map(ResultHandlerFactory.java:43) ~[jongo-1.1.jar:na]
at org.jongo.FindOne.map(FindOne.java:51) ~[jongo-1.1.jar:na]
at org.jongo.FindOne.as(FindOne.java:46) ~[jongo-1.1.jar:na]
at bdrim.models.UsersDao.getUser(UsersDao.java:151) ~[classes/:na]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class bdrim.models.Company$Module]: can not instantiate from JSON object (need to add/enable type information?)
at [Source: de.undercouch.bson4jackson.io.LittleEndianInputStream@1ceec5a0; pos: 361] (through reference chain: bdrim.models.User["company"]->bdrim.models.Company["modules"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1065) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:268) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:124) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:232) ~[jackson-databind-2.4.1.jar:2.4.1]
public class Module {
private String name;
private Date createTime;
private Date expireTime;
private Map<String, Object> options;
public Module(String name, Date createTime, Date expireTime, Map<String, Object> options) {
super();
this.name = name;
this.createTime = createTime;
this.expireTime = expireTime;
this.options = options;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + getOuterType().hashCode();
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Module other = (Module) obj;
if (!getOuterType().equals(other.getOuterType()))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
public Date getCreateTime() {
return createTime;
}
public Date getExpireTime() {
return expireTime;
}
public String getName() {
return name;
}
public Map<String, Object> getOptions() {
return options;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
public void setName(String name) {
this.name = name;
}
public void setOptions(Map<String, Object> options) {
this.options = options;
}
private Company getOuterType() {
return Company.this;
}
}
...
--
play.api.Application$$anon$1: Execution exception[[MarshallingException: Unable to unmarshall result to class bdrim.models.User from content { "_id" : { "$oid" :"53beb050d10e5ba896d8d912"} , "email" : "xxx...@xxxxx.it" , "name" : "xxxxxx" ,"surname" : "xxxxxx" , "password" : "$2a$10$E4hi2giYm4LnYq5e3TrfheGhsjtydWtl3GR/87.tUIA1Xs8MtY9kS" , "company" : { "name" : "xxxxxx s.r.l." , "vat" : "00000000000" ,"telephoneNumber" : "00000000" , "country" : "Italy" , "city" : "Cxxxxxxx" ,"postalCode" : "xxxx" , "address" : "Via xxxxx 25/c" , "modules" : [ { "name" :"mailchimp" , "createTime" : { "$date" : "2014-10-15T12:19:12.416Z"} , "expireTime" :{ "$date" : "2015-10-15T12:19:12.416Z"} , "options" : { "listid" : "6d7e5ad5b8" ,"apikey" : "9fe7bcfxxxxxxxxxxxxxxxxxxxxxc9ea-us9"}}]} , "role" : "Super Administrator" , "idShop" : "Shop2"}]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.2.jar:2.3.2]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.2.jar:2.3.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.2.jar:2.3.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.2.jar:2.3.2]
at scala.Option.map(Option.scala:145) [scala-library-2.11.2.jar:na]
Caused by: org.jongo.marshall.MarshallingException: Unable to unmarshall result to class bdrim.models.User from content { "_id" : { "$oid" :"53beb050d10e5ba896d8d912"} , "email" : "xxx...@xxxxx.it" , "name" : "xxxxxx" ,"surname" : "xxxxxx" , "password" : "$2a$10$E4hi2giYm4LnYq5e3TrfheGhsjtydWtl3GR/87.tUIA1Xs8MtY9kS" , "company" : { "name" : "xxxxxx s.r.l." , "vat" : "00000000000" ,"telephoneNumber" : "00000000" , "country" : "Italy" , "city" : "Cxxxxxxx" ,"postalCode" : "xxxx" , "address" : "Via xxxxx 25/c" , "modules" : [ { "name" :"mailchimp" , "createTime" : { "$date" : "2014-10-15T12:19:12.416Z"} , "expireTime" :{ "$date" : "2015-10-15T12:19:12.416Z"} , "options" : { "listid" : "6d7e5ad5b8" ,"apikey" : "9fe7bcfxxxxxxxxxxxxxxxxxxxxxc9ea-us9"}}]} , "role" : "Super Administrator" , "idShop" : "Shop2"}
at org.jongo.marshall.jackson.JacksonEngine.unmarshall(JacksonEngine.java:45) ~[jongo-1.1.jar:na]
at org.jongo.ResultHandlerFactory$UnmarshallingResultHandler.map(ResultHandlerFactory.java:43) ~[jongo-1.1.jar:na]
at org.jongo.FindOne.map(FindOne.java:51) ~[jongo-1.1.jar:na]
at org.jongo.FindOne.as(FindOne.java:46) ~[jongo-1.1.jar:na]
at bdrim.models.UsersDao.getUser(UsersDao.java:151) ~[classes/:na]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Unrecognized Type: [null]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:266) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:241) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:367) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:152) ~[jackson-databind-2.4.1.jar:2.4.1]
Caused by: java.lang.IllegalArgumentException: Unrecognized Type: [null]
at com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:406) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.type.TypeFactory.constructType(TypeFactory.java:358) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.constructCreatorProperty(BasicDeserializerFactory.java:679) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._addDeserializerConstructors(BasicDeserializerFactory.java:436) ~[jackson-databind-2.4.1.jar:2.4.1]
at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory._constructDefaultValueInstantiator(BasicDeserializerFactory.java:325) ~[jackson-databind-2.4.1.jar:2.4.1]
...
--
I'm not sure about that but it is may be related to the generic <String,Object> on Map named options.Can replace Object with '?' or something more specific like Option class
On Wed, Oct 15, 2014 at 5:40 PM, Giacomo Fornari <fornari...@gmail.com> wrote:
I've followed the first solution (the second one with the private constructor doesn't work for me) and the error "No suitable constructor found for type ..." is changed with "Unrecognized Type: [null]". Even if I think that this error does not concern to jongo, I appreciate any suggestion. This is the full stack trace:
play.api.Application$$anon$1: Execution exception[[MarshallingException: Unable to unmarshall result to class bdrim.models.User from content { "_id" : { "$oid" :"53beb050d10e5ba896d8d912"} , "email" : "xxx...@xxxxx.it" , "name" : "xxxxxx" ,"surname" : "xxxxxx" , "password" : "$2a$10$E4hi2giYm4LnYq5e3TrfheGhsjtydWtl3GR/87.tUIA1Xs8MtY9kS" , "company" : { "name" : "xxxxxx s.r.l." , "vat" : "00000000000" ,"telephoneNumber" : "00000000" , "country" : "Italy" , "city" : "Cxxxxxxx" ,"postalCode" : "xxxx" , "address" : "Via xxxxx 25/c" , "modules" : [ { "name" :"mailchimp" , "createTime" : { "$date" : "2014-10-15T12:19:12.416Z"} , "expireTime" :{ "$date" : "2015-10-15T12:19:12.416Z"} , "options" : { "listid" : "6d7e5ad5b8" ,"apikey" : "9fe7bcfxxxxxxxxxxxxxxxxxxxxxc9ea-us9"}}]} , "role" : "Super Administrator" , "idShop" : "Shop2"}]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.2.jar:2.3.2]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.2.jar:2.3.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.2.jar:2.3.2]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.2.jar:2.3.2]
at scala.Option.map(Option.scala:145) [scala-library-2.11.2.jar:na]
Caused by: org.jongo.marshall.MarshallingException: Unable to unmarshall result to class bdrim.models.User from content { "_id" : { "$oid" :"53beb050d10e5ba896d8d912"} , "email" : "xxx...@xxxxx.it" , "name" : "xxxxxx" ,"surname" : "xxxxxx" , "password" : "$2a$10$E4hi2giYm4LnYq5e3TrfheGhsjtydWtl3GR/87.tUIA1Xs8MtY9kS" , "company" : { "name" : "xxxxxx s.r.l." , "vat" : "00000000000" ,"telephoneNumber" : "00000000" , "country" : "Italy" , "city" : "Cxxxxxxx" ,"postalCode" : "xxxx" , "address" : "Via xxxxx 25/c" , "modules" : [ { "name" :"mailchimp" , "createTime" : { "$date" : "2014-10-15T12:19:12.416Z"} , "expireTime" :{ "$date" : "2015-10-15T12:19:12.416Z"} , "options" : { "listid" : "6d7e5ad5b8" ,"apikey" : "9fe7bcfxxxxxxxxxxxxxxxxxxxxxc9ea-us9"}}]} , "role" : "Super Administrator" , "idShop" : "Shop2"}
at org.jongo.marshall.jackson.JacksonEngine.unmarshall(JacksonEngine.java:45) ~[jongo-1.1.jar:na]
at org.jongo.ResultHandlerFactory$UnmarshallingResultHandler.map(ResultHandlerFactory.java:43) ~[jongo-1.1.jar:na]
at org.jongo.FindOne.map(FindOne.java:51) ~[jongo-1.1.jar:na]
at org.jongo.FindOne.as(FindOne.java:46) ~[jongo-1.1.jar:na]
at bdrim.models.UsersDao.getUser(UsersDao.java:151) ~[classes/:na]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Unrecognized Type: [null]
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:266) ~[jackson-databind-2.4.1.jar:2.4.1]
...
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:241) ~[jackson-databind-2.4.<span style="color:#06