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&iacute;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&iacute;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&iacute;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

Reply via email to