feroult / yawp

Kotlin/Java API framework for Google Appengine
http://yawp.io
MIT License
132 stars 20 forks source link

IdRef.compareTo(IdRef<T>) bug when using id creating using name #27

Closed danilodeLuca closed 9 years ago

danilodeLuca commented 9 years ago

How to reproduce:

User john = new User();
john.setId(IdRef.create(yawp, User.class, "john@yawp.com"));
john = yawp.save(john);

john.getId().compareTo(mary.getId());//Mary is other user created using the same process

StackTrace :

java.lang.NullPointerException at io.yawp.repository.IdRef.compareTo(IdRef.java:312) at io.yawp.repository.IdRef.compareTo(IdRef.java:14) at io.yawp.repository.query.condition.WhereOperator.compareObjects(WhereOperator.java:167) at io.yawp.repository.query.condition.WhereOperator.access$100(WhereOperator.java:7) at io.yawp.repository.query.condition.WhereOperator$1.evaluate(WhereOperator.java:22) at io.yawp.repository.query.condition.SimpleCondition.evaluate(SimpleCondition.java:91) at io.yawp.repository.query.condition.JoinedCondition.evaluateAnd(JoinedCondition.java:128) at io.yawp.repository.query.condition.JoinedCondition.evaluate(JoinedCondition.java:109) at io.yawp.repository.query.condition.BaseCondition.applyPostFilter(BaseCondition.java:40) at io.yawp.repository.query.DatastoreQuery.postFilter(DatastoreQuery.java:259) at io.yawp.repository.query.DatastoreQuery.executeQuery(DatastoreQuery.java:247) at io.yawp.repository.query.DatastoreQuery.executeQueryList(DatastoreQuery.java:171) at io.yawp.repository.query.DatastoreQuery.list(DatastoreQuery.java:178)

luanpotter commented 9 years ago

Fixed 60a46c4