public static void InitApp() { // Add event handler for handling non-UI thread exceptions. AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += new UnhandledExceptionEventHandler(StandAloneThreadExceptionHandler); Reporter.WorkSpaceReporter = new GingerWorkSpaceReporter(); WorkSpaceEventHandler WSEH = new WorkSpaceEventHandler(); WorkSpace.Init(WSEH); string phase = string.Empty; RepositoryItemHelper.RepositoryItemFactory = new RepositoryItemFactory(); WorkSpace.Instance.BetaFeatures = BetaFeatures.LoadUserPref(); WorkSpace.Instance.BetaFeatures.PropertyChanged += BetaFeatureChanged; if (WorkSpace.Instance.BetaFeatures.ShowDebugConsole) { DebugConsoleWindow debugConsole = new DebugConsoleWindow(); debugConsole.ShowAsWindow(); WorkSpace.Instance.BetaFeatures.DisplayStatus(); } Reporter.ToLog(eLogLevel.INFO, "######################## Application version " + App.AppVersion + " Started ! ########################"); SetLoadingInfo("Init Application"); WorkSpace.AppVersion = App.AppShortVersion; // We init the classes dictionary for the Repository Serializer only once InitClassTypesDictionary(); // TODO: need to add a switch what we get from old ginger based on magic key phase = "Loading User Profile"; Reporter.ToLog(eLogLevel.DEBUG, phase); SetLoadingInfo(phase); WorkSpace.Instance.UserProfile = UserProfile.LoadUserProfile(); phase = "Configuring User Type"; Reporter.ToLog(eLogLevel.DEBUG, phase); SetLoadingInfo(phase); WorkSpace.Instance.UserProfile.LoadUserTypeHelper(); phase = "Loading User Selected Resource Dictionaries"; Reporter.ToLog(eLogLevel.DEBUG, phase); SetLoadingInfo(phase); if (WorkSpace.Instance.UserProfile != null) { LoadApplicationDictionaries(Amdocs.Ginger.Core.eSkinDicsType.Default, WorkSpace.Instance.UserProfile.TerminologyDictionaryType); } else { LoadApplicationDictionaries(Amdocs.Ginger.Core.eSkinDicsType.Default, GingerCore.eTerminologyType.Default); } Reporter.ToLog(eLogLevel.DEBUG, "Loading user messages pool"); UserMsgsPool.LoadUserMsgsPool(); StatusMsgsPool.LoadStatusMsgsPool(); Reporter.ToLog(eLogLevel.DEBUG, "Init the Centralized Auto Log"); AutoLogProxy.Init(App.AppVersion); Reporter.ToLog(eLogLevel.DEBUG, "Initializing the Source control"); SetLoadingInfo(phase); phase = "Loading the Main Window"; Reporter.ToLog(eLogLevel.DEBUG, phase); SetLoadingInfo(phase); AutoLogProxy.LogAppOpened(); // Register our own Ginger tool tip handler //--Canceling customize tooltip for now due to many issues and no real added value phase = "Application was loaded and ready"; Reporter.ToLog(eLogLevel.INFO, phase); mIsReady = true; }
public static void InitApp() { // Add event handler for handling non-UI thread exceptions. AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += new UnhandledExceptionEventHandler(StandAloneThreadExceptionHandler); Reporter.WorkSpaceReporter = new GingerWorkSpaceReporter(); if (Environment.GetCommandLineArgs().Count() > 1) { // When running from unit test there are args, so we set a flag in GingerAutomator to make sure Ginger will Launch // and will not try to process the args for RunSet auto run if (RunningFromUnitTest) { // do nothing for now, but later on we might want to process and check auto run too } else { // This Ginger is running with run set config will do the run and close Ginger WorkSpace.RunningInExecutionMode = true; Reporter.ReportAllAlsoToConsole = true; //needed so all reportering will be added to Consol //Reporter.AppLogLevel = eAppReporterLoggingLevel.Debug;//needed so all reportering will be added to Log file } } string phase = string.Empty; RepositoryItemHelper.RepositoryItemFactory = new RepositoryItemFactory(); //Helper.RuntimeObjectFactory = new RuntimeObjectFactory(); AutomateTabGingerRunner = new GingerRunner(eExecutedFrom.Automation); WorkSpaceEventHandler WSEH = new WorkSpaceEventHandler(); WorkSpace.Init(WSEH); WorkSpace.Instance.BetaFeatures = BetaFeatures.LoadUserPref(); WorkSpace.Instance.BetaFeatures.PropertyChanged += BetaFeatureChanged; AutomateBusinessFlowEvent += App_AutomateBusinessFlowEvent; if (WorkSpace.Instance.BetaFeatures.ShowDebugConsole) { DebugConsoleWindow.Show(); WorkSpace.Instance.BetaFeatures.DisplayStatus(); } Reporter.ToLog(eLogLevel.INFO, "######################## Application version " + App.AppVersion + " Started ! ########################"); AppSplashWindow.LoadingInfo("Init Application"); WorkSpace.AppVersion = App.AppShortVersion; // We init the classes dictionary for the Repository Serializer only once InitClassTypesDictionary(); // TODO: need to add a switch what we get from old ginger based on magic key phase = "Loading User Profile"; Reporter.ToLog(eLogLevel.DEBUG, phase); AppSplashWindow.LoadingInfo(phase); WorkSpace.UserProfile = UserProfile.LoadUserProfile(); phase = "Configuring User Type"; Reporter.ToLog(eLogLevel.DEBUG, phase); AppSplashWindow.LoadingInfo(phase); WorkSpace.UserProfile.LoadUserTypeHelper(); phase = "Loading User Selected Resource Dictionaries"; Reporter.ToLog(eLogLevel.DEBUG, phase); AppSplashWindow.LoadingInfo(phase); if (WorkSpace.UserProfile != null) { LoadApplicationDictionaries(Amdocs.Ginger.Core.eSkinDicsType.Default, WorkSpace.UserProfile.TerminologyDictionaryType); } else { LoadApplicationDictionaries(Amdocs.Ginger.Core.eSkinDicsType.Default, GingerCore.eTerminologyType.Default); } Reporter.ToLog(eLogLevel.DEBUG, "Loading user messages pool"); UserMsgsPool.LoadUserMsgsPool(); StatusMsgsPool.LoadStatusMsgsPool(); Reporter.ToLog(eLogLevel.DEBUG, "Init the Centralized Auto Log"); AutoLogProxy.Init(App.AppVersion); Reporter.ToLog(eLogLevel.DEBUG, "Initializing the Source control"); AppSplashWindow.LoadingInfo(phase); phase = "Loading the Main Window"; Reporter.ToLog(eLogLevel.DEBUG, phase); AppSplashWindow.LoadingInfo(phase); MainWindow = new Ginger.MainWindow(); MainWindow.Show(); MainWindow.Init(); // If we have command line params process them and do not load MainWindow if (WorkSpace.RunningInExecutionMode == true) { HandleAutoRunMode(); } //AppSplashWindow.LoadingInfo("Ready!"); App.AppSplashWindow = null; AutoLogProxy.LogAppOpened(); if ((WorkSpace.UserProfile.Solution != null) && (WorkSpace.UserProfile.Solution.ExecutionLoggerConfigurationSetList != null)) { } // Register our own Ginger tool tip handler //--Canceling customize tooltip for now due to many issues and no real added value phase = "Application was loaded and ready"; Reporter.ToLog(eLogLevel.INFO, phase); mIsReady = true; }