Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce the coupling of the collaborative support #241

Closed
sbegaudeau opened this issue Jan 8, 2021 · 1 comment
Closed

Reduce the coupling of the collaborative support #241

sbegaudeau opened this issue Jan 8, 2021 · 1 comment

Comments

@sbegaudeau
Copy link
Member

The collaborative support is tightly coupled to some of our business concepts such as IProjectService or even our persistence layer.

@sbegaudeau sbegaudeau self-assigned this Jan 8, 2021
sbegaudeau added a commit that referenced this issue Jan 8, 2021
sbegaudeau added a commit that referenced this issue Jan 13, 2021
sbegaudeau added a commit that referenced this issue Jan 13, 2021
sbegaudeau added a commit that referenced this issue Jan 13, 2021
sbegaudeau added a commit that referenced this issue Jan 13, 2021
sbegaudeau added a commit that referenced this issue Jan 13, 2021
The concept Context has been removed since it was used twice while still being
given to more than 70 classes uselessly. It has been replaced with a regular
call to the Spring SecurityContextHolder.

This way, the collaborative parts is way less coupled to the services API.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 13, 2021
sbegaudeau added a commit that referenced this issue Jan 13, 2021
The coupling of the Sirius Web Collaborative API has now been greatly reduced
but some improvements will now be made in the Sirius Web Collaborative project

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 15, 2021
…scription

The hook useProject is now completely useless now since it only perform a
regular fetch of the project. Since all pages do not require the same level
of information, it can be replaced by a dedicated fetch where it is required.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 15, 2021
The ProjectEventProcessor and its registry have been made independent of Project.
It has also been renamed to EditingContextEventProcessor along with its registry.
Those concepts do not rely on a projectId but an editingContextId instead even if
in practice this variable still contain the value of projectId for now.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 15, 2021
The method is now only available on the EMF specific implementation since it was
not useful to have such contraint on other implementations

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 15, 2021
The input is now located next to its payload

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 15, 2021
sbegaudeau added a commit that referenced this issue Jan 15, 2021
sbegaudeau added a commit that referenced this issue Jan 18, 2021
sbegaudeau added a commit that referenced this issue Jan 18, 2021
sbegaudeau added a commit that referenced this issue Jan 18, 2021
sbegaudeau added a commit that referenced this issue Jan 18, 2021
The concept Context has been removed since it was used twice while still being
given to more than 70 classes uselessly. It has been replaced with a regular
call to the Spring SecurityContextHolder.

This way, the collaborative parts is way less coupled to the services API.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 18, 2021
sbegaudeau added a commit that referenced this issue Jan 18, 2021
The coupling of the Sirius Web Collaborative API has now been greatly reduced
but some improvements will now be made in the Sirius Web Collaborative project

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 18, 2021
…scription

The hook useProject is now completely useless now since it only perform a
regular fetch of the project. Since all pages do not require the same level
of information, it can be replaced by a dedicated fetch where it is required.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 18, 2021
The ProjectEventProcessor and its registry have been made independent of Project.
It has also been renamed to EditingContextEventProcessor along with its registry.
Those concepts do not rely on a projectId but an editingContextId instead even if
in practice this variable still contain the value of projectId for now.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 18, 2021
The method is now only available on the EMF specific implementation since it was
not useful to have such contraint on other implementations

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 18, 2021
The input is now located next to its payload

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 18, 2021
sbegaudeau added a commit that referenced this issue Jan 18, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The concept Context has been removed since it was used twice while still being
given to more than 70 classes uselessly. It has been replaced with a regular
call to the Spring SecurityContextHolder.

This way, the collaborative parts is way less coupled to the services API.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The coupling of the Sirius Web Collaborative API has now been greatly reduced
but some improvements will now be made in the Sirius Web Collaborative project

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
…scription

The hook useProject is now completely useless now since it only perform a
regular fetch of the project. Since all pages do not require the same level
of information, it can be replaced by a dedicated fetch where it is required.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The ProjectEventProcessor and its registry have been made independent of Project.
It has also been renamed to EditingContextEventProcessor along with its registry.
Those concepts do not rely on a projectId but an editingContextId instead even if
in practice this variable still contain the value of projectId for now.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The method is now only available on the EMF specific implementation since it was
not useful to have such contraint on other implementations

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The input is now located next to its payload

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The concept Context has been removed since it was used twice while still being
given to more than 70 classes uselessly. It has been replaced with a regular
call to the Spring SecurityContextHolder.

This way, the collaborative parts is way less coupled to the services API.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The coupling of the Sirius Web Collaborative API has now been greatly reduced
but some improvements will now be made in the Sirius Web Collaborative project

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
…scription

The hook useProject is now completely useless now since it only perform a
regular fetch of the project. Since all pages do not require the same level
of information, it can be replaced by a dedicated fetch where it is required.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The ProjectEventProcessor and its registry have been made independent of Project.
It has also been renamed to EditingContextEventProcessor along with its registry.
Those concepts do not rely on a projectId but an editingContextId instead even if
in practice this variable still contain the value of projectId for now.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The method is now only available on the EMF specific implementation since it was
not useful to have such contraint on other implementations

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
The input is now located next to its payload

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Jan 19, 2021
sbegaudeau added a commit that referenced this issue Feb 1, 2021
sbegaudeau added a commit that referenced this issue Feb 1, 2021
… part

Sirius Web Spring Collaborative Diagrams does not need to depend on the Sirius Web
Services API anymore thanks to the introduction of two new projects:

- sirius-web-diagrams-services-api
- sirius-web-diagrams-services

These two new projects are used to allow someone else to use a different persistence
strategy for the diagrams. It will need to be refined but this solution allows us to
isolate our dependency to the IRepresentationRepository.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
@sbegaudeau
Copy link
Member Author

Closing this issue since it cannot go on forever :)

sbegaudeau added a commit that referenced this issue Feb 3, 2021
sbegaudeau added a commit that referenced this issue Feb 3, 2021
… part

Sirius Web Spring Collaborative Diagrams does not need to depend on the Sirius Web
Services API anymore thanks to the introduction of two new projects:

- sirius-web-diagrams-services-api
- sirius-web-diagrams-services

These two new projects are used to allow someone else to use a different persistence
strategy for the diagrams. It will need to be refined but this solution allows us to
isolate our dependency to the IRepresentationRepository.

Bug: #241
Signed-off-by: Stéphane Bégaudeau <[email protected]>
@sbegaudeau sbegaudeau added this to the 0.2.0 milestone Feb 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant