diff options
Diffstat (limited to 'plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.ui/src/org/eclipse/papyrus/gmf/internal/codegen/popup/actions/CreateSpecificDiagramRunTimeModelAction.java')
-rw-r--r-- | plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.ui/src/org/eclipse/papyrus/gmf/internal/codegen/popup/actions/CreateSpecificDiagramRunTimeModelAction.java | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.ui/src/org/eclipse/papyrus/gmf/internal/codegen/popup/actions/CreateSpecificDiagramRunTimeModelAction.java b/plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.ui/src/org/eclipse/papyrus/gmf/internal/codegen/popup/actions/CreateSpecificDiagramRunTimeModelAction.java deleted file mode 100644 index 09e3574c068..00000000000 --- a/plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.ui/src/org/eclipse/papyrus/gmf/internal/codegen/popup/actions/CreateSpecificDiagramRunTimeModelAction.java +++ /dev/null @@ -1,110 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2006, 2020 Borland Software Corporation, CEA LIST, Artal - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * Borland Software Corporation - initial API and implementation - * Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Bug 569174 - *****************************************************************************/ -package org.eclipse.papyrus.gmf.internal.codegen.popup.actions; - -import java.io.IOException; -import java.util.Collections; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IPath; -import org.eclipse.emf.codegen.ecore.genmodel.GenModel; -import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.ContentHandler; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.papyrus.gmf.internal.bridge.genmodel.DiagramRunTimeModelTransformer; -import org.eclipse.papyrus.gmf.internal.bridge.genmodel.DummyGenModel; -import org.eclipse.papyrus.gmf.internal.bridge.genmodel.RuntimeGenModelAccess; -import org.eclipse.papyrus.gmf.mappings.Mapping; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IObjectActionDelegate; -import org.eclipse.ui.IWorkbenchPart; - -public class CreateSpecificDiagramRunTimeModelAction implements IObjectActionDelegate { - - private IFile myMapFile; - - private IWorkbenchPart myPart; - - public void setActivePart(IAction action, IWorkbenchPart targetPart) { - myPart = targetPart; - } - - public void run(IAction action) { - final ResourceSetImpl resSet = new ResourceSetImpl(); - final Mapping m = (Mapping) resSet.getResource(getMapModelURI(), true).getContents().get(0); - final String packName = myMapFile.getLocation().removeFileExtension().lastSegment(); - DiagramRunTimeModelTransformer t = new DiagramRunTimeModelTransformer(packName, getMapModelURI().appendSegment("diagramrt").toString()); - t.transform(m); - EPackage drtModel = t.getResult(); - Resource drtEcoreModelRes = resSet.createResource(getDestEcoreURI(), ContentHandler.UNSPECIFIED_CONTENT_TYPE); - URI genModelURI = getDestGenModelURI(); - Resource drtGenModelRes = Resource.Factory.Registry.INSTANCE.getFactory(genModelURI, ContentHandler.UNSPECIFIED_CONTENT_TYPE).createResource(genModelURI); - resSet.getResources().add(drtGenModelRes); - // Resource drtGenModelRes = - // resSet.createResource(getDestGenModelURI()); - drtEcoreModelRes.getContents().add(drtModel); - drtGenModelRes.getContents().add(createGenModel(drtModel)); - try { - drtEcoreModelRes.save(Collections.EMPTY_MAP); - drtGenModelRes.save(Collections.EMPTY_MAP); - } catch (IOException ex) { - ex.printStackTrace(); - } - - } - - private URI getDestEcoreURI() { - IPath p = myMapFile.getFullPath(); - return URI.createPlatformResourceURI(p.removeLastSegments(1).append(p.removeFileExtension().lastSegment() + "-drt").addFileExtension("ecore").toString(), true); - } - - private URI getDestGenModelURI() { - IPath p = myMapFile.getFullPath(); - return URI.createPlatformResourceURI(p.removeLastSegments(1).append(p.removeFileExtension().lastSegment() + "-drt").addFileExtension("genmodel").toString(), true); - } - - public void selectionChanged(IAction action, ISelection selection) { - myMapFile = (IFile) ((IStructuredSelection) selection).getFirstElement(); - } - - private URI getMapModelURI() { - return URI.createPlatformResourceURI(myMapFile.getFullPath().toString(), true); - } - - protected Shell getShell() { - return myPart.getSite().getShell(); - } - - private GenModel createGenModel(EPackage model) { - GenModel genModel = new DummyGenModel(model, null).create(); - genModel.getForeignModel().add(model.eResource().getURI().toString()); - genModel.getUsedGenPackages().add(getDiagramRunTimeGenPackage()); - - GenPackage genPackage = genModel.getGenPackages().get(0); - genPackage.setPrefix(model.getName() + "DRT"); - return genModel; - } - - private GenPackage getDiagramRunTimeGenPackage() { - RuntimeGenModelAccess runtimeAccess = new RuntimeGenModelAccess(); - runtimeAccess.ensure(); - return runtimeAccess.genPackage(); - } -}
\ No newline at end of file |