Changeset 6086


Ignore:
Timestamp:
Aug 17, 2012, 2:35:41 PM (11 years ago)
Author:
Nicklas Nordborg
Message:

References #1601: Convert logging plug-in system to an extension point

The test code didn't work since it still used the old system. It has now been converted to the extensions system.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/test/TestChangeHistory.java

    r5641 r6086  
    2222*/
    2323
    24 import java.lang.reflect.Field;
    2524import java.util.Date;
    2625
     
    4342import net.sf.basedb.core.query.Restrictions;
    4443import net.sf.basedb.util.ConsoleProgressReporter;
     44import net.sf.basedb.util.extensions.Extension;
     45import net.sf.basedb.util.extensions.ExtensionBean;
     46import net.sf.basedb.util.extensions.Registry;
     47import net.sf.basedb.util.extensions.manager.Settings;
    4548
    4649public class TestChangeHistory
     
    6265   
    6366    ChangeHistory.deleteStrayEntries(null);
    64     LogManagerFactory old = set_log_manager(new DbLogManagerFactory());
     67   
     68    // Register a new instance of the DbLogger as an extension
     69    // If the core logger is enabled, disable it
     70    Settings xtSettings = Application.getExtensionsManager().getSettings();
     71    Registry xtRegistry = Application.getExtensionsManager().getRegistry();
     72    Extension coreLogger = xtRegistry.getExtension("net.sf.basedb.core.db-log-manager");
     73    boolean coreLoggerWasEnabled = false;
     74    if (coreLogger != null && xtSettings.isEnabled(coreLogger))
     75    {
     76      coreLoggerWasEnabled = true;
     77      xtSettings.enableExtension(coreLogger.getId(), false);
     78    }
     79   
     80    Extension<LogManagerFactory> logger = new ExtensionBean<LogManagerFactory>(
     81      "test.db-logger", "net.sf.basedb.core.log-manager", 1, null, new DbLogManagerFactory(), null);
     82    xtRegistry.registerExtension(logger, null);
     83   
     84    //LogManagerFactory old = set_log_manager(new DbLogManagerFactory());
    6585    Date since = new Date();
    6686    int bioSourceId = TestBioSource.test_create("Biosource 1", false);
     
    88108    TestBioSource.test_delete(bioSourceId);
    89109    TestAnnotationType.test_delete(annotationTypeId);
     110    // 13 = The original 10 create+update + 3 delete
    90111    test_delete_stray(13);
    91     set_log_manager(old);
     112   
     113    xtRegistry.unregisterExtension("test.db-logger");
     114   
     115    if (coreLoggerWasEnabled)
     116    {
     117      xtSettings.enableExtension(coreLogger.getId(), true);
     118    }
     119   
    92120    write("++Testing change history "+(ok ? "OK" : "Failed")+"\n");
    93121    return ok;
     
    214242  }
    215243
    216   static LogManagerFactory set_log_manager(LogManagerFactory factory)
    217   {
    218     LogManagerFactory old = null;
    219     try
    220     {
    221       Field logManager = Application.class.getDeclaredField("logManagerFactory");
    222       logManager.setAccessible(true);
    223       old = (LogManagerFactory)logManager.get(null);
    224       logManager.set(null, factory);
    225     }
    226     catch (Exception ex)
    227     {
    228       ex.printStackTrace();
    229     }
    230     return old;
    231   }
    232244}
    233245
Note: See TracChangeset for help on using the changeset viewer.