karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (JIRA)" <j...@apache.org>
Subject [jira] [Created] (KARAF-717) Refactor Actions to get services injected instead of fetching them
Date Fri, 08 Jul 2011 14:12:17 GMT
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
            Reporter: Christian Schneider
            Assignee: 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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message