karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré (JIRA) <j...@apache.org>
Subject [jira] [Updated] (KARAF-717) Refactor Actions to get services injected instead of fetching them
Date Thu, 04 Jun 2015 06:03:38 GMT

     [ https://issues.apache.org/jira/browse/KARAF-717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Jean-Baptiste Onofré updated KARAF-717:
    Fix Version/s:     (was: 4.0.0.M3)

> 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: karaf-shell
>            Reporter: Christian Schneider
>            Priority: Minor
> 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 was sent by Atlassian JIRA

View raw message