package com.opcoach.genmodeladdon;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.ILog;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
public class Util
{
public static void saveGenModel(GenModel gm, Shell parentShell)
{
final Map<Object, Object> opt = new HashMap<Object, Object>();
opt.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
opt.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
try
{
gm.eResource().save(opt);
} catch (IOException e)
{
MessageDialog.openInformation(parentShell, "genModel could not be saved",
"The genmodel could not be saved.\nReason is : " + e.getMessage());
Bundle bundle = FrameworkUtil.getBundle(Util.class);
ILog logger = Platform.getLog(bundle);
logger.log(new Status(IStatus.WARNING, bundle.getSymbolicName(),
"Unable to save the genModel in : " + gm.eResource(), e));
}
}
}