Search in sources :

Example 1 with Root

use of org.obeonetwork.dsl.overview.Root in project InformationSystem by ObeoNetwork.

the class OverviewModelWizard method performFinish.

/**
 * Do the work after everything is specified.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
@Override
public boolean performFinish() {
    try {
        // Remember the file.
        // 
        final IFile modelFile = getModelFile();
        // Do the work within an operation.
        // 
        WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {

            @Override
            protected void execute(IProgressMonitor progressMonitor) {
                try {
                    // Create a resource set
                    // 
                    ResourceSet resourceSet = new ResourceSetImpl();
                    // Get the URI of the model file.
                    // 
                    URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
                    // Create a resource for this file.
                    // 
                    Resource resource = resourceSet.createResource(fileURI);
                    // Add the initial model object to the contents.
                    // 
                    Root rootObject = createInitialModel();
                    if (rootObject != null) {
                        resource.getContents().add(rootObject);
                        overviewModelDef.initModel(rootObject);
                    }
                    // Save the contents of the resource to the file system.
                    // 
                    Map<Object, Object> options = new HashMap<Object, Object>();
                    options.put(XMLResource.OPTION_ENCODING, "UTF-8");
                    resource.save(options);
                } catch (Exception exception) {
                    OverviewEditorPlugin.INSTANCE.log(exception);
                } finally {
                    progressMonitor.done();
                }
            }
        };
        getContainer().run(false, false, operation);
        // Select the new file resource in the current view.
        // 
        IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
        IWorkbenchPage page = workbenchWindow.getActivePage();
        final IWorkbenchPart activePart = page.getActivePart();
        if (activePart instanceof ISetSelectionTarget) {
            final ISelection targetSelection = new StructuredSelection(modelFile);
            getShell().getDisplay().asyncExec(new Runnable() {

                public void run() {
                    ((ISetSelectionTarget) activePart).selectReveal(targetSelection);
                }
            });
        }
        // Open an editor on the new file.
        overviewModelDef.openEditor(modelFile);
        return true;
    } catch (Exception exception) {
        OverviewEditorPlugin.INSTANCE.log(exception);
        return true;
    }
}
Also used : IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) IFile(org.eclipse.core.resources.IFile) ResourceSetImpl(org.eclipse.emf.ecore.resource.impl.ResourceSetImpl) Root(org.obeonetwork.dsl.overview.Root) HashMap(java.util.HashMap) WorkspaceModifyOperation(org.eclipse.ui.actions.WorkspaceModifyOperation) Resource(org.eclipse.emf.ecore.resource.Resource) XMLResource(org.eclipse.emf.ecore.xmi.XMLResource) IResource(org.eclipse.core.resources.IResource) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) ResourceSet(org.eclipse.emf.ecore.resource.ResourceSet) URI(org.eclipse.emf.common.util.URI) MissingResourceException(java.util.MissingResourceException) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) ISelection(org.eclipse.jface.viewers.ISelection) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) ISetSelectionTarget(org.eclipse.ui.part.ISetSelectionTarget)

Example 2 with Root

use of org.obeonetwork.dsl.overview.Root in project InformationSystem by ObeoNetwork.

the class RootItemProvider method collectNewChildDescriptors.

/**
 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
 * describing the children that can be created under this object. <!--
 * begin-user-doc --> <!-- end-user-doc -->
 *
 * @generated NOT
 */
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
    if (object instanceof Root) {
        Root root = (Root) object;
        Collection<OverviewModelDef> overviewModelDefs = OverviewModelDefRegistry.getOverviewModelDefs();
        if (overviewModelDefs != null) {
            for (OverviewModelDef overviewModelDef : overviewModelDefs) {
                if (overviewModelDef.isApplicable(root)) {
                    Collection<?> childDescriptors = overviewModelDef.getNewChildDescriptors(root);
                    if (childDescriptors != null) {
                        newChildDescriptors.addAll(childDescriptors);
                    }
                }
            }
        }
    }
}
Also used : Root(org.obeonetwork.dsl.overview.Root) OverviewModelDef(org.obeonetwork.dsl.overview.OverviewModelDef)

Example 3 with Root

use of org.obeonetwork.dsl.overview.Root in project InformationSystem by ObeoNetwork.

the class OverviewModelWizard method createInitialModel.

/**
 * Create a new model.
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
protected Root createInitialModel() {
    Root newRoot = overviewFactory.createRoot();
    newRoot.setCreatedOn(new Date());
    return newRoot;
}
Also used : Root(org.obeonetwork.dsl.overview.Root) Date(java.util.Date)

Aggregations

Root (org.obeonetwork.dsl.overview.Root)3 Date (java.util.Date)1 HashMap (java.util.HashMap)1 MissingResourceException (java.util.MissingResourceException)1 IFile (org.eclipse.core.resources.IFile)1 IResource (org.eclipse.core.resources.IResource)1 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)1 URI (org.eclipse.emf.common.util.URI)1 Resource (org.eclipse.emf.ecore.resource.Resource)1 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)1 ResourceSetImpl (org.eclipse.emf.ecore.resource.impl.ResourceSetImpl)1 XMLResource (org.eclipse.emf.ecore.xmi.XMLResource)1 ISelection (org.eclipse.jface.viewers.ISelection)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)1 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)1 IWorkbenchPart (org.eclipse.ui.IWorkbenchPart)1 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)1 WorkspaceModifyOperation (org.eclipse.ui.actions.WorkspaceModifyOperation)1 ISetSelectionTarget (org.eclipse.ui.part.ISetSelectionTarget)1