{"action":"created","issue":{"url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/184","repository_url":"https://api.github.com/repos/katharsis-project/katharsis-framework","labels_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/184/labels{/name}","comments_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/184/comments","events_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/184/events","html_url":"https://github.com/katharsis-project/katharsis-framework/issues/184","id":186087713,"number":184,"title":"Simplify setup of JAX-RS","user":{"login":"remmeier","id":8008853,"avatar_url":"https://avatars.githubusercontent.com/u/8008853?v=3","gravatar_id":"","url":"https://api.github.com/users/remmeier","html_url":"https://github.com/remmeier","followers_url":"https://api.github.com/users/remmeier/followers","following_url":"https://api.github.com/users/remmeier/following{/other_user}","gists_url":"https://api.github.com/users/remmeier/gists{/gist_id}","starred_url":"https://api.github.com/users/remmeier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remmeier/subscriptions","organizations_url":"https://api.github.com/users/remmeier/orgs","repos_url":"https://api.github.com/users/remmeier/repos","events_url":"https://api.github.com/users/remmeier/events{/privacy}","received_events_url":"https://api.github.com/users/remmeier/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-29T16:36:23Z","updated_at":"2016-10-29T16:53:45Z","closed_at":null,"body":"Katharsis is currently quite difficult to setup for newbie. Goal is to simplify the setup for JAX-RS with this ticket. Other containers may follow.\r\n\r\n- KatharsisFeature feature has to be instantiated\r\n- some jax-rs properties have to be set\r\n- modules may need to be registered\r\n- must be integrated into the dependency injection environment\r\n- reflections instead of normal dependency injection is used to discover repositories\r\n- reflections is quite expensive\r\n- resource classes get discovered (would be implicitly available from discovered repositories)\r\n- QuerySpec/QueryParams configuratoin\r\n\r\nThat can be dramatically simplified:\r\n\r\n- user adds dependency to katharsis-rs and e.g. katharsis-cdi\r\n- katharsis-cdi registers a \"ServiceDiscovery\" service. Others like spring would to the same.\r\n- KatharsisFeature gets a default constructor (creates new ObjectMapper, QuerySpec setup, and looks up any ServiceDiscovery implementation.\r\n- KatharsisFeature gets all modules from ServiceDiscovery\r\n- KatharsisFeature gets all repositories from ServiceDiscovery\r\n- KatharsisFeature finds all resources based on the discovered repositories\r\n- KatharsisFeature gets all exception mappers from ServiceDiscovery\r\n\r\n=> two dependencies, zero configuration, regular dependency management setup.\r\n\r\n=> Potentially most of this logic can be moved to a KatharsisBoot so that Katharsis-rs, Katharsis-servlet, etc. can be simplified.\r\n\r\nthe necessary flexiblity is currently already available for this with the module api. => no breaking changes, just a new way to set everything up.\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/comments/257102533","html_url":"https://github.com/katharsis-project/katharsis-framework/issues/184#issuecomment-257102533","issue_url":"https://api.github.com/repos/katharsis-project/katharsis-framework/issues/184","id":257102533,"user":{"login":"masterspambot","id":581121,"avatar_url":"https://avatars.githubusercontent.com/u/581121?v=3","gravatar_id":"","url":"https://api.github.com/users/masterspambot","html_url":"https://github.com/masterspambot","followers_url":"https://api.github.com/users/masterspambot/followers","following_url":"https://api.github.com/users/masterspambot/following{/other_user}","gists_url":"https://api.github.com/users/masterspambot/gists{/gist_id}","starred_url":"https://api.github.com/users/masterspambot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/masterspambot/subscriptions","organizations_url":"https://api.github.com/users/masterspambot/orgs","repos_url":"https://api.github.com/users/masterspambot/repos","events_url":"https://api.github.com/users/masterspambot/events{/privacy}","received_events_url":"https://api.github.com/users/masterspambot/received_events","type":"User","site_admin":false},"created_at":"2016-10-29T16:53:44Z","updated_at":"2016-10-29T16:53:44Z","body":"This looks really promising! Love the idea behind it!\n\nOn Sat, 29 Oct 2016, 18:36 Remo, <notifications@github.com> wrote:\n\n> Katharsis is currently quite difficult to setup for newbie. Goal is to\n> simplify the setup for JAX-RS with this ticket. Other containers may follow.\n>\n>    - KatharsisFeature feature has to be instantiated\n>    - some jax-rs properties have to be set\n>    - modules may need to be registered\n>    - must be integrated into the dependency injection environment\n>    - reflections instead of normal dependency injection is used to\n>    discover repositories\n>    - reflections is quite expensive\n>    - resource classes get discovered (would be implicitly available from\n>    discovered repositories)\n>    - QuerySpec/QueryParams configuratoin\n>\n> That can be dramatically simplified:\n>\n>    - user adds dependency to katharsis-rs and e.g. katharsis-cdi\n>    - katharsis-cdi registers a \"ServiceDiscovery\" service. Others like\n>    spring would to the same.\n>    - KatharsisFeature gets a default constructor (creates new\n>    ObjectMapper, QuerySpec setup, and looks up any ServiceDiscovery\n>    implementation.\n>    - KatharsisFeature gets all modules from ServiceDiscovery\n>    - KatharsisFeature gets all repositories from ServiceDiscovery\n>    - KatharsisFeature finds all resources based on the discovered\n>    repositories\n>    - KatharsisFeature gets all exception mappers from ServiceDiscovery\n>\n> => two dependencies, zero configuration, regular dependency management\n> setup.\n>\n> => Potentially most of this logic can be moved to a KatharsisBoot so that\n> Katharsis-rs, Katharsis-servlet, etc. can be simplified.\n>\n> —\n> You are receiving this because you are subscribed to this thread.\n> Reply to this email directly, view it on GitHub\n> <https://github.com/katharsis-project/katharsis-framework/issues/184>, or mute\n> the thread\n> <https://github.com/notifications/unsubscribe-auth/AAjeAZro3ilRQgl_GnGT1utOJHmcD_Cgks5q43YHgaJpZM4KkKAS>\n> .\n>\n"}}
{"actor":{"display_login":"masterspambot"}}