Search in sources :

Example 11 with TransactionalEditingDomain

use of org.eclipse.emf.transaction.TransactionalEditingDomain in project tdi-studio-se by Talend.

the class BusinessDocumentProvider method saveDocumentToFile.

/**
     * @generated
     */
protected void saveDocumentToFile(IDocument document, IFile file, boolean overwrite, IProgressMonitor monitor) throws CoreException {
    Diagram diagram = (Diagram) document.getContent();
    Resource diagramResource = diagram.eResource();
    IDiagramDocument diagramDocument = (IDiagramDocument) document;
    TransactionalEditingDomain domain = diagramDocument.getEditingDomain();
    List resources = domain.getResourceSet().getResources();
    //$NON-NLS-1$
    monitor.beginTask("Saving diagram", resources.size() + 1);
    super.saveDocumentToFile(document, file, overwrite, new SubProgressMonitor(monitor, 1));
    for (Iterator it = resources.iterator(); it.hasNext(); ) {
        Resource nextResource = (Resource) it.next();
        //$NON-NLS-1$
        monitor.setTaskName("Saving " + nextResource.getURI());
        if (nextResource != diagramResource && nextResource.isLoaded()) {
            try {
                nextResource.save(Collections.EMPTY_MAP);
            } catch (IOException e) {
                BusinessDiagramEditorPlugin.getInstance().logError("Unable to save resource: " + nextResource.getURI(), //$NON-NLS-1$
                e);
            }
        }
        monitor.worked(1);
    }
    monitor.done();
}
Also used : TransactionalEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain) IResource(org.eclipse.core.resources.IResource) Resource(org.eclipse.emf.ecore.resource.Resource) IDiagramDocument(org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument) Iterator(java.util.Iterator) ArrayList(java.util.ArrayList) List(java.util.List) IOException(java.io.IOException) SubProgressMonitor(org.eclipse.core.runtime.SubProgressMonitor) Diagram(org.eclipse.gmf.runtime.notation.Diagram)

Example 12 with TransactionalEditingDomain

use of org.eclipse.emf.transaction.TransactionalEditingDomain in project tdi-studio-se by Talend.

the class BusinessStructuralFeatureParser method getParseCommand.

/**
     * @generated
     */
public ICommand getParseCommand(IAdaptable adapter, Object[] values) {
    EObject element = (EObject) adapter.getAdapter(EObject.class);
    if (element == null) {
        return UnexecutableCommand.INSTANCE;
    }
    TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(element);
    if (editingDomain == null) {
        return UnexecutableCommand.INSTANCE;
    }
    Object value = values.length == 1 ? values[0] : null;
    ICommand command = getModificationCommand(element, feature, value);
    return new CompositeTransactionalCommand(editingDomain, command.getLabel(), Collections.singletonList(command));
}
Also used : TransactionalEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain) CompositeTransactionalCommand(org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand) ICommand(org.eclipse.gmf.runtime.common.core.command.ICommand) EObject(org.eclipse.emf.ecore.EObject) EObject(org.eclipse.emf.ecore.EObject)

Example 13 with TransactionalEditingDomain

use of org.eclipse.emf.transaction.TransactionalEditingDomain in project tdi-studio-se by Talend.

the class BusinessStructuralFeaturesParser method getParseCommand.

/**
     * @generated
     */
public ICommand getParseCommand(IAdaptable adapter, Object[] values) {
    EObject element = (EObject) adapter.getAdapter(EObject.class);
    if (element == null) {
        return UnexecutableCommand.INSTANCE;
    }
    TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(element);
    if (editingDomain == null) {
        return UnexecutableCommand.INSTANCE;
    }
    //$NON-NLS-1$
    CompositeTransactionalCommand command = new CompositeTransactionalCommand(editingDomain, "Set Values");
    for (int i = 0; i < values.length; i++) {
        EStructuralFeature feature = (EStructuralFeature) features.get(i);
        command.compose(getModificationCommand(element, feature, values[i]));
    }
    return command;
}
Also used : TransactionalEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain) CompositeTransactionalCommand(org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand) EObject(org.eclipse.emf.ecore.EObject) EStructuralFeature(org.eclipse.emf.ecore.EStructuralFeature)

Example 14 with TransactionalEditingDomain

use of org.eclipse.emf.transaction.TransactionalEditingDomain in project Palladio-Editors-Sirius by PalladioSimulator.

the class OperationsEditorSection method createViewerCellEditors.

/* (non-Javadoc)
	 * @see org.palladiosimulator.editors.commons.tabs.generic.EditorSection#createViewerCellEditors(org.eclipse.swt.widgets.Table)
	 */
