You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Christian Schneider (JIRA)" <ji...@apache.org> on 2011/07/08 16:54:17 UTC
[jira] [Updated] (KARAF-717) Refactor Actions to get services
injected instead of fetching them
[ https://issues.apache.org/jira/browse/KARAF-717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schneider updated KARAF-717:
--------------------------------------
Component/s: console
Fix Version/s: 3.1.0
> Refactor Actions to get services injected instead of fetching them
> ------------------------------------------------------------------
>
> Key: KARAF-717
> URL: https://issues.apache.org/jira/browse/KARAF-717
> Project: Karaf
> Issue Type: Improvement
> Components: console
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Priority: Minor
> Fix For: 3.1.0
>
>
> Currently we use abstract classes like ObrCommandSupport and OsgiCommandSupport to handle the bundleContext and service references.
> This makes the code harder to test and mixes technical and business code. By business I mean the stuff the class is meant to do by technical I mean other domains like osgi services.
> So I propose to inject the services we need using blueprint so in the Action there is only the interface to the service and a setter. Additionally I would even skip the AbstractAction as it is not good to store the CommandSession in a class attribute as this makes the code non reentrant.
> I have done a sample refactoring in http://svn.apache.org/viewvc?view=revision&revision=1144288
> It shows how to change the ListCommand of the Obr to not need any abstract support classes to handle the RepositoryAdmin service.
> This issue is a marker that we should do the refactoring and should be split into smaller tasks when we start the refactoring.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira