[EMFStore] Composite operations [message #1456970] |
Thu, 30 October 2014 18:41  |
Eclipse User |
|
|
|
Is there any documents or links showing how we can use composite operation concept? We have a UI action where we clone a whole set of about 16K objects, right now about 30K operation is recorded for this command. Could you please explain how I can use the composite operation for such usecase? I couldn't find any documents online.
|
|
|
|
|
Re: [EMFStore] Composite operations [message #1463406 is a reply to message #1457817] |
Thu, 06 November 2014 09:34   |
Eclipse User |
|
|
|
Hi Roza,
you could look at the source code in ProjectSpaceImpl:
http://download.eclipse.org/emfstore/releases_14/javadoc/org/eclipse/emf/emfstore/internal/client/model/impl/ProjectSpaceBase.html#beginCompositeOperation()
It is used to start composite operations, that atomically wrap several
other operations (changes). It returns a Handle object to be able to
close or abort the composite operation.
Cheers,
Maximilian
Am 31.10.2014 19:48, schrieb Roza Ghamari:
>
> Hi Maximilian
>
> I believe the first time I heard it from you, but I also did some google
> search and I saw some posts. Unfortunately, I didn't get enough to be
> able to understand how to exactly use it.
>
> For our case, we have some operations that includes many changes.
> However, we want to wrap all these changes in one operation, to save
> time in commit/update/merge and to make sure the operation is atomic.
> Can you give us some pointer on how we can find more info about this
> feature?
> Thanks,
> Roza
>
--
Maximilian Kögel
Get Professional Eclipse Support: http://eclipsesource.com/munich
|
|
|
|
Re: [EMFStore] Composite operations [message #1481919 is a reply to message #1477702] |
Fri, 21 November 2014 05:26  |
Eclipse User |
|
|
|
Hi,
as you point out correctly, Composite Operations only group all basic
operations into one operation which is handled atomically during
conflict detection and merge. This is the intended functionality.
To create one single operation just by creating a composite operation is
conceptually not possible. You need to store the information about the
fine-grained changes somewhere. However it is often possible to reduce
the number of operations in a composite (e.g. by normalizing or by
regrouping your changes). However this is not a feature that is publicly
available.
Cheers,
Maximilian
Am 18.11.2014 04:59, schrieb Roza Ghamari:
> Hi Maximilian,
>
> I tried using the beginCompositeOpetration and I see that there is a handle and it basically groups all my operations under one operation. But what I would like to see is to avoid all those suboperations to be stored as separate objects in the change package and have one operation object for all of them. Because in our clone operation we have about 16k operations (including creating new objects setting references and attributes) the change package is very heavy. As a result it effects memory consumption and performance for most of the operations.
>
> Do you know how I can wrap these basic set/create/add operations in one single operation? I tried using IUndoableOperation and EMFCompositeOperation but didn't have any success, every time I see all the changes stored separately as one operation. I attached the screen shot of history browser that shows the composite operation and all the operations under it.
>
>
> Thanks,
> Roza
>
--
Maximilian Kögel
Get professional Eclipse developer support:
http://eclipsesource.com/en/services/developer-support/
|
|
|
Powered by
FUDForum. Page generated in 1.04446 seconds