Subversion Repositories eFlore/Applications.coel

Rev

Rev 1901 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10 jpm 1
package org.tela_botanica.client;
2
 
51 jpm 3
import com.extjs.gxt.ui.client.GXT;
1904 mathias 4
import com.extjs.gxt.ui.client.state.StateManager;
5
import com.extjs.gxt.ui.client.state.Provider;
10 jpm 6
import com.google.gwt.core.client.EntryPoint;
1780 aurelien 7
import com.google.gwt.core.client.GWT;
8
import com.google.gwt.user.client.Window;
10 jpm 9
 
10
public class Coel implements EntryPoint {
116 jpm 11
 
344 jp_milcent 12
	public void onModuleLoad() {
1780 aurelien 13
 
14
		// A décommenter + compiler en detailed dans le cas d'une erreur
15
		// survernant uniquement sur le serveur
1784 aurelien 16
		/*GWT.setUncaughtExceptionHandler(null);
1780 aurelien 17
		GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() {
18
			@Override
19
			public void onUncaughtException(Throwable e) {
20
					Window.alert("uncaught: " + e.getMessage());
21
					String s = buildStackTrace(e, "RuntimeException:\n");
22
					Window.alert(s);
23
					e.printStackTrace();
24
			}
1784 aurelien 25
		});*/
1780 aurelien 26
 
1509 jpm 27
		// Fermeture du panneau de chargement de l'appli
51 jpm 28
		GXT.hideLoadingPanel("loading");
29
 
1509 jpm 30
		// Création du médiateur
31
		new Mediateur();
1904 mathias 32
 
33
		// Gestionnaire d'état : remplacement du CookieProvider qui pose 400 000 000 de cookies
34
		// moisis jusqu'à dépasser la taille max de l'entête HTTP - encore un truc inventé par
35
		// un génie - par un faux provider qui ne fait rien
36
		Provider jAimeBienLesCourgettes = new Provider() {
37
			@Override
38
			protected void setValue(String name, String value) {
39
				Coel.LogVersFirebug("miam");
40
			}
41
			@Override
42
			protected String getValue(String name) {
43
				Coel.LogVersFirebug("burp");
44
				return null;
45
			}
46
			@Override
47
			protected void clearKey(String name) {
48
				Coel.LogVersFirebug("prout");
49
			}
50
		};
51
		StateManager.get().setProvider(jAimeBienLesCourgettes);
1509 jpm 52
 
53
		// Si activation du mode débug
1367 cyprien 54
		if (Mediateur.DEBUG) {
55
			System.out.println("");
56
			System.out.println("-------------------------------------------------------------------");
57
			System.out.println("");
58
		}
344 jp_milcent 59
	}
1780 aurelien 60
 
1802 aurelien 61
	/*private String buildStackTrace(Throwable t, String log) {
1780 aurelien 62
	    if (t != null) {
63
		     log += t.getClass().toString();
64
		     log += t.getMessage();
65
		     //
66
		     StackTraceElement[] stackTrace = t.getStackTrace();
67
		     if (stackTrace != null) {
68
		    	 StringBuffer trace = new StringBuffer();
69
 
70
			     for (int i = 0; i < stackTrace.length; i++) {
71
			    	 trace.append(stackTrace[i].getClassName() + "." + stackTrace[i].getMethodName() + "("
72
			    			 + stackTrace[i].getFileName() + ":" + stackTrace[i].getLineNumber());
73
			     }
74
 
75
			     log += trace.toString();
76
		     }
77
		     //
78
		     Throwable cause = t.getCause();
79
		     if (cause != null && cause != t) {
80
		    	 log += buildStackTrace(cause, "CausedBy:\n");
81
		     }
82
	    }
83
	    return log;
1802 aurelien 84
	}*/
1780 aurelien 85
 
1802 aurelien 86
	public static native void  LogVersFirebug(Object o) /*-{
1780 aurelien 87
		if (!!($wnd.console && $wnd.console.log)) {
1802 aurelien 88
			console.log(o);
1780 aurelien 89
		}
90
	}-*/;
1893 mathias 91
 
92
	/**
93
	 * Envoie la trace de pile d'une exception dans FeuInsecte histoire de savoir un peu ce
94
	 * qui se passe sans avoir besoin d'installer un plugin tout fané qui existe même plus
95
	 */
96
	public static void traceDePile(Exception e) {
97
		String cacaDePoulet = "";
98
		for (StackTraceElement element : e.getStackTrace()) {
99
		    cacaDePoulet += " " + element + "\n";
100
		}
101
		Coel.LogVersFirebug(cacaDePoulet);
102
	}
344 jp_milcent 103
}