/* * Copyright (c) 2011, 2012, 2015 Eike Stepper (Berlin, Germany) and others. * 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: * Martin Fluegge - initial API and implementation */ package org.eclipse.emf.cdo.dawn.emf.notifications.impl; import org.eclipse.emf.cdo.dawn.editors.IDawnEditor; import org.eclipse.emf.cdo.dawn.notifications.BasicDawnTransactionHandler; import org.eclipse.emf.cdo.transaction.CDOTransactionConflictEvent; import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent; import org.eclipse.emf.common.ui.viewer.IViewerProvider; /** * @author Martin Fluegge */ public class DawnEMFHandler extends BasicDawnTransactionHandler { /** * @since 1.0 */ public DawnEMFHandler(IDawnEditor editor) { super(editor); } @Override public void handleTransactionConflictEvent(CDOTransactionConflictEvent event) { super.handleTransactionConflictEvent(event); refreshEditor(); } @Override public void handleViewInvalidationEvent(CDOViewInvalidationEvent event) { super.handleViewInvalidationEvent(event); refreshEditor(); } private void refreshEditor() { editor.getSite().getShell().getDisplay().asyncExec(new Runnable() { public void run() { ((IViewerProvider)editor).getViewer().refresh(); } }); } }