From 196349599b1458f9e2a512f72a70f8d9a70e68b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr>
Date: Mon, 26 Mar 2012 23:55:50 +0000
Subject: [PATCH] - fixed new initialization error in log4j ZeroConfSupport

---
 .../exmo/align/service/AServProtocolManager.java      | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
index c6f7f684..3d0dc4e2 100644
--- a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
+++ b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
@@ -476,7 +476,7 @@ public class AServProtocolManager {
 	    }
 	    // Erase it from storage
 	    try {
-		alignmentCache.eraseAlignment( id );
+		alignmentCache.eraseAlignment( id, true );
 	    } catch ( Exception ex ) { ex.printStackTrace(); }// ignore
 	    // Should be a SuppressedAlignment
 	    return new AlignmentId(newId(),mess,myId,mess.getSender(),id,(Properties)null,
@@ -899,7 +899,9 @@ public class AServProtocolManager {
 
     public static boolean implementsInterface( String classname, Class tosubclass, boolean debug ) {
 	try {
-	    if ( classname.equals("org.apache.xalan.extensions.ExtensionHandlerGeneral") ) throw new ClassNotFoundException( "Stupid JAVA/Xalan bug" );
+	    if ( classname.equals("org.apache.xalan.extensions.ExtensionHandlerGeneral") || 
+		 classname.equals("org.apache.log4j.net.ZeroConfSupport") 
+	    ) throw new ClassNotFoundException( "Classes breaking this work" );
 	    // JE: Here there is a bug that is that it is not possible
 	    // to have ALL interfaces with this function!!!
 	    // This is really stupid but that's life
@@ -917,9 +919,10 @@ public class AServProtocolManager {
 		if ( debug ) System.err.println("       I> "+interfaces[i] );
 	    }
 	    // Not one of our classes
+	} catch ( ExceptionInInitializerError eiie ) {
 	} catch ( NoClassDefFoundError ncdex ) {
-	} catch (ClassNotFoundException cnfex) {
-	} catch (UnsatisfiedLinkError ule) {
+	} catch ( ClassNotFoundException cnfex ) {
+	} catch ( UnsatisfiedLinkError ule ) {
 	    if ( debug ) System.err.println("   ******** "+classname);
 	}
 	return false;
-- 
GitLab