Sands, 

The ConfigurationService and the entire Service Manager have been part of the last three releases of DSpace (1.6.2, 1.7.0 and 1.7.1)  and the ConfigurationService is intended as a replacement of the ConfigurationManager, the ServiceManager is used in production by the DSpace webapplications to provide a facility to register Spring configured Service beans that can be utilized within your application without requiring any alteration of the dspace.cfg.

The 2.0.1 version of the Service Manager was robust and stable when added into the DSpace platform.

The 2.0.2 version of the Service Manager contained significant performance and memory use improvements done by Graham Triggs.  

In the 2.0.3 version of the dspace-services we enhanced the ConfigurationService to support the recently added "modules" directory that RichardR contributed, but with another layer of flexibility, allowing default modular configurations to be deployed within your Addon Module jar (foo.jar!dspace/config/*.cfg) allowing delivery of Addon Module configuration directly into the ConfigurationService without requiring creation or maintenance of a configuration file int he file system.  Just one way that we are making the configuration of DSpace more flexible and less dspace.dir/config/... dependent. It supports the same naming conventions for prefixing properties, but abstracts that modularity away from the Configuration Service application API.

The framework is utilized by a number of organizations for which DSpace Addon Modules have been developed, the service manager comes with a full suite of JUnit tests that existed long before the GSoC test suite was contributed to dspace-api.

So in regards the question of stability, it has been under development for approximately 3 1/2 years now and thoroughly vetted as a framework.  I would expect that all future DSpace development "will and should" be leveraging the Service Manager and work to abandon the non-object oriented "Procedural Static Manager" approach to coding, especially as we plan to support the ability to plug Fedora into DSpace.

-----

The current JUnit testing framework in the dspace-api is already stale and in its current state, unmaintainable or reusable in other addon modules.  The DSpace ConfigurationService is an API that can be Mocked and individual properties can be overridden via System properties or runtime alteration of the configuration itself, Thus it is not dependent on a "dspace.dir" or comparable configuration files to provide testing thereof. It could have its entire configuration injected programmatically to setup the testing environment for the dspace-api suite.

Finally, the tests themselves supply the criteria that need to be met by the Service Manager to assure that the application will operate as expected as specific components like ConfigurationManager are replaced under the hood.

Mark



On Tue, Mar 29, 2011 at 10:37 AM, Sands Alden Fish <sands@mit.edu> wrote:
Mark, apologies for not knowing the answer to this, but is the Configuration service part of our recent releases?  I might hesitate to integrate it widely in the test framework until we know it itself has been vetted well, lest we spend a lot of time with potential problems in the test framework.

--
sands fish
Senior Software Engineer
MIT Libraries
Technology Research & Development
sands@MIT.EDU
E25-131





On Mar 27, 2011, at 1:46 PM, Mark Diggory (DuraSpace JIRA) wrote:

DSpace Test supporting files get quickly out of date
----------------------------------------------------

                Key: DS-859
                URL: https://jira.duraspace.org/browse/DS-859
            Project: DSpace
         Issue Type: Bug
         Components: DSpace API, Solr, Unit Testing Framework
   Affects Versions: 1.7.0
           Reporter: Mark Diggory
            Fix For: 1.8.0


Since the JUnit test suite keeps its own copy of the configuration with one minor change in dspace.dir, it would be wiser to improve the suite to get the resources for the original location and override dspace.dir as a system environmental variable.

The DSpace Services Configuration Service handles this override of individual environmental settings and if the unit tests were rewritten to use the service manager, they would be capable of overriding this without needing a separate copy of dspace.cfg

Likewise, recommend putting the resources found in the trunk/dspace dir into an artifact on the classpath such that they can be expanded into the test directory rather than keeping a copy floating around.


--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.duraspace.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software
be a part of the solution? Download the Intel(R) Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel


------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software
be a part of the solution? Download the Intel(R) Manageability Checker
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel




--
Mark R. Diggory
@mire - www.atmire.com
2888 Loker Avenue East - Suite 305 - Carlsbad - CA - 92010
Technologielaan 9 - 3001 Heverlee - Belgium