Revision: 14510
http://gate.svn.sourceforge.net/gate/?rev=14510&view=rev
Author: valyt
Date: 2011-11-10 17:19:51 +0000 (Thu, 10 Nov 2011)
Log Message:
-----------
Staretd work on moveing config to DB (for easier editing).
Modified Paths:
--------------
mimir/trunk/mimir-web/.settings/org.eclipse.core.resources.prefs
mimir/trunk/mimir-web/MimirWebGrailsPlugin.groovy.template
mimir/trunk/mimir-web/grails-app/conf/Config.groovy
mimir/trunk/mimir-web/grails-app/views/mimirStaticPages/admin.gsp
mimir/trunk/mimir-web/scripts/_Events.groovy
mimir/trunk/mimir-web/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
mimir/trunk/mimir-web/src/templates/conf/MimirUrlMappings.groovy
Added Paths:
-----------
mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/MimirConfigurationController.groovy
mimir/trunk/mimir-web/grails-app/domain/gate/mimir/web/MimirConfiguration.groovy
mimir/trunk/mimir-web/grails-app/i18n/mimirweb.properties
mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/
mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/edit.gsp
mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/show.gsp
mimir/trunk/mimir-web/test/unit/gate/
mimir/trunk/mimir-web/test/unit/gate/mimir/
mimir/trunk/mimir-web/test/unit/gate/mimir/web/
Removed Paths:
-------------
mimir/trunk/mimir-web/grails-app/i18n/messages.properties
mimir/trunk/mimir-web/src/groovy/gate/mimir/web/DefaultMimirConfig.groovy
Modified: mimir/trunk/mimir-web/.settings/org.eclipse.core.resources.prefs
===================================================================
--- mimir/trunk/mimir-web/.settings/org.eclipse.core.resources.prefs
2011-11-10 02:17:59 UTC (rev 14509)
+++ mimir/trunk/mimir-web/.settings/org.eclipse.core.resources.prefs
2011-11-10 17:19:51 UTC (rev 14510)
@@ -1,4 +1,4 @@
-#Tue Oct 25 15:28:39 BST 2011
+#Thu Nov 10 15:44:34 GMT 2011
eclipse.preferences.version=1
encoding//grails-app/i18n/gus.properties=UTF-8
-encoding//grails-app/i18n/messages.properties=UTF-8
+encoding//grails-app/i18n/mimirweb.properties=UTF-8
Modified: mimir/trunk/mimir-web/MimirWebGrailsPlugin.groovy.template
===================================================================
--- mimir/trunk/mimir-web/MimirWebGrailsPlugin.groovy.template 2011-11-10
02:17:59 UTC (rev 14509)
+++ mimir/trunk/mimir-web/MimirWebGrailsPlugin.groovy.template 2011-11-10
17:19:51 UTC (rev 14510)
@@ -121,6 +121,7 @@
}
def doWithApplicationContext = { applicationContext ->
+ // make sure the deafult index template exists
if(IndexTemplate.count() == 0) {
log.info("No index templates found in database, adding default one")
@@ -176,7 +177,24 @@
}
}
}
-
+
+ // make sure the singleton configuration domain object exists
+ if(MimirConfiguration.count() == 0) {
+ log.info('No configuration object, creating one now.')
+ // if the data exists in config, copy it
+ if(application.config.gate.mimir.indexBaseDirectory) {
+ MimirConfiguration.withTransaction() {
+ MimirConfiguration conf = new
MimirConfiguration(indexBaseDirectory:
+ new
File(application.config.gate.mimir.indexBaseDirectory).absolutePath)
+ conf.save(flush:true)
+ }
+ }
+ } else if(MimirConfiguration.count() > 1) {
+ // error!
+ throw new IllegalStateException(
+ 'Multiple configuration versions found! Aborting.')
+ }
+
// initialise the index services, in the right order
applicationContext.localIndexService.init()
applicationContext.remoteIndexService.init()
Modified: mimir/trunk/mimir-web/grails-app/conf/Config.groovy
===================================================================
--- mimir/trunk/mimir-web/grails-app/conf/Config.groovy 2011-11-10 02:17:59 UTC
(rev 14509)
+++ mimir/trunk/mimir-web/grails-app/conf/Config.groovy 2011-11-10 17:19:51 UTC
(rev 14510)
@@ -16,106 +16,4 @@
* $Id$
*/
-// external configuration location
-grails.config.locations = ["file:mimir.groovy"]
-if(System.properties["mimir.config"]) {
- grails.config.locations << "file:" + System.properties["mimir.config"]
-}
-grails.config.locations << "classpath:mimir.groovy"
-
-
-grails.mime.file.extensions = true // enables the parsing of file extensions
from URLs into the request format
-grails.mime.use.accept.header = false
-grails.mime.types = [ html: ['text/html','application/xhtml+xml'],
- xml: ['text/xml', 'application/xml'],
- text: 'text/plain',
- js: 'text/javascript',
- rss: 'application/rss+xml',
- atom: 'application/atom+xml',
- css: 'text/css',
- csv: 'text/csv',
- all: '*/*',
- json: ['application/json','text/json'],
- form: 'application/x-www-form-urlencoded',
- multipartForm: 'multipart/form-data'
- ]
-// The default codec used to encode data with ${}
-grails.views.default.codec="none" // none, html, base64
-grails.views.gsp.encoding="UTF-8"
-grails.converters.encoding="UTF-8"
-
-// enabled native2ascii conversion of i18n properties files
-grails.enable.native2ascii = true
-
-// set per-environment serverURL stem for creating absolute links
-// log4j configuration
-log4j = {
- root {
- info 'stdout'
- additivity = true
- }
-
- error 'org.codehaus.groovy.grails.web.servlet', // controllers
- 'org.codehaus.groovy.grails.web.pages', // GSP
- 'org.codehaus.groovy.grails.web.sitemesh', // layouts
- 'org.codehaus.groovy.grails."web.mapping.filter', // URL mapping
- 'org.codehaus.groovy.grails."web.mapping', // URL mapping
- 'org.codehaus.groovy.grails.commons', // core / classloading
- 'org.codehaus.groovy.grails.plugins', // plugins
- 'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
- 'org.springframework',
- 'org.hibernate'
- warn 'org.mortbay.log'
- info 'it.unimi' // MG4J and friends
-
- environments {
- development {
- debug 'gate.mimir', // mimir
- 'gate.mimir.gus', // mimir
- 'grails.app.service.gate.mimir.gus' //GUS search service
- }
- production {
- info 'gate.mimir', // mimir
- 'grails.app.service.gate.mimir.gus' //GUS search service
- }
- }
-}
-
-//mimir config
-gate {
- mimir {
- defaultIndexConfig = '''\
-import gate.creole.ANNIEConstants
-import gate.mimir.index.OriginalMarkupMetadataHelper
-
-tokenASName = "mimir"
-tokenAnnotationType = ANNIEConstants.TOKEN_ANNOTATION_TYPE
-tokenFeatures = {
- string()
- category()
- root()
-}
-
-semanticASName = "mimir"
-semanticAnnotations = {
- index {
- Sentence()
- }
- index {
- Abstract(nominalFeatures:["lang"])
- Assignee()
- ClassificationIPCR(nominalFeatures:["status"])
- InventionTitle(nominalFeatures:["lang", "status"])
- Inventor(nominalFeatures:["format", "status"])
- PatentDocument(integerFeatures:["date"], textFeatures:["ucid"])
- PriorityClaim(textFeatures:["ucid"])
- }
-}
-documentRenderer = new OriginalMarkupMetadataHelper()
-documentMetadataHelpers = [documentRenderer]
-'''
-
- // base directory that relative index paths will be resolved against
- indexBaseDirectory = '/path/to/the/base/index/dir'
- }
-}
+
Added:
mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/MimirConfigurationController.groovy
===================================================================
---
mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/MimirConfigurationController.groovy
(rev 0)
+++
mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/MimirConfigurationController.groovy
2011-11-10 17:19:51 UTC (rev 14510)
@@ -0,0 +1,55 @@
+package gate.mimir.web
+
+class MimirConfigurationController {
+
+ static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
+
+ def index = {
+ redirect(action: "show")
+ }
+
+ def show = {
+ def mimirConfigurationInstance =
MimirConfiguration.findByIndexBaseDirectoryIsNotNull()
+ if (!mimirConfigurationInstance) {
+ redirect(controller:'mimirStaticPages', action: "admin")
+ }
+ else {
+ [mimirConfigurationInstance: mimirConfigurationInstance]
+ }
+ }
+
+ def edit = {
+ def mimirConfigurationInstance =
MimirConfiguration.findByIndexBaseDirectoryIsNotNull()
+ if (!mimirConfigurationInstance) {
+ mimirConfigurationInstance = new MimirConfiguration()
+ }
+ return [mimirConfigurationInstance: mimirConfigurationInstance]
+ }
+
+
+ def update = {
+ def mimirConfigurationInstance =
MimirConfiguration.findByIndexBaseDirectoryIsNotNull()
+ if (mimirConfigurationInstance) {
+ if (params.version) {
+ def version = params.version.toLong()
+ if (mimirConfigurationInstance.version > version) {
+
+ mimirConfigurationInstance.errors.rejectValue("version",
"default.optimistic.locking.failure", [
+ message(code: 'mimirConfiguration.label', default:
'MimirConfiguration')]
+ as Object[], "Another user has updated this MimirConfiguration while
you were editing")
+ render(view: "edit", model: [mimirConfigurationInstance:
mimirConfigurationInstance])
+ return
+ }
+ }
+ } else {
+ mimirConfigurationInstance = new MimirConfiguration()
+ }
+ mimirConfigurationInstance.properties = params
+ if (!mimirConfigurationInstance.hasErrors() &&
mimirConfigurationInstance.save(flush: true)) {
+ flash.message = "${message(code: 'default.updated.message', args:
[message(code: 'mimirConfiguration.label', default: 'MimirConfiguration'),
mimirConfigurationInstance.id])}"
+ redirect(action: "show")
+ } else {
+ render(view: "edit", model: [mimirConfigurationInstance:
mimirConfigurationInstance])
+ }
+ }
+}
Property changes on:
mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/MimirConfigurationController.groovy
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added:
mimir/trunk/mimir-web/grails-app/domain/gate/mimir/web/MimirConfiguration.groovy
===================================================================
---
mimir/trunk/mimir-web/grails-app/domain/gate/mimir/web/MimirConfiguration.groovy
(rev 0)
+++
mimir/trunk/mimir-web/grails-app/domain/gate/mimir/web/MimirConfiguration.groovy
2011-11-10 17:19:51 UTC (rev 14510)
@@ -0,0 +1,21 @@
+package gate.mimir.web
+
+/**
+ * Singleton storing configuration parameters for the current Mímir instance.
+ */
+class MimirConfiguration {
+
+ String indexBaseDirectory
+
+ static constraints = {
+ indexBaseDirectory( nullable:false, validator:{String path ->
+ if(path != null) {
+ File indexDir = new File(path)
+ if(!indexDir.exists()) return 'notExists'
+ if(!indexDir.isDirectory()) return 'notDirectory'
+ if(!indexDir.canWrite()) return 'notWriteable'
+ }
+ return true
+ })
+ }
+}
Property changes on:
mimir/trunk/mimir-web/grails-app/domain/gate/mimir/web/MimirConfiguration.groovy
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Deleted: mimir/trunk/mimir-web/grails-app/i18n/messages.properties
===================================================================
Copied: mimir/trunk/mimir-web/grails-app/i18n/mimirweb.properties (from rev
14509, mimir/trunk/mimir-web/grails-app/i18n/messages.properties)
===================================================================
--- mimir/trunk/mimir-web/grails-app/i18n/mimirweb.properties
(rev 0)
+++ mimir/trunk/mimir-web/grails-app/i18n/mimirweb.properties 2011-11-10
17:19:51 UTC (rev 14510)
@@ -0,0 +1,3 @@
+gate.mimir.web.MimirConfiguration.indexBaseDirectory.notExists=Location "{2}"
does not exist!
+gate.mimir.web.MimirConfiguration.indexBaseDirectory.notDirectory=Location
"{2}" is not a directory!
+gate.mimir.web.MimirConfiguration.indexBaseDirectory.notWriteable=Location
"{2}" exists but is not writeable!
\ No newline at end of file
Added: mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/edit.gsp
===================================================================
--- mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/edit.gsp
(rev 0)
+++ mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/edit.gsp
2011-11-10 17:19:51 UTC (rev 14510)
@@ -0,0 +1,79 @@
+
+
+<%@ page import="gate.mimir.web.MimirConfiguration"%>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="layout" content="mimir" />
+<g:set var="entityName"
+ value="${message(code: 'mimirConfiguration.label', default:
'MimirConfiguration')}" />
+<mimir:load />
+<title><g:message code="default.edit.label" args="[entityName]" /></title>
+</head>
+<body>
+
+ <div class="nav">
+ <span class="menuButton">
+ <a class="home" href="${createLink(controller:'mimirStaticPages',
action:'admin')}">
+ Back to Admin Page</a>
+ </span>
+ </div>
+
+ <div class="body">
+ <h1>
+ <g:message code="default.edit.label"
args="[entityName]" />
+ </h1>
+ <g:if test="${flash.message}">
+ <div class="message">
+ ${flash.message}
+ </div>
+ </g:if>
+ <g:hasErrors bean="${mimirConfigurationInstance}">
+ <div class="errors">
+ <g:renderErrors
bean="${mimirConfigurationInstance}" as="list" />
+ </div>
+ </g:hasErrors>
+ <g:form method="post">
+ <g:hiddenField name="id"
value="${mimirConfigurationInstance?.id}" />
+ <g:hiddenField name="version"
+ value="${mimirConfigurationInstance?.version}"
/>
+ <div class="dialog">
+ <div class="list">
+ <table>
+ <thead>
+ <tr><th>Parameter</th><th>Value</th></tr>
+ </thead>
+ <tbody>
+
+ <tr class="prop">
+ <td valign="top"
class="name"><label
+
for="indexBaseDirectory"><g:message
+
code="mimirConfiguration.indexBaseDirectory.label"
+
default="Index Base Directory" /></label>
+
(<mimir:revealAnchor id="indexBaseDirHelp">?</mimir:revealAnchor>)<br />
+
</td>
+ <td valign="top"
+ class="value
${hasErrors(bean: mimirConfigurationInstance, field: 'indexBaseDirectory',
'errors')}">
+ <g:textField
name="indexBaseDirectory" size="100"
+
value="${fieldValue(bean: mimirConfigurationInstance, field:
'indexBaseDirectory')}" />
+ </td>
+ </tr>
+ <tr><td colspan="2"><mimir:revealBlock id="indexBaseDirHelp">
+ <p>Directory used for storing indexes. Pick a location
that exists and
+ is writeable by the Mímir
process.</p></mimir:revealBlock></td> </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="buttons">
+ <span class="button"><g:actionSubmit
class="save"
+ action="update"
+ value="${message(code:
'default.button.update.label', default: 'Update')}" /></span>
+ <span class="button"><g:actionSubmit class="delete"
+ action="show"
+ value="Cancel" /></span>
+ </div>
+ </g:form>
+ </div>
+</body>
+</html>
Added: mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/show.gsp
===================================================================
--- mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/show.gsp
(rev 0)
+++ mimir/trunk/mimir-web/grails-app/views/mimirConfiguration/show.gsp
2011-11-10 17:19:51 UTC (rev 14510)
@@ -0,0 +1,64 @@
+
+<%@ page import="gate.mimir.web.MimirConfiguration"%>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="layout" content="mimir" />
+<g:set var="entityName"
+ value="${message(code: 'mimirConfiguration.label', default:
'MimirConfiguration')}" />
+<title><g:message code="default.show.label" args="[entityName]" /></title>
+</head>
+<body>
+ <div class="nav">
+ <span class="menuButton">
+ <a class="home"
href="${createLink(controller:'mimirStaticPages', action:'admin')}">
+ Back to Admin Page</a>
+ </span>
+ <span class="menuButton">
+ <g:link class="create" action="edit" id="1">
+ <g:message code="default.edit.label" args="[entityName]" />
+ </g:link>
+ </span>
+ </div>
+ <div class="body">
+ <h1>
+ <g:message code="default.show.label"
args="[entityName]" />
+ </h1>
+ <g:if test="${flash.message}">
+ <div class="message">
+ ${flash.message}
+ </div>
+ </g:if>
+ <div class="dialog">
+ <div class="list">
+ <table>
+ <thead>
+ <tr><th>Parameter</th><th>Value</th></tr>
+ </thead>
+ <tbody>
+ <tr class="prop">
+ <td valign="top"
class="name"><g:message
+
code="mimirConfiguration.indexBaseDirectory.label"
+ default="Index
Base Directory" /></td>
+
+ <td valign="top" class="value">
+ ${fieldValue(bean:
mimirConfigurationInstance, field: "indexBaseDirectory")}
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="buttons">
+ <g:form>
+ <g:hiddenField name="id"
value="${mimirConfigurationInstance?.id}" />
+ <span class="button"><g:actionSubmit
class="edit"
+ action="edit"
+ value="${message(code:
'default.button.edit.label', default: 'Edit')}" /></span>
+ </g:form>
+ </div>
+ </div>
+</body>
+</html>
Modified: mimir/trunk/mimir-web/grails-app/views/mimirStaticPages/admin.gsp
===================================================================
--- mimir/trunk/mimir-web/grails-app/views/mimirStaticPages/admin.gsp
2011-11-10 02:17:59 UTC (rev 14509)
+++ mimir/trunk/mimir-web/grails-app/views/mimirStaticPages/admin.gsp
2011-11-10 17:19:51 UTC (rev 14510)
@@ -2,6 +2,7 @@
<%@ page import="gate.mimir.web.LocalIndex" %>
<%@ page import="gate.mimir.web.RemoteIndex" %>
<%@ page import="gate.mimir.web.FederatedIndex" %>
+<%@ page import="gate.mimir.web.MimirConfiguration" %>
<g:set var="localIdxCnt" value="${LocalIndex.count()}" />
<g:set var="remoteIdxCnt" value="${RemoteIndex.count()}" />
@@ -22,7 +23,16 @@
<g:if test="${flash.message}">
<div class="message">${flash.message}</div>
</g:if>
-
+
+ <g:if test="${MimirConfiguration.count() == 0}">
+ <h2>Configuration</h2>
+ <p>You need to <g:link controller="mimirConfiguration" action="edit"
id="">configure</g:link> your local Mímir instance.</p>
+ </g:if>
+ <g:else>
+ <h2>Configuration</h2>
+ <p><g:link controller="mimirConfiguration" action="show"
id="">Show/edit</g:link>
+ the configuration for your Mímir instance.</p>
+
<h2>Indexes <span style="font-size:small;" title="Click for more
information!">(<mimir:revealAnchor
id="help1">?</mimir:revealAnchor>)</span></h2>
<mimir:revealBlock id="help1">
<p class="help">There are several types of indexes. On this page you can
@@ -90,6 +100,8 @@
<p><g:link controller="indexTemplate" action="list">
<span title="Click to edit index templates">Click here</span>
</g:link>to manage the index templates.</p>
+ </g:else>
+
</div>
</body>
</html>
Modified: mimir/trunk/mimir-web/scripts/_Events.groovy
===================================================================
--- mimir/trunk/mimir-web/scripts/_Events.groovy 2011-11-10 02:17:59 UTC
(rev 14509)
+++ mimir/trunk/mimir-web/scripts/_Events.groovy 2011-11-10 17:19:51 UTC
(rev 14510)
@@ -17,23 +17,23 @@
*/
import groovy.xml.MarkupBuilder;
-import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
-
// Package up any Mimir plugins configured at relative paths to be included in
// the war file.
eventCreateWarStart = { warName, stagingDir ->
+ includeTargets << grailsScript("_GrailsPackage")
+ depends('createConfig')
event('StatusUpdate', ["Bundling Mimir plugins for WAR"])
// load the mimir configuration (which includes the plugins)
def MimirConfigLoader =
classLoader.loadClass('gate.mimir.web.MimirConfigLoader')
- MimirConfigLoader.loadMimirConfig()
+ MimirConfigLoader.loadMimirConfig(config)
URI baseURI = new File(basedir).toURI()
File pluginsList = new File("${stagingDir}/WEB-INF/mimir-plugins.xml")
pluginsList.withPrintWriter("UTF-8") { pw ->
new MarkupBuilder(pw).plugins {
- if(CH.config.gate.mimir.plugins) {
- for(loc in CH.config.gate.mimir.plugins.entrySet()) {
+ if(config.gate.mimir.plugins) {
+ for(loc in config.gate.mimir.plugins.entrySet()) {
// only package plugins that are not absolute URLs
if(!(loc.value =~ /^[a-z]{2,}:/)) {
File pluginDir = new File(baseURI.resolve(loc.value))
Deleted:
mimir/trunk/mimir-web/src/groovy/gate/mimir/web/DefaultMimirConfig.groovy
===================================================================
--- mimir/trunk/mimir-web/src/groovy/gate/mimir/web/DefaultMimirConfig.groovy
2011-11-10 02:17:59 UTC (rev 14509)
+++ mimir/trunk/mimir-web/src/groovy/gate/mimir/web/DefaultMimirConfig.groovy
2011-11-10 17:19:51 UTC (rev 14510)
@@ -1,33 +0,0 @@
-/*
- * DefaultMimirConfig.groovy
- *
- * Copyright (c) 2007-2011, The University of Sheffield.
- *
- * This file is part of GATE Mímir (see http://gate.ac.uk/family/mimir.html),
- * and is free software, licenced under the GNU Affero General Public License,
- * Version 3, November 2007 (also included with this distribution as file
- * LICENCE-AGPL3.html).
- *
- * A commercial licence is also available for organisations whose business
- * models preclude the adoption of open source and is subject to a licence
- * fee charged by the University of Sheffield. Please contact the GATE team
- * (see http://gate.ac.uk/g8/contact) if you require a commercial licence.
- *
- * $Id$
- */
-package gate.mimir.web
-
-// default GATE initialisation params - we do not specify pluginsHome or
-// siteConfigFile as these take sensible defaults from gateHome
-gateInit {
- gateHome = "WEB-INF/gate-home"
- userConfigFile = "WEB-INF/gate-home/user.xml"
-}
-
-// the xgapp file that defines the query tokeniser. Alternatively
-// you can redefine the queryTokeniser Spring bean in resources.groovy
-queryTokeniserGapp = "WEB-INF/gate-home/default-query-tokeniser.xgapp"
-
-// the base directory in which newly created local indexes will
-// be put.
-indexBaseDirectory = "mimir-indexes"
Modified:
mimir/trunk/mimir-web/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
===================================================================
--- mimir/trunk/mimir-web/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
2011-11-10 02:17:59 UTC (rev 14509)
+++ mimir/trunk/mimir-web/src/groovy/gate/mimir/web/MimirConfigLoader.groovy
2011-11-10 17:19:51 UTC (rev 14510)
@@ -21,22 +21,14 @@
import groovy.util.ConfigSlurper
import groovy.util.ConfigObject
-import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
-
class MimirConfigLoader {
static boolean mimirConfigLoaded = false
- public static synchronized void loadMimirConfig() {
+ public static synchronized void loadMimirConfig(config) {
if(mimirConfigLoaded) return
ConfigObject fullMimirConfig = new ConfigObject()
ConfigSlurper slurper = new ConfigSlurper(Environment.current.name)
try {
- // parse the default config
- fullMimirConfig = slurper.parse(DefaultMimirConfig)
- } catch(Exception e) {
- println "Could not load DefaultMimirConfig"
- }
- try {
// 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())
@@ -47,10 +39,10 @@
}
// finally merge in any settings coming from the existing app config
- fullMimirConfig = fullMimirConfig.merge(CH.config.gate.mimir)
+ fullMimirConfig = fullMimirConfig.merge(config.gate.mimir)
// and store the result back in the main config
- CH.config.gate.mimir = fullMimirConfig
+ config.gate.mimir = fullMimirConfig
mimirConfigLoaded = true
}
Modified: mimir/trunk/mimir-web/src/templates/conf/MimirUrlMappings.groovy
===================================================================
--- mimir/trunk/mimir-web/src/templates/conf/MimirUrlMappings.groovy
2011-11-10 02:17:59 UTC (rev 14509)
+++ mimir/trunk/mimir-web/src/templates/conf/MimirUrlMappings.groovy
2011-11-10 17:19:51 UTC (rev 14510)
@@ -44,7 +44,6 @@
"/$indexId/manage/$action?"(controller:"indexManagement")
// admin-only actions - CRUD controllers plus index administration
-
"/admin"(controller:"mimirStaticPages", action:"admin")
"/admin/$controller/$action?/$id?"{
constraints {
@@ -52,7 +51,8 @@
"federatedIndex",
"localIndex",
"remoteIndex",
- "indexTemplate"
+ "indexTemplate",
+ "mimirConfiguration"
])
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs