Revision: 13667
http://gate.svn.sourceforge.net/gate/?rev=13667&view=rev
Author: ian_roberts
Date: 2011-04-13 15:41:13 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Fixed a bug with config loading that meant that the default config was winning
over the app's MimirConfig rather than the other way around.
Modified Paths:
--------------
mimir/trunk/grails-plugin-mimir/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
Modified:
mimir/trunk/grails-plugin-mimir/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
===================================================================
---
mimir/trunk/grails-plugin-mimir/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
2011-04-13 15:37:46 UTC (rev 13666)
+++
mimir/trunk/grails-plugin-mimir/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
2011-04-13 15:41:13 UTC (rev 13667)
@@ -11,24 +11,30 @@
public static synchronized void loadMimirConfig() {
if(mimirConfigLoaded) return
+ ConfigObject fullMimirConfig = new ConfigObject()
ConfigSlurper slurper = new ConfigSlurper(Environment.current.name)
try {
- // load the default mimir configuration and merge it into the config
- // loaded from Config.groovy, with values from Config.groovy winning
- ConfigObject defaultMimirConf = slurper.parse(DefaultMimirConfig)
- CH.config.gate.mimir = defaultMimirConf.merge(CH.config.gate.mimir)
+ // parse the default config
+ fullMimirConfig = slurper.parse(DefaultMimirConfig)
} catch(Exception e) {
println "Could not load DefaultMimirConfig"
}
try {
- // do the same with the app-provided MimirConfig.groovy (don't worry
- // if this fails).
+ // parse the app-provided MimirConfig (if it exists) and merge this into
+ // the default config (app-provided settings win over defaults)
GroovyClassLoader classLoader = new
GroovyClassLoader(MimirConfigLoader.class.getClassLoader())
ConfigObject mimirConf =
slurper.parse(classLoader.loadClass("MimirConfig"))
- CH.config.gate.mimir = mimirConf.merge(CH.config.gate.mimir)
+ fullMimirConfig = fullMimirConfig.merge(mimirConf)
} catch(Exception e) {
// ignore, MimirConfig may legitimately be missing.
}
+
+ // finally merge in any settings coming from the existing app config
+ fullMimirConfig = fullMimirConfig.merge(CH.config.gate.mimir)
+
+ // and store the result back in the main config
+ CH.config.gate.mimir = fullMimirConfig
+
mimirConfigLoaded = true
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Forrester Wave Report - Recovery time is now measured in hours and minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and vision.
Read this report now! http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs