Skip to content
Snippets Groups Projects
Commit a9be65ae authored by Johannes Eder's avatar Johannes Eder
Browse files

changed to migrated features as return type

parent c493f896
No related branches found
No related tags found
1 merge request!843865: tolerant model loader
......@@ -6,7 +6,7 @@ IEclipseResourceStorageLocationProvider.java 0ab7f304d52a9d86f01f66e308e9a7ca420
IElementCompositor.java 5b0ab1732f71b3f8467e0276c844f0dd549e191f GREEN
ILibraryElementHandler.java 00ef5b25c63b8570006e6f6748aed0da1f33a5f1 GREEN
ILogMessageHandler.java 9ab53e836a095ef00fd84ecc0375167edf593b46 GREEN
IMigrationProvider.java cbf0d03c7b89ecdba79a67ae60a547fe058dd5d8 YELLOW
IMigrationProvider.java c194c8aaaecc84c6e476231362f7c815592026fc YELLOW
IPrototypeProvider.java d5e3dbae19b5654caf28b81da6b1609d3c12be12 GREEN
IStorageProvider.java d9b14cdd254d0c956dc5715c1c4d4d955a705dd5 GREEN
ITransformationProvider.java a4ee2ea08720bb2fce29806062eb01499bb5071e GREEN
......
......@@ -49,7 +49,7 @@ public interface IMigrationProvider extends IObjectAware<ITopLevelElement> {
* in the model. This can be useful to detect features coming from old models and can be then
* translated to the new model by a migrator.
*
* @return all features which could not be migrated.
* @return all features which were migrated.
*/
Map<EObject, AnyType> migrate(ITopLevelElement modelElement,
Map<EObject, AnyType> unknownFeatures);
......
......@@ -7,7 +7,7 @@ ElementCompositorService.java 98c5d27e09881e60aa4f87c1ac0c7787cdec9f7c GREEN
LibraryPrototypeProvider.java b77eddbdca78f561ffb1233e98817be361c690ae GREEN
LibraryService.java d22671ba820466062852c15873698adf28960d94 GREEN
LoggingService.java da784259f7b456b54bf75c41ec268f64919ce78d GREEN
MigrationService.java f968fcb7de02f78e7d43c0654e958611296539d0 YELLOW
MigrationService.java b0f05859e33a85bc285a05056d5c16448a4cb4f0 YELLOW
PersistencyService.java 103eef642c038ef63fa49b743d803aaa3fea2724 GREEN
PrototypeService.java 18c3db05ab11f189a9711bf241c3c7f35c954a9e GREEN
ToolingKernelInternal.java d624a5f6b237ce993e150e2b8d1b4390e3fc8f7a GREEN
......
......@@ -119,26 +119,27 @@ public class MigrationService extends ObjectAwareServiceBase<IMigrationProvider>
@Override
public void run() {
Map<EObject, AnyType> featuresNotMigrated = new HashMap<EObject, AnyType>();
Map<EObject, AnyType> migratedFeatures = new HashMap<EObject, AnyType>();
for(IMigrationProvider provider : getProviders(input)) {
if(provider.needMigration(input, unknownFeatures)) {
featuresNotMigrated.putAll(provider.migrate(input, unknownFeatures));
migratedFeatures.putAll(provider.migrate(input, unknownFeatures));
}
}
for(IMigrationProvider provider : getProviders(input)) {
if(provider.needMigration(input, featuresNotMigrated)) {
if(provider.needMigration(input, migratedFeatures)) {
error(ToolingKernelActivator.getDefault(),
"Migrating " + input.getSaveableName() + " failed: A need for " +
"migration is indicated although the migration was " +
"already performed. Please fix the migrator (or model).");
}
}
if(!featuresNotMigrated.isEmpty()) {
unknownFeatures.entrySet().removeAll(migratedFeatures.entrySet());
if(!unknownFeatures.isEmpty()) {
error(ToolingKernelActivator.getDefault(), input.getSaveableName() +
" contains one or more unknown feature(s) which will be deleted: " +
featuresToStrings(unknownFeatures));
for(Entry<EObject, AnyType> e : featuresNotMigrated.entrySet()) {
for(Entry<EObject, AnyType> e : unknownFeatures.entrySet()) {
EcoreUtil.delete(e.getKey(), true);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment