/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingtracker.listeners; import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.eclipse.compare.internal.CompareEditor; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import edu.illinois.codingtracker.recording.Activator; import edu.illinois.codingtracker.recording.KnownFilesRecorder; import edu.illinois.codingtracker.recording.OperationRecorder; /** * * @author Stas Negara * @author Mohsen Vakilian - Added the method {@link #getActiveWorkbenchWindow}. * */ @SuppressWarnings("restriction") public abstract class BasicListener { protected static final KnownFilesRecorder knownFilesRecorder= KnownFilesRecorder.getInstance(); protected static final OperationRecorder operationRecorder= OperationRecorder.getInstance(); protected static final Set<CompareEditor> openConflictEditors= Collections.synchronizedSet(new HashSet<CompareEditor>()); protected static volatile boolean isRefactoring= false; protected static volatile boolean isUndoing= false; protected static volatile boolean isRedoing= false; protected static volatile boolean isBufferContentAboutToBeReplaced= false; protected static IWorkbenchWindow getActiveWorkbenchWindow() { IWorkbench workbench= null; try { workbench= PlatformUI.getWorkbench(); } catch (IllegalStateException e) { Activator.getDefault().log(Activator.createErrorStatus("Workbench has not been created yet.", e)); return null; } IWorkbenchWindow activeWorkbenchWindow= null; if (workbench != null) { activeWorkbenchWindow= workbench.getActiveWorkbenchWindow(); } return activeWorkbenchWindow; } }