Google Appengineのアプリが次のようなNullPointerExceptionをスローするという苛立たしい問題があります:
java.lang.NullPointerException
at com.google.appengine.api.users.User.equals(User.java:143)
私のコードは次のようになります:
if (excludeUser.equals(someEntity.getProperty("user")))
エンティティのuserプロパティは、以前にデータストアに保存されていた別のUserオブジェクトでした。コードを次のように変更しても、例外は発生しません。
if (excludeUser.equals(null))
それで、User.equalsの内部ロジックが問題を引き起こしているのか、それともユーザーオブジェクトをデータストアに保存するときに他のトリッキーなことなのかと思います。
さらに、ロジックは開発環境でうまく機能します。この問題はGAEでのみ発生します。
フェデレーションログインではなく、GoogleアカウントAPIを使用しています。両方試してみました。同じ結果。どんな手がかりもありがたいです、ありがとう。