void defaultInit() throws Throwable { // make sure static class initializers are correctly initialized // re-init cleanUp(); KettleClientEnvironment.init(); // initialize some classes, this will fail if some tests init this classes before any PDI init() // the best thing to do is to invoke this ClassRule in every test Class.forName( Database.class.getName() ); Class.forName( Timestamp.class.getName() ); Class.forName( ValueMetaBase.class.getName() ); Class.forName( SimpleTimestampFormat.class.getName() ); Class.forName( SimpleDateFormat.class.getName() ); Class.forName( XMLHandler.class.getName() ); Class.forName( LogChannel.class.getName() ); DatabaseMeta.init(); ExtensionPointMap.getInstance().reInitialize(); KettleVFS.getInstance().reset(); // reinit }
void cleanUp() { KettleClientEnvironment.reset(); PluginRegistry.getInstance().reset(); MetricsRegistry.getInstance().reset(); ExtensionPointMap.getInstance().reset(); if ( KettleLogStore.isInitialized() ) { KettleLogStore.getInstance().reset(); } KettleLogStore.setLogChannelInterfaceFactory( new LogChannelFactory() ); if ( Props.isInitialized() ) { Props.getInstance().reset(); } KettleVFS.getInstance().reset(); XMLHandlerCache.getInstance().clear(); ValueMetaFactory.pluginRegistry = PluginRegistry.getInstance(); // under no circumstance reset the LoggingRegistry // LoggingRegistry.getInstance().reset(); }