blob: 7709bc0059665150ce3b22893545a67fe8baf65a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Soft-Maint.
* 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:
* Jonathan Pepin (Soft-Maint) - Bug 463907 - Command for load and save Facet serialization
* Grégoire Dupé (Soft-Maint) - Bug 469959 - NullPointerException in SetStructuralFeatureInstanceResourceHandler.execute (42)
*******************************************************************************/
package org.eclipse.emf.facet.efacet.ui.internal.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.emf.facet.efacet.core.IFacetManager;
import org.eclipse.emf.facet.efacet.core.exception.FacetManagerException;
import org.eclipse.emf.facet.efacet.ui.internal.Activator;
import org.eclipse.emf.facet.efacet.ui.internal.Messages;
import org.eclipse.emf.facet.util.core.Logger;
import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IOkDialogFactory;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.handlers.HandlerUtil;
public class SaveStructuralFeatureInstanceModelHandler extends AbstractHandler {
@Override
public boolean isEnabled() {
final IFacetManager facetManager = Utils.getFacetManager();
return (facetManager != null)
&& (facetManager.getSerializationResource() != null);
}
@Override
public boolean isHandled() {
final IFacetManager facetManager = Utils.getFacetManager();
return (facetManager != null)
&& (facetManager.getSerializationResource() != null);
}
public Object execute(final ExecutionEvent event) throws ExecutionException {
Object result = null;
final IFacetManager facetManager = Utils.getFacetManager(event);
if (facetManager != null) {
try {
facetManager.saveStructuralFeatureInstanceModel();
} catch (FacetManagerException e) {
Logger.logError(
e,
"Failed to save the \"structural feature instance model\".", //$NON-NLS-1$
Activator.getDefault());
final IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
final IWorkbenchPartSite site = activePart.getSite();
final Shell shell = site.getShell();
result = IOkDialogFactory.DEFAULT.openErrorDialog(
shell,
e,
Messages.SaveStructuralFeatureInstanceModelHandler_FailedToSaveTheStructuralFeatureInstanceModel);
}
}
return result;
}
}