Community
Participate
Working Groups
Build Identifier: Right click on an Entity artifact in a class diagram and select Show Properties View > Select Advanced > Under name field, modify the name and press enter. Notice that the name is not modified. The following ConcurrentModificationException is thrown: Daemon Thread [Thread-0] (Suspended (exception java.util.ConcurrentModificationException)) java.util.AbstractList$Itr.checkForComodification() line: 372 [local variables unavailable] java.util.AbstractList$Itr.next() line: 343 org.eclipse.tigerstripe.workbench.internal.api.impl.updater.request.ArtifactRenameRequest.updateReferences(org.eclipse.tigerstripe.workbench.model.deprecated_.IArtifactManagerSession, org.eclipse.tigerstripe.workbench.model.deprecated_.IAbstractArtifact, java.lang.String) line: 210 org.eclipse.tigerstripe.workbench.internal.api.impl.updater.request.ArtifactRenameRequest.execute(org.eclipse.tigerstripe.workbench.model.deprecated_.IArtifactManagerSession) line: 128 org.eclipse.tigerstripe.workbench.internal.api.impl.updater.ModelUpdaterImpl.handleChangeRequest(org.eclipse.tigerstripe.workbench.internal.api.model.artifacts.updater.IModelChangeRequest) line: 45 org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.ManagedEntityETAdapter(org.eclipse.tigerstripe.workbench.emf.adaptation.etadapter.BaseETAdapter).postChangeRequest(org.eclipse.tigerstripe.workbench.internal.api.model.artifacts.updater.IModelChangeRequest) line: 81 org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.ManagedEntityETAdapter(org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.QualifiedNamedElementETAdapter).handleSetName(java.lang.String, java.lang.String, org.eclipse.tigerstripe.workbench.ui.visualeditor.QualifiedNamedElement) line: 222 org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.ManagedEntityETAdapter(org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.QualifiedNamedElementETAdapter).handleSetNotification(org.eclipse.emf.common.notify.Notification) line: 104 org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.ManagedEntityETAdapter(org.eclipse.tigerstripe.workbench.ui.visualeditor.adaptation.clazz.sync.etadapter.QualifiedNamedElementETAdapter).notifyChanged(org.eclipse.emf.common.notify.Notification) line: 65 org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.ManagedEntityArtifactImpl(org.eclipse.emf.common.notify.impl.BasicNotifierImpl).eNotify(org.eclipse.emf.common.notify.Notification) line: 280 org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.ManagedEntityArtifactImpl(org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.NamedElementImpl).setName(java.lang.String) line: 304 org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.ManagedEntityArtifactImpl(org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.QualifiedNamedElementImpl).eSet(int, java.lang.Object) line: 241 org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.ManagedEntityArtifactImpl(org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.AbstractArtifactImpl).eSet(int, java.lang.Object) line: 321 org.eclipse.tigerstripe.workbench.ui.visualeditor.impl.ManagedEntityArtifactImpl(org.eclipse.emf.ecore.impl.BasicEObjectImpl).eSet(org.eclipse.emf.ecore.EStructuralFeature, java.lang.Object) line: 1073 org.eclipse.emf.edit.command.SetCommand.doExecute() line: 721 org.eclipse.emf.edit.command.SetCommand(org.eclipse.emf.edit.command.AbstractOverrideableCommand).execute() line: 131 org.eclipse.emf.workspace.EMFCommandOperation.doExecute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 119 org.eclipse.emf.workspace.EMFCommandOperation(org.eclipse.emf.workspace.AbstractEMFOperation).execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 150 org.eclipse.core.commands.operations.DefaultOperationHistory.execute(org.eclipse.core.commands.operations.IUndoableOperation, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 511 org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(org.eclipse.emf.common.command.Command, java.util.Map<?,?>) line: 208 org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl(org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack).execute(org.eclipse.emf.common.command.Command, java.util.Map<?,?>) line: 165 org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl(org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack).execute(org.eclipse.emf.common.command.Command) line: 219 org.eclipse.emf.edit.provider.ItemPropertyDescriptor.setPropertyValue(java.lang.Object, java.lang.Object) line: 1441 org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor.setPropertyValue(java.lang.Object) line: 464 org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource.setPropertyValue(java.lang.Object, java.lang.Object) line: 233 org.eclipse.gmf.runtime.diagram.ui.properties.descriptors.NotationPropertySource(org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositePropertySource).setPropertyValue(java.lang.Object, java.lang.Object) line: 235 org.eclipse.gmf.runtime.emf.ui.properties.commands.SetModelPropertyValueCommand.doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 104 org.eclipse.gmf.runtime.emf.ui.properties.commands.SetModelPropertyValueCommand(org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand).doExecute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 247 org.eclipse.gmf.runtime.emf.ui.properties.commands.SetModelPropertyValueCommand(org.eclipse.emf.workspace.AbstractEMFOperation).execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 150 org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand(org.eclipse.emf.workspace.CompositeEMFOperation).doExecute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 217 org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand(org.eclipse.emf.workspace.AbstractEMFOperation).execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 150 org.eclipse.core.commands.operations.TriggeredOperations.execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 165 org.eclipse.core.commands.operations.DefaultOperationHistory.execute(org.eclipse.core.commands.operations.IUndoableOperation, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) line: 511 org.eclipse.gmf.runtime.emf.ui.properties.sections.UndoableModelPropertySheetEntry.valueChanged(org.eclipse.gmf.runtime.emf.ui.properties.sections.UndoableModelPropertySheetEntry, org.eclipse.gmf.runtime.common.core.command.ICommand) line: 244 org.eclipse.gmf.runtime.emf.ui.properties.sections.UndoableModelPropertySheetEntry.setValue(java.lang.Object) line: 199 org.eclipse.gmf.runtime.emf.ui.properties.sections.UndoableModelPropertySheetEntry.applyEditorValue() line: 127 org.eclipse.jface.viewers.CellEditor$1.run() line: 333 org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) line: 42 org.eclipse.core.runtime.Platform.run(org.eclipse.core.runtime.ISafeRunnable) line: 888 org.eclipse.ui.internal.JFaceUtil$1.run(org.eclipse.core.runtime.ISafeRunnable) line: 48 org.eclipse.jface.util.SafeRunnable.run(org.eclipse.core.runtime.ISafeRunnable) line: 175 org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor$3(org.eclipse.jface.viewers.CellEditor).fireApplyEditorValue() line: 331 org.eclipse.gmf.runtime.emf.ui.properties.descriptors.EMFCompositeSourcePropertyDescriptor$3(org.eclipse.jface.viewers.TextCellEditor).handleDefaultSelection(org.eclipse.swt.events.SelectionEvent) line: 295 org.eclipse.jface.viewers.TextCellEditor$1.widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) line: 148 org.eclipse.swt.widgets.TypedListener.handleEvent(org.eclipse.swt.widgets.Event) line: 113 org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) line: 84 org.eclipse.swt.widgets.Display.sendEvent(org.eclipse.swt.widgets.EventTable, org.eclipse.swt.widgets.Event) line: 3543 org.eclipse.swt.widgets.Text(org.eclipse.swt.widgets.Widget).sendEvent(org.eclipse.swt.widgets.Event) line: 1250 org.eclipse.swt.widgets.Text(org.eclipse.swt.widgets.Widget).sendEvent(int, org.eclipse.swt.widgets.Event, boolean) line: 1273 org.eclipse.swt.widgets.Text(org.eclipse.swt.widgets.Widget).sendEvent(int, org.eclipse.swt.widgets.Event) line: 1258 org.eclipse.swt.widgets.Text(org.eclipse.swt.widgets.Widget).notifyListeners(int, org.eclipse.swt.widgets.Event) line: 1079 org.eclipse.swt.widgets.Display.runDeferredEvents() line: 3441 org.eclipse.swt.widgets.Display.readAndDispatch() line: 3100 org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) line: 2405 org.eclipse.ui.internal.Workbench.runUI() line: 2369 org.eclipse.ui.internal.Workbench.access$4(org.eclipse.ui.internal.Workbench) line: 2221 org.eclipse.ui.internal.Workbench$5.run() line: 500 org.eclipse.core.databinding.observable.Realm.runWithDefault(org.eclipse.core.databinding.observable.Realm, java.lang.Runnable) line: 332 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 493 org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) line: 149 org.eclipse.ui.internal.ide.application.IDEApplication.start(org.eclipse.equinox.app.IApplicationContext) line: 113 org.eclipse.equinox.internal.app.EclipseAppHandle.run(java.lang.Object) line: 194 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) line: 110 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) line: 79 org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) line: 368 org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) line: 179 sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 597 org.eclipse.equinox.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) line: 559 org.eclipse.equinox.launcher.Main.basicRun(java.lang.String[]) line: 514 org.eclipse.equinox.launcher.Main.run(java.lang.String[]) line: 1311 org.eclipse.equinox.launcher.Main.main(java.lang.String[]) line: 1287 Reproducible: Always
All renames need to go through the Refactoring framework
(In reply to comment #1) > All renames need to go through the Refactoring framework In that case, we need to disable this functionality from Properties view. It's obviously incorrect to throw an exception when user does this and I assume most "Eclipse users" will, since EMF and other Eclipse projects support modification of model objects thorough Properties view.
This may be a duplicate of the other bug on "renaming associations". To be verified.
THIS MUST USE THE REFACTOR FRAMEWORK! :-)
Created attachment 176997 [details] Patch This patch disables editing of properties for Entities in Property view. The view can still be used to view properties, but the user has to go through the expected route (e.g. refactor framework) to modify properties of the model. Modified files: AbstractArtifactItemProvider QualifiedNamedElementItemProvider NamedElementItemProvider
Created attachment 177003 [details] Patch#2 This patch also makes the changes for instance diagrams. Modified files: InstanceItemProvider NamedElementItemProvider AbstractArtifactItemProvider NamedElementItemProvider QualifiedNamedElementItemProvider
Submitted patch.