This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 255425 - Add a transactional way to update projects
Summary: Add a transactional way to update projects
Status: CLOSED WONTFIX
Alias: None
Product: e4
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-14 20:53 EST by Terry Parker CLA
Modified: 2019-09-04 03:12 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Terry Parker CLA 2008-11-14 20:53:46 EST
Build ID: I20080617-2000

Steps To Reproduce:

1) Write a plugin that adds multiple natures to an IProject (for example, calling CCorePlugin.getDefault().createCDTProject() followed by PythonNature.addNature() followed by JavaCore.create(IProject).setRawClasspath()

2) Create a new project with the plugin

Expected result: The project gets updated in an orderly fashion

Actual result: Synchronization issues cause lots of headaches.  Multiple change notfications are generated during what should be a transactional update.

More information:
There are two possible solutions to this problem:

1) Make the IProjectDescriptor, which does have transactional get/set calls, extensible, and update all of the language support to implement their additions solely off of the IProjectDescriptor.

2) Create an IProjectWorkingCopy (in the model of the ILaunchConfigurationWorkingCopy) that can record all changes to the project but not commit them until ILaunchConfigurationWorkingCopy.save() is called.
Comment 1 Martin Oberhuber CLA 2008-11-25 11:19:05 EST
Maybe related to Faceted Project Framework, did you check if they do transactions?
http://www.eclipse.org/proposals/fproj/
Comment 2 Lars Vogel CLA 2019-09-04 03:12:24 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it and remove the stalebug whiteboard tag. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--