/***************************************************************************** * Copyright (c) 2011 CEA LIST. * * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation * *****************************************************************************/ package org.eclipse.papyrus.views.modelexplorer.queries; import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor; import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageMngr; import org.eclipse.papyrus.infra.core.services.ServiceException; import org.eclipse.papyrus.infra.core.services.ServicesRegistry; import org.eclipse.papyrus.infra.core.utils.EditorUtils; import org.eclipse.papyrus.infra.core.utils.ServiceUtils; /** * * An abstract class to get the pageMngr * */ public abstract class AbstractEditorContainerQuery {//we don't need to implements IJavaModelQuery here /** * * @return * @throws ServiceException */ protected IPageMngr getPageMngr() throws ServiceException { // pageMngr can't be static, because there is a new IPageMngr each time we open a Papyrus Editor IMultiDiagramEditor papyrusEditor = EditorUtils.getMultiDiagramEditor(); if (papyrusEditor != null) { ServicesRegistry serviceRegistry = papyrusEditor.getServicesRegistry(); return ServiceUtils.getInstance().getIPageMngr(serviceRegistry); } throw new ServiceException("Can't retrieve the IPageMngr"); } }