{"action":"created","issue":{"url":"https://api.github.com/repos/CruxFramework/crux-widgets/issues/324","labels_url":"https://api.github.com/repos/CruxFramework/crux-widgets/issues/324/labels{/name}","comments_url":"https://api.github.com/repos/CruxFramework/crux-widgets/issues/324/comments","events_url":"https://api.github.com/repos/CruxFramework/crux-widgets/issues/324/events","html_url":"https://github.com/CruxFramework/crux-widgets/issues/324","id":68456959,"number":324,"title":"Inherited Rest Annotations","user":{"login":"admtriggo","id":11163759,"avatar_url":"https://avatars.githubusercontent.com/u/11163759?v=3","gravatar_id":"","url":"https://api.github.com/users/admtriggo","html_url":"https://github.com/admtriggo","followers_url":"https://api.github.com/users/admtriggo/followers","following_url":"https://api.github.com/users/admtriggo/following{/other_user}","gists_url":"https://api.github.com/users/admtriggo/gists{/gist_id}","starred_url":"https://api.github.com/users/admtriggo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/admtriggo/subscriptions","organizations_url":"https://api.github.com/users/admtriggo/orgs","repos_url":"https://api.github.com/users/admtriggo/repos","events_url":"https://api.github.com/users/admtriggo/events{/privacy}","received_events_url":"https://api.github.com/users/admtriggo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/CruxFramework/crux-widgets/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/CruxFramework/crux-widgets/labels/imported","name":"imported","color":"FFFFFF"},{"url":"https://api.github.com/repos/CruxFramework/crux-widgets/labels/Milestone-M14-C2","name":"Milestone-M14-C2","color":"FFFFFF"},{"url":"https://api.github.com/repos/CruxFramework/crux-widgets/labels/Priority-Medium","name":"Priority-Medium","color":"FFFFFF"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-14T18:03:58Z","updated_at":"2015-04-14T18:04:00Z","closed_at":null,"body":"_From [samuel@cruxframework.org](https://code.google.com/u/samuel@cruxframework.org/) on February 17, 2014 12:00:51_\n\nIf we consider a REST inheritance scenary like:\r\n\r\nabstract class BaseRestService<T,K> {\r\n  @Delete\r\n  T remove(K object);\r\n}\r\n...\r\nclass SampleClass extends BaseRestService<Boolean,User>{\r\n @Delete\r\n Boolean remove(User user){\r\n\r\n }\r\n}\r\n\r\nCrux allows the method overload. This is not the desired behavior.\r\nAND... if this occurs, Crux cannot see the @Delete annotation from BaseRestService class, forcing developers to redeclare @Delete in inhereted classes. At running time, Crux instead of getting the correct annotation from SampleClass, it gets a null when trying to find for annotations from BaseRestService.\r\n\r\nPlease look at:\r\norg.cruxframework.crux.core.rebind.rest.CruxRestProxyCreatorFromServerMetadata.getImplementationMethod(JMethod)\r\nThis line: for (Method m: allMethods) should be refactored.\r\n\r\nA possible fix may be adding a @Inherited annotation to a a @interface class.\n\n_Original issue: http://code.google.com/p/crux-framework/issues/detail?id=324_"},"comment":{"url":"https://api.github.com/repos/CruxFramework/crux-widgets/issues/comments/93001227","html_url":"https://github.com/CruxFramework/crux-widgets/issues/324#issuecomment-93001227","issue_url":"https://api.github.com/repos/CruxFramework/crux-widgets/issues/324","id":93001227,"user":{"login":"admtriggo","id":11163759,"avatar_url":"https://avatars.githubusercontent.com/u/11163759?v=3","gravatar_id":"","url":"https://api.github.com/users/admtriggo","html_url":"https://github.com/admtriggo","followers_url":"https://api.github.com/users/admtriggo/followers","following_url":"https://api.github.com/users/admtriggo/following{/other_user}","gists_url":"https://api.github.com/users/admtriggo/gists{/gist_id}","starred_url":"https://api.github.com/users/admtriggo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/admtriggo/subscriptions","organizations_url":"https://api.github.com/users/admtriggo/orgs","repos_url":"https://api.github.com/users/admtriggo/repos","events_url":"https://api.github.com/users/admtriggo/events{/privacy}","received_events_url":"https://api.github.com/users/admtriggo/received_events","type":"User","site_admin":false},"created_at":"2015-04-14T18:04:00Z","updated_at":"2015-04-14T18:04:00Z","body":"_From [thi...@cruxframework.org](https://code.google.com/u/114650528804514463329/) on February 17, 2014 12:29:35_\n\n**Status:** Fixed  \n  **Labels:** Milestone-5.1  \n"}}