diff options
2 files changed, 42 insertions, 6 deletions
diff --git a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOMigrator.java b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOMigrator.java index 7033b300c9..834fe239af 100644 --- a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOMigrator.java +++ b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/CDOMigrator.java @@ -41,16 +41,41 @@ public abstract class CDOMigrator { } - public static void adjustGenModel(GenModel genModel, IProject project) + public static String adjustGenModel(GenModel genModel, IProject project) { - genModel.setFeatureDelegation(GenDelegationKind.REFLECTIVE_LITERAL); - genModel.setRootExtendsClass(ROOT_EXTENDS_CLASS); - genModel.setRootExtendsInterface(ROOT_EXTENDS_INTERFACE); + StringBuilder builder = new StringBuilder(); + + if (genModel.getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL) + { + genModel.setFeatureDelegation(GenDelegationKind.REFLECTIVE_LITERAL); + builder.append("Set Feature Delegation = "); + builder.append(GenDelegationKind.REFLECTIVE_LITERAL); + builder.append("\n"); + } + + if (!ROOT_EXTENDS_CLASS.equals(genModel.getRootExtendsClass())) + { + genModel.setRootExtendsClass(ROOT_EXTENDS_CLASS); + builder.append("Set Root Extends Class = "); + builder.append(ROOT_EXTENDS_CLASS); + builder.append("\n"); + } + + if (!ROOT_EXTENDS_INTERFACE.equals(genModel.getRootExtendsInterface())) + { + genModel.setRootExtendsInterface(ROOT_EXTENDS_INTERFACE); + builder.append("Set Root Extends Interface = "); + builder.append(ROOT_EXTENDS_INTERFACE); + builder.append("\n"); + } EList<String> pluginVariables = genModel.getModelPluginVariables(); if (!pluginVariables.contains(PLUGIN_VARIABLE)) { pluginVariables.add(PLUGIN_VARIABLE); + builder.append("Added Model Plugin Variables = "); + builder.append(PLUGIN_VARIABLE); + builder.append("\n"); } IFolder folder = project.getFolder("META-INF"); @@ -59,6 +84,7 @@ public abstract class CDOMigrator try { folder.create(true, true, new NullProgressMonitor()); + builder.append("Created META-INF folder\n"); } catch (CoreException ex) { @@ -73,11 +99,14 @@ public abstract class CDOMigrator { InputStream contents = new ByteArrayInputStream(CDO_MF_CONTENTS.getBytes()); file.create(contents, true, new NullProgressMonitor()); + builder.append("Created CDO.MF marker file\n"); } catch (CoreException ex) { throw new WrappedException(ex); } } + + return builder.length() == 0 ? null : builder.toString(); } }
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/actions/MigrateAction.java b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/actions/MigrateAction.java index b5cb9145e7..d6de82dadd 100644 --- a/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/actions/MigrateAction.java +++ b/plugins/org.eclipse.emf.cdo.migrator/src/org/eclipse/emf/cdo/migrator/actions/MigrateAction.java @@ -85,8 +85,15 @@ public class MigrateAction implements IObjectActionDelegate } else { - CDOMigrator.adjustGenModel(genModel, file.getProject()); - showMessage("The selected generator model has been migrated.", false); + String msg = CDOMigrator.adjustGenModel(genModel, file.getProject()); + if (msg == null) + { + showMessage("The selected generator model was already migrated.", false); + } + else + { + showMessage("The selected generator model has been migrated:\n\n" + msg, false); + } } } } |