[Yanel-commits] rev 44182 - public/yanel/trunk/src/core/java/org/wyona/yanel/core/map

michi at wyona.com michi at wyona.com
Thu Aug 13 16:45:56 CEST 2009


Author: michi
Date: 2009-08-13 16:45:56 +0200 (Thu, 13 Aug 2009)
New Revision: 44182

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmManager.java
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmWithConfigurationExceptionImpl.java
Log:
handle exceptions during realm init more gracefully

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmManager.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmManager.java	2009-08-13 14:42:57 UTC (rev 44181)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmManager.java	2009-08-13 14:45:56 UTC (rev 44182)
@@ -222,10 +222,10 @@
                     realmConfigFile = new File(realmConfigFile, REALM_DEFAULT_CONFIG_NAME);
                 }
 
+                Realm realm;
                 try {
-                    log.info("Reading realm config file for [" + realmId + "]: " + realmConfigFile);
+                    log.info("Reading realm configuration file for [" + realmId + "]: " + realmConfigFile);
                     Configuration realmConfig = builder.buildFromFile(realmConfigFile);
-                    Realm realm;
                     try {
                         String customRealmImplClassName = realmConfig.getAttribute("class");
                         Class[] classArgs = new Class[]{String.class, String.class, String.class, File.class};
@@ -252,26 +252,26 @@
                         log.debug("Prefix value: " + prefixValue);
                         realm.setProxy(rpc.getHostName(), proxyPort, proxySSLPort, prefixValue);
                     }
-                    
-                    log.info("Realm: " + realm);
-                    
-                    hm.put(realmId, realm);
-                    if (rcc[i].isRoot()) {
-                        log.debug("Root realm found: " + realm.getID());
-                        if (rootRealm == null) {
-                            log.debug("Root realm set: " + realm.getID());
-                            rootRealm = realm;
-                        } else {
-                            log.error("Root realm has already been set: " + realmId);
-                        }
-                    }
                 } catch (Exception e) {
                     String errorMsg = "Error setting up realm [" + realmId + "]: " + realmConfigFile + ": " + e;
                     log.error(errorMsg, e);
                     // NOTE: Do not throw an exception, because otherwise all other realms are not being loaded either
-                    // TODO/TBD: Maybe one should enhance Realm by a method such as setStatus() and getStatus() in order to check if a realm has been registered successfully or not!
                     //throw new ConfigurationException(errorMsg, e);
+                    realm = new RealmWithConfigurationExceptionImpl(realmId, realmId, mountPoint, realmConfigFile, e);
+                    //realm = new RealmWithConfigurationExceptionImpl(rcc[i].getLabel(), realmId, mountPoint, realmConfigFile, e);
                 }
+                    
+                log.info("Realm: " + realm);
+                hm.put(realmId, realm);
+                if (rcc[i].isRoot()) {
+                    log.debug("Root realm found: " + realm.getID());
+                    if (rootRealm == null) {
+                        log.debug("Root realm set: " + realm.getID());
+                        rootRealm = realm;
+                    } else {
+                        log.error("Root realm has already been set: " + realmId);
+                    }
+                }
             }
         } catch (Exception e) {
             log.error(e.getMessage(), e);

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmWithConfigurationExceptionImpl.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmWithConfigurationExceptionImpl.java	2009-08-13 14:42:57 UTC (rev 44181)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/RealmWithConfigurationExceptionImpl.java	2009-08-13 14:45:56 UTC (rev 44182)
@@ -54,6 +54,11 @@
     private String name;
     private String id;
     private String mountPoint;
+    private File configFile;
+    private Exception configurationException;
+
+
+
     private String defaultLanguage;
     private Repository repository;
     private Repository rtiRepository;
@@ -63,7 +68,6 @@
     private TranslationManager translationManager;
     private LanguageHandler languageHandler;
     private Sitetree repoNavigation;
-    private File configFile;
     private File rootDir;
     private String[] languages;
     private String i18nCatalogue;
@@ -82,6 +86,7 @@
         this.id = id;
         this.mountPoint = mountPoint;
         this.configFile = configFile;
+        this.configurationException = configurationException;
     }
 
     /**



More information about the Yanel-commits mailing list