@Override
protected CellEditor[] createViewerCellEditors(Table table) {
    CellEditor[] editors = new CellEditor[columnNames.length];
    editors[SIGNATURENAME_COLUMN_INDEX] = new TextCellEditor(table);
    // create 'DeleteCellValueListener' and as SelectionListener to the 'TableVewer'
    OperationDeleteCellValueListener cellValueListener = new OperationDeleteCellValueListener(viewer);
    viewer.addSelectionChangedListener(cellValueListener);
    editors[RETURNTYPE_COLUMN_INDEX] = new TypeDialogCellEditor(table, cellValueListener) {

        /* (non-Javadoc)
			 * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(org.eclipse.swt.widgets.Control)
			 */
        @Override
        protected Object openDialogBox(Control cellEditorWindow) {
            TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(getSelectedSignature());
            ArrayList<Object> filterList = new ArrayList<Object>();
            filterList.add(DataType.class);
            filterList.add(Repository.class);
            ArrayList<EReference> additionalReferences = new ArrayList<EReference>();
            CallDataTypeDialog dialog = new CallDataTypeDialog(cellEditorWindow.getShell(), filterList, additionalReferences, editingDomain.getResourceSet());
            dialog.setProvidedService(DataType.class);
            dialog.open();
            if (!(dialog.getResult() instanceof DataType))
                return null;
            return dialog.getResult();
        }
    };
    editors[PARAMETER_COLUMN_INDEX] = new DialogCellEditor(table) {

        @Override
        protected Object openDialogBox(Control cellEditorWindow) {
            ParametersDialog dialog = new ParametersDialog(cellEditorWindow.getShell(), getSelectedSignature());
            if (dialog.open() == Dialog.OK)
                viewer.refresh();
            return null;
        }
    };
    return editors;
}
Also used : CellEditor(org.eclipse.jface.viewers.CellEditor) TypeDialogCellEditor(org.palladiosimulator.editors.commons.tabs.operations.TypeDialogCellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) DialogCellEditor(org.eclipse.jface.viewers.DialogCellEditor) ArrayList(java.util.ArrayList) TypeDialogCellEditor(org.palladiosimulator.editors.commons.tabs.operations.TypeDialogCellEditor) ParametersDialog(org.palladiosimulator.editors.commons.dialogs.parameters.ParametersDialog) CallDataTypeDialog(org.palladiosimulator.editors.commons.dialogs.datatype.CallDataTypeDialog) Control(org.eclipse.swt.widgets.Control) Repository(org.palladiosimulator.pcm.repository.Repository) TransactionalEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain) TypeDialogCellEditor(org.palladiosimulator.editors.commons.tabs.operations.TypeDialogCellEditor) DialogCellEditor(org.eclipse.jface.viewers.DialogCellEditor) DataType(org.palladiosimulator.pcm.repository.DataType) OperationDeleteCellValueListener(org.palladiosimulator.editors.commons.tabs.operations.OperationDeleteCellValueListener) EObject(org.eclipse.emf.ecore.EObject) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) EReference(org.eclipse.emf.ecore.EReference)

Example 15 with TransactionalEditingDomain

use of org.eclipse.emf.transaction.TransactionalEditingDomain in project Palladio-Editors-Sirius by PalladioSimulator.

the class NewModelWizard method createResource.

private void createResource(final Session session, final IProgressMonitor monitor) {
    final TransactionalEditingDomain domain = session.getTransactionalEditingDomain();
    final CreateModelCommand createModelCommand = new CreateModelCommand(domain, this.modelURI, this.modelObject);
    domain.getCommandStack().execute(createModelCommand);
    domain.getCommandStack().execute(new AddSemanticResourceCommand(session, this.modelObject.eResource().getURI(), SubMonitor.convert(monitor)));
}
Also used : TransactionalEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain) AddSemanticResourceCommand(org.eclipse.sirius.tools.api.command.semantic.AddSemanticResourceCommand)

Aggregations

TransactionalEditingDomain (org.eclipse.emf.transaction.TransactionalEditingDomain)17 EObject (org.eclipse.emf.ecore.EObject)7 ArrayList (java.util.ArrayList)5 Resource (org.eclipse.emf.ecore.resource.Resource)5 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)4 WrappedException (org.eclipse.emf.common.util.WrappedException)3 IGraphicalEditPart (org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart)3 CompositeTransactionalCommand (org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand)3 IOException (java.io.IOException)2 List (java.util.List)2 ExecutionException (org.eclipse.core.commands.ExecutionException)2 IFile (org.eclipse.core.resources.IFile)2 IAdaptable (org.eclipse.core.runtime.IAdaptable)2 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)2 SubProgressMonitor (org.eclipse.core.runtime.SubProgressMonitor)2 URI (org.eclipse.emf.common.util.URI)2 EReference (org.eclipse.emf.ecore.EReference)2 Command (org.eclipse.gef.commands.Command)2 UnexecutableCommand (org.eclipse.gef.commands.UnexecutableCommand)2 ICommand (org.eclipse.gmf.runtime.common.core.command.ICommand)2