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

Separate change propagation from VirtualModel #501

Merged
merged 44 commits into from
Mar 28, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
bc30ddf
Decouple transitive change propagation determination from domains
HeikoKlare Feb 28, 2022
1c2f4c2
Improve naming of methods for domain retrieval from repository
HeikoKlare Feb 28, 2022
46d4ff2
Make VitruviusChange provide the affected EObjects' metamodel ns URIs
HeikoKlare Feb 28, 2022
32be968
Add functionality to retrieve change propagation specification by NS URI
HeikoKlare Feb 28, 2022
6e1eafb
Make change propagator independent from Vitruv domains
HeikoKlare Feb 28, 2022
028cf4d
Separate model repository required by ChangePropagator from VirtualModel
HeikoKlare Mar 1, 2022
6418798
Refactor ChangePropagator and separate it from VirtualModel
HeikoKlare Mar 1, 2022
51f5048
Make transformations register their metamodels explicitly
HeikoKlare Mar 1, 2022
45b8400
Make change recording independent from Vitruv domains
HeikoKlare Mar 1, 2022
2e60046
Remove necessity of Commonalities tests to register metamodels
HeikoKlare Mar 1, 2022
8687ba8
Make change propagation specifications use NS URIs instead of domains
HeikoKlare Mar 1, 2022
b932756
Fix indentation
HeikoKlare Mar 7, 2022
e70d313
Provide functionality for retrieving domain for NS URI
HeikoKlare Mar 8, 2022
4729579
Simplify domain retrieval for namespace URI
HeikoKlare Mar 10, 2022
1fa68a9
Improve formatting and documentation
HeikoKlare Mar 10, 2022
a54cf9d
Simplify domain retrieval in application tests
HeikoKlare Mar 10, 2022
39a8227
Directly gather namespace URIs of affected packages
HeikoKlare Mar 11, 2022
e0a6192
Add documentation for ChangeInPropagation
HeikoKlare Mar 11, 2022
26ad9c3
Add documentation for ChangePropagationSpecification
HeikoKlare Mar 11, 2022
299e539
fixed typo in documentation
Mar 11, 2022
94d7262
Merge branch 'master' into vsumm-independent-change-propagation
HeikoKlare Mar 18, 2022
e4dbec3
Adapt Commonalities change propagation specification generation to URIs
HeikoKlare Mar 21, 2022
f608453
Merge branch 'master' into vsumm-independent-change-propagation
HeikoKlare Mar 21, 2022
fc936ef
Remove faulty subnamespace URIs in generate Reactions artifacts
HeikoKlare Mar 21, 2022
c90494a
Remove obsolete feature for metamodel initialization in Reactions
HeikoKlare Mar 21, 2022
bd79896
Merge branch 'master' into vsumm-independent-change-propagation
HeikoKlare Mar 21, 2022
87a82c8
Remove obsolete combined change propagation specification
HeikoKlare Mar 23, 2022
261b0ef
Encapsulate namespace URIs for change propagation in explicit metamodel
HeikoKlare Mar 23, 2022
e879f4b
Remove obsolete feature in genmodel
HeikoKlare Mar 23, 2022
4fad0ef
Fix equals comparison in Metamodel class
HeikoKlare Mar 23, 2022
85f03da
Improve initialization of metamodel
HeikoKlare Mar 23, 2022
4b44b39
Make metamodel class final
HeikoKlare Mar 23, 2022
2ddb582
Move metamodel class to change plugin
HeikoKlare Mar 23, 2022
30da620
Make VitruviusChange provide metamodel of affected objects
HeikoKlare Mar 23, 2022
3c99ad0
Correct finding relevant change propagation specifications for metamodel
HeikoKlare Mar 25, 2022
a93a5e5
Rename Metamodel to MetamodelDescriptor
HeikoKlare Mar 25, 2022
9a0e61e
Correct capitalization of URI
HeikoKlare Mar 25, 2022
d186f81
Explicitly generate unique metamodel descriptor for TransactionalChange
HeikoKlare Mar 25, 2022
5478d5b
Improve documentation of changes
HeikoKlare Mar 28, 2022
e767053
Correct documentation
HeikoKlare Mar 28, 2022
91cdb9d
Fix faulty overriden method in CompositeChange
HeikoKlare Mar 28, 2022
35e4b24
Improve documentation
HeikoKlare Mar 28, 2022
853f024
Fix typo in documentation
HeikoKlare Mar 28, 2022
18fdc73
fixed documentation
Mar 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,25 @@ package tools.vitruv.framework.change.description

import java.util.List
import tools.vitruv.framework.change.description.VitruviusChange
import tools.vitruv.framework.change.MetamodelDescriptor
import java.util.Set

interface CompositeChange<C extends VitruviusChange> extends VitruviusChange {
/**
* Returns the metamodel descriptors for the for the metamodels of the elements whose instances
JanWittler marked this conversation as resolved.
Show resolved Hide resolved
* have been modified in this change. It collects the metamodel descriptors for all composed
* changes (according to {@link #getChanges}).
*
* @return the metamodel descriptors of the composed changes
*/
def Set<MetamodelDescriptor> getAffectedEObjectsMetamodelDescriptor()

/**
* Returns the changes this one is composed of.
*
* @return the composed changes
*/
def List<C> getChanges()

override CompositeChange<C> copy()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import java.util.Set
*/
interface TransactionalChange extends VitruviusChange {
/**
* Returns the unique metamodel descriptor for the for the metamodels of the elements whose instances
* Returns the unique metamodel descriptor for the metamodels of the elements whose instances
* have been modified in this change.
*
* @see VitruviusChange#getAffectedEObjectsMetamodelDescriptors
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ interface VitruviusChange {

/**
* Returns the descriptors for the metamodels of the elements whose instances have been modified in this change.
* These elements are the {@link EObject}s returned by {@link getAffectedEObjects}. One {@link MetamodelDescriptor}
* is returned for each contained {@link TransactionalChange}.
* These elements are the {@link EObject}s returned by {@link getAffectedEObjects}.
*/
def Set<MetamodelDescriptor> getAffectedEObjectsMetamodelDescriptors()

Expand Down