{"action":"created","issue":{"url":"https://api.github.com/repos/bluelinelabs/LoganSquare/issues/108","labels_url":"https://api.github.com/repos/bluelinelabs/LoganSquare/issues/108/labels{/name}","comments_url":"https://api.github.com/repos/bluelinelabs/LoganSquare/issues/108/comments","events_url":"https://api.github.com/repos/bluelinelabs/LoganSquare/issues/108/events","html_url":"https://github.com/bluelinelabs/LoganSquare/issues/108","id":117716160,"number":108,"title":"generated JsonObjectMapper code for inheritance doesn't compile","user":{"login":"ellsworthrw","id":1443778,"avatar_url":"https://avatars.githubusercontent.com/u/1443778?v=3","gravatar_id":"","url":"https://api.github.com/users/ellsworthrw","html_url":"https://github.com/ellsworthrw","followers_url":"https://api.github.com/users/ellsworthrw/followers","following_url":"https://api.github.com/users/ellsworthrw/following{/other_user}","gists_url":"https://api.github.com/users/ellsworthrw/gists{/gist_id}","starred_url":"https://api.github.com/users/ellsworthrw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ellsworthrw/subscriptions","organizations_url":"https://api.github.com/users/ellsworthrw/orgs","repos_url":"https://api.github.com/users/ellsworthrw/repos","events_url":"https://api.github.com/users/ellsworthrw/events{/privacy}","received_events_url":"https://api.github.com/users/ellsworthrw/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-11-19T00:52:37Z","updated_at":"2015-11-19T17:47:27Z","closed_at":"2015-11-19T16:00:16Z","body":"@JsonObject\r\npublic class AssetDetails {\r\n\r\n@JsonObject\r\npublic class WatchlistEntitlement extends AssetDetails implements AssetEntitlement, Asset {\r\n}\r\n\r\ngenerates compile error on first line of class:\r\n\r\npublic final class WatchlistEntitlement$$JsonObjectMapper extends JsonMapper<WatchlistEntitlement> {\r\n  private static JsonMapper<AssetDetails> parentObjectMapper = COM_MOVENETWORKS_MODEL_ASSETDETAILS__JSONOBJECTMAPPER;\r\n\r\nI think it should be:\r\n\r\npublic final class WatchlistEntitlement$$JsonObjectMapper extends JsonMapper<WatchlistEntitlement> {\r\n  private static JsonMapper<AssetDetails> parentObjectMapper = JsonMapperLoaderImpl.COM_MOVENETWORKS_MODEL_ASSETDETAILS__JSONOBJECTMAPPER;\r\n\r\nFYI: same issue in:\r\n\r\n  public void ensureParent() {\r\n    if (parentObjectMapper == null) {\r\n      parentObjectMapper = COM_MOVENETWORKS_MODEL_ASSETDETAILS__JSONOBJECTMAPPER;\r\n    }\r\n  }\r\n"},"comment":{"url":"https://api.github.com/repos/bluelinelabs/LoganSquare/issues/comments/158133749","html_url":"https://github.com/bluelinelabs/LoganSquare/issues/108#issuecomment-158133749","issue_url":"https://api.github.com/repos/bluelinelabs/LoganSquare/issues/108","id":158133749,"user":{"login":"ellsworthrw","id":1443778,"avatar_url":"https://avatars.githubusercontent.com/u/1443778?v=3","gravatar_id":"","url":"https://api.github.com/users/ellsworthrw","html_url":"https://github.com/ellsworthrw","followers_url":"https://api.github.com/users/ellsworthrw/followers","following_url":"https://api.github.com/users/ellsworthrw/following{/other_user}","gists_url":"https://api.github.com/users/ellsworthrw/gists{/gist_id}","starred_url":"https://api.github.com/users/ellsworthrw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ellsworthrw/subscriptions","organizations_url":"https://api.github.com/users/ellsworthrw/orgs","repos_url":"https://api.github.com/users/ellsworthrw/repos","events_url":"https://api.github.com/users/ellsworthrw/events{/privacy}","received_events_url":"https://api.github.com/users/ellsworthrw/received_events","type":"User","site_admin":false},"created_at":"2015-11-19T17:47:26Z","updated_at":"2015-11-19T17:47:26Z","body":"Yep, I did not update the apt one. However, once I did that and did a rebuild then I get a crash of:\n\nError:Exception while processing Json classes. Stack trace incoming:\n  java.lang.NoSuchMethodError: java.util.List.sort(Ljava/util/Comparator;)V\n  \tat com.bluelinelabs.logansquare.processor.JsonMapperLoaderInjector.addAllProjectMappers(JsonMapperLoaderInjector.java:137)\n  \tat com.bluelinelabs.logansquare.processor.JsonMapperLoaderInjector.getTypeSpec(JsonMapperLoaderInjector.java:79)\n  \tat com.bluelinelabs.logansquare.processor.JsonMapperLoaderInjector.getJavaClassFile(JsonMapperLoaderInjector.java:63)\n  \tat com.bluelinelabs.logansquare.processor.JsonAnnotationProcessor.process(JsonAnnotationProcessor.java:75)\n  \tat com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793)\n  \tat com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722)\n  \tat com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97)\n  \tat com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029)\n  \tat com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163)\n  \tat com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108)\n  \tat com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824)\n  \tat com.sun.tools.javac.main.Main.compile(Main.java:439)\n  \tat com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)\n  \tat org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:45)\n  \tat org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)\n  \tat org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:101)\n  \tat org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:50)\n  \tat org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:36)\n  \tat org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:34)\n  \tat org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)\n  \tat org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:157)\n  \tat org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:137)\n  \tat org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:91)\n  \tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n  \tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n  \tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n  \tat java.lang.reflect.Method.invoke(Method.java:606)\n  \tat org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)\n  \tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:243)\n  \tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219)\n  \tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:230)\n  \tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208)\n  \tat org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)\n  \tat org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)\n  \tat org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)\n  \tat org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)\n  \tat org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)\n  \tat org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)\n  \tat org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)\n  \tat org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)\n  \tat org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)\n  \tat org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)\n  \tat org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:208)\n  \tat org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:186)\n  \tat org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)\n  \tat org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)\n  \tat org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)\n  \tat org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:111)\n  \tat org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)\n  \tat org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)\n  \tat org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)\n  \tat org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)\n  \tat org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)\n  \tat org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)\n  \tat org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)\n  \tat org.gradle.initialization.DefaultGradleLauncher$6.run(DefaultGradleLauncher.java:174)\n  \tat org.gradle.internal.Factories$1.create(Factories.java:22)\n  \tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)\n  \tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:47)\n  \tat org.gradle.initialization.DefaultGradleLauncher.runBuildOperation(DefaultGradleLauncher.java:189)\n  \tat org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:171)\n  \tat org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:35)\n  \tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:104)\n  \tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)\n  \tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)\n  \tat org.gradle.initialization.DefaultGradleLauncher.runRootBuildOperation(DefaultGradleLauncher.java:184)\n  \tat org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)\n  \tat org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)\n  \tat org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:93)\n  \tat org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:50)\n  \tat org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)\n  \tat org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)\n  \tat org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:27)\n  \tat org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:72)\n  \tat org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:44)\n  \tat org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:49)\n  \tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)\n  \tat org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)\n  \tat org.gradle.util.Swapper.swap(Swapper.java:38)\n  \tat org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)\n  \tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:71)\n  \tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)\n  \tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\n  \tat org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)\n  \tat org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)\n  \tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)\n  \tat org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)\n  \tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n  \tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n  \tat java.lang.Thread.run(Thread.java:745)\n\n> On Nov 19, 2015, at 10:21 AM, Eric Kuck <notifications@github.com> wrote:\n> \n> 1.3.2 doesn't generate the ensureParent method anymore, so this must still be using the old version. Make sure you're updating the version number for both the annotation processor and the core library.\n> \n> —\n> Reply to this email directly or view it on GitHub <https://github.com/bluelinelabs/LoganSquare/issues/108#issuecomment-158126062>.\n> \n\n"}}