Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java192
1 files changed, 0 insertions, 192 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java b/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java
deleted file mode 100644
index 1ab0df8df4..0000000000
--- a/plugins/org.eclipse.emf.cdo.dawn.codegen/src/org/eclipse/emf/cdo/dawn/codegen/actions/GenerateDawnGenModelAction.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 2010-2012, 2015, 2016 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.codegen.actions;
-
-import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator;
-import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnGenerator;
-import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawngenmodelFactory;
-import org.eclipse.emf.cdo.dawn.codegen.util.ProjectCreationHelper;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
-
-/**
- * @author Martin Fluegge
- */
-public abstract class GenerateDawnGenModelAction implements IObjectActionDelegate
-{
- /**
- * @since 1.0
- */
- protected IResource selectedElement;
-
- public final static String dawngenmodelFileExtension = "dawngenmodel";
-
- /**
- * @since 1.0
- */
- protected final String generalPrefix = "Dawn";
-
- public void setActivePart(IAction action, IWorkbenchPart targetPart)
- {
- }
-
- public void run(IAction action)
- {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- try
- {
- window.run(true, true, new IRunnableWithProgress()
- {
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
- {
- monitor.beginTask("Generate Dawn Code", 1000);
- IFile genFile = (IFile)selectedElement;
-
- String genModelFile = genFile.getRawLocationURI().toString();
- String path = genModelFile.replace(genFile.getName(), "");
-
- ResourceSet resourceSet = createResourceSet();
- String modelname = "default";
- modelname = getModelName(genFile);
-
- Resource dawnGenModelResource = getResource(path, modelname, resourceSet, dawngenmodelFileExtension);
- Resource dawnFragmentModelResource = getDawnFragmentModelResource(path, modelname, resourceSet);
-
- DawnGenerator dawnGenerator = getDawngenerator(dawnGenModelResource);
-
- DawnFragmentGenerator fragmentGenerator = getDawnFragmentGenerator(genFile, resourceSet);
- fragmentGenerator.setDawnGenerator(dawnGenerator);
-
- dawnGenModelResource.getContents().add(dawnGenerator);
- dawnFragmentModelResource.getContents().add(fragmentGenerator);
-
- try
- {
- dawnGenModelResource.save(Collections.EMPTY_MAP);
- dawnFragmentModelResource.save(Collections.EMPTY_MAP);
- }
- catch (IOException ex)
- {
- throw new RuntimeException(ex);
- }
-
- ProjectCreationHelper.refreshProject(null, monitor);
- }
-
- private DawnGenerator getDawngenerator(Resource dawnGenModelResource)
- {
- DawnGenerator dawnGenerator;
-
- if (dawnGenModelResource.getContents().size() != 0)
- {
- dawnGenerator = (DawnGenerator)dawnGenModelResource.getContents().get(0);
- }
- else
- {
- dawnGenerator = DawngenmodelFactory.eINSTANCE.createDawnGenerator();
- }
- return dawnGenerator;
- }
-
- });
- }
- catch (InvocationTargetException ex)
- {
- throw new RuntimeException(ex);
- }
- catch (InterruptedException ex)
- {
- throw new RuntimeException(ex);
- }
- }
-
- /**
- * @since 1.0
- */
- protected abstract Resource getDawnFragmentModelResource(String path, String modelname, ResourceSet resourceSet);
-
- /**
- * @since 1.0
- */
- protected abstract DawnFragmentGenerator getDawnFragmentGenerator(IFile genFile, ResourceSet resourceSet);
-
- private String getModelName(IFile genFile)
- {
- int lastIndexOf = genFile.getName().lastIndexOf(".");
- return genFile.getName().substring(0, lastIndexOf);
- }
-
- /**
- * @since 1.0
- */
- protected Resource getResource(String path, String modelname, ResourceSet resourceSet, String extension)
- {
- String resourcePath = path + "" + modelname + "." + extension;
- URI uri = URI.createURI(resourcePath);
- Resource resource = null;
- try
- {
- resource = resourceSet.getResource(uri, true);
- }
- catch (Exception ignore)
- {
- // ignore
- }
-
- if (resource == null)
- {
- resource = resourceSet.createResource(uri);
- }
- return resource;
- }
-
- /**
- * @since 1.0
- */
- protected ResourceSet createResourceSet()
- {
- ResourceSet resourceSet = new ResourceSetImpl();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(dawngenmodelFileExtension, new XMIResourceFactoryImpl());
- return resourceSet;
- }
-
- public void selectionChanged(IAction action, ISelection selection)
- {
- if (selection instanceof IStructuredSelection)
- {
- Object sel = ((IStructuredSelection)selection).getFirstElement();
- if (sel instanceof IResource)
- {
- selectedElement = (IResource)sel;
- }
- }
- }
-}

Back to the top