Bug 369103 - Enable Edapt Migrator
* Tests for the edapt migration
Change-Id: Ibf11e71b4f235d1f99ad662b67436b882b641da2
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
index 49d5932..2b36ac3 100644
--- a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
@@ -30,5 +30,6 @@
<module>../../tests/org.eclipse.emf.emfstore.client.test.ui</module>
<module>../../tests/org.eclipse.emf.emfstore.performance.test</module>
<module>../../tests/org.eclipse.emf.emfstore.client.ui.test</module>
+ <module>../../tests/org.eclipse.emf.emfstore.migration.edapt.test</module>
</modules>
</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.checkstyle b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.checkstyle
new file mode 100644
index 0000000..e620597
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+ <local-check-config name="ESM Checkstyle For Tests" location="/EMFStoreDeveloper/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="all Java files" enabled="true" check-config-name="ESM Checkstyle For Tests" local="true">
+ <file-match-pattern match-pattern=".java" include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.classpath b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.project b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.project
new file mode 100644
index 0000000..54d0b88
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.emfstore.migration.edapt.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2cf5f27
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,418 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=true
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=true
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8d55df1
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,115 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=false
+cleanup.remove_unnecessary_nls_tags=false
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_esmCleanUp
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_esmFormatter
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n //\r\n // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=false
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/AllMigrationEdaptTests.launch b/tests/org.eclipse.emf.emfstore.migration.edapt.test/AllMigrationEdaptTests.launch
new file mode 100644
index 0000000..8d713ce
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/AllMigrationEdaptTests.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/AllMigrationEdaptTests"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.emfstore.internal.migration.edapt.test.AllMigrationEdaptTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.emfstore.migration.edapt.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,lpg.runtime.java@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edapt.common@default:default,org.eclipse.emf.edapt.declaration@default:default,org.eclipse.emf.edapt.history@default:default,org.eclipse.emf.edapt.migration@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.ocl.common@default:default,org.eclipse.ocl.ecore@default:default,org.eclipse.ocl@default:default,org.eclipse.osgi*3.10.102.v20160118-1700@-1:true,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services*3.5.0.v20150519-2006@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.emfstore.client.api.test@default:default,org.eclipse.emf.emfstore.client.changetracking.test@default:default,org.eclipse.emf.emfstore.client.conflictdetection.test@default:default,org.eclipse.emf.emfstore.client.recording.test@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration.edapt.test@default:false,org.eclipse.emf.emfstore.migration.edapt@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.emfstore.test.common@default:default,org.eclipse.emf.emfstore.test.model.edit@default:default,org.eclipse.emf.emfstore.test.model@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d2c4f21
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.emfstore.migration.edapt.test;singleton:=true
+Bundle-Version: 1.7.0.qualifier
+Bundle-ClassPath: .
+Fragment-Host: org.eclipse.emf.emfstore.migration.edapt;bundle-version="[1.7.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.emf.emfstore.internal.migration.edapt;version="1.7.0";x-internal:=true,
+ org.eclipse.emf.emfstore.internal.migration.edapt.test;version="1.7.0";x-internal:=true,
+ org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.util;version="1.7.0"
+Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/build.properties b/tests/org.eclipse.emf.emfstore.migration.edapt.test/build.properties
new file mode 100644
index 0000000..2a72eab
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/build.properties
@@ -0,0 +1,18 @@
+# Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# EclipseSource Munich - initial API and implementation
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.properties,\
+ fragment.xml
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/expected.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/expected.xmi
new file mode 100644
index 0000000..fcbaa28
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/expected.xmi
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz" xmi:id="_6P3dUNcTEeW10o5bJuBejA"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/projectstate-1.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/projectstate-1.ups
new file mode 100644
index 0000000..dcd8ba8
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/projectstate-1.ups
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A" xmi:id="_6P3dUNcTEeW10o5bJuBejA"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-1.ucp
new file mode 100644
index 0000000..a11586a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-1.ucp
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation">
+ <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-2.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-2.ucp
new file mode 100644
index 0000000..c467cb0
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-2.ucp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+ <logMessage author="super" message="Commit" clientDate="2016-02-19T15:20:21.923+0100"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6P884NcTEeW10o5bJuBejA" clientDate="2016-02-19T15:20:21.808+0100">
+ <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-3.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-3.ucp
new file mode 100644
index 0000000..d9b68f9
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-3.ucp
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation">
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore5661482833897137554.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore5661482833897137554.xmi
new file mode 100644
index 0000000..b5ccc43
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore5661482833897137554.xmi
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_nWik4NcpEeWXpr-TVzJa6g">
+ <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+ <eObjectToIdMap key="//@operations.0/@modelElement">
+ <value id="_nYNY0tcpEeWXpr-TVzJa6g"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore7345308363034172688.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore7345308363034172688.xmi
new file mode 100644
index 0000000..2ad9f62
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore7345308363034172688.xmi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+ <logMessage author="super" message="Commit" clientDate="2016-02-19T15:20:21.923+0100"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6P884NcTEeW10o5bJuBejA" clientDate="2016-02-19T15:20:21.808+0100">
+ <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+ <eObjectToIdMap key="//@operations.0/@modelElement">
+ <value id="_VkoCctcpEeWi35v-Lb03AQ"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore8950706431703332367.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore8950706431703332367.xmi
new file mode 100644
index 0000000..ffef734
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore8950706431703332367.xmi
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="__hYNsNcoEeWcG7RZ3L9hRA">
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+ <eObjectToIdMap key="//@operations.0/@modelElement">
+ <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/expected.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/expected.xmi
new file mode 100644
index 0000000..ee5abb0
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/expected.xmi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+ <logMessage author="super" message="Commit" clientDate="2016-02-19T15:20:21.923+0100"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6P884NcTEeW10o5bJuBejA" clientDate="2016-02-19T15:20:21.808+0100">
+ <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/3/projectstate-1.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/3/projectstate-1.ups
new file mode 100644
index 0000000..2bd5f2c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/3/projectstate-1.ups
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migra/2tion/eda/2pt/test/a/2">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz" xmi:id="_6fyoUNcWEeWHW4r84OU_7Q"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/4/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/4/changepackage-1.ucp
new file mode 100644
index 0000000..87d00c5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/4/changepackage-1.ucp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migra/2tion/eda/2pt/test/a/2">
+ <logMessage author="super" message="Commit" clientDate="2016-02-19T15:41:52.117+0100"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6f1EkNcWEeWHW4r84OU_7Q" clientDate="2016-02-19T15:41:51.963+0100">
+ <modelElementId id="_6fyoUNcWEeWHW4r84OU_7Q"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_6fyoUNcWEeWHW4r84OU_7Q"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/5/projectstate-0.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/5/projectstate-0.ups
new file mode 100644
index 0000000..631e003
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/5/projectstate-0.ups
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model">
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp
new file mode 100644
index 0000000..05886aa
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1">
+ <logMessage author="super" message="Added root Element" clientDate="2016-03-31T12:15:37.118+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1
new file mode 100644
index 0000000..52b530c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_gw6ZQPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:36.919+0200">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1.temp
new file mode 100644
index 0000000..52b530c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1.temp
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_gw6ZQPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:36.919+0200">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp
new file mode 100644
index 0000000..af6a75d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1">
+ <logMessage author="super" message="Added child Element" clientDate="2016-03-31T12:15:37.517+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1
new file mode 100644
index 0000000..6a1a78b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g1y5QfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.428+0200">
+ <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_g1y5QPcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g11VgPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.432+0200" featureName="ref">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ <newValue id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1.temp
new file mode 100644
index 0000000..6a1a78b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1.temp
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g1y5QfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.428+0200">
+ <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_g1y5QPcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g11VgPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.432+0200" featureName="ref">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ <newValue id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp
new file mode 100644
index 0000000..811e6ac
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1">
+ <logMessage author="super" message="Added multiple child elements" clientDate="2016-03-31T12:15:37.955+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1
new file mode 100644
index 0000000..be793e9
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57LUfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.861+0200">
+ <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_g57LUPcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57yYfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.862+0200">
+ <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_g57yYPcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g58ZcPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.863+0200" featureName="refs" add="true">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ <referencedModelElements id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <referencedModelElements id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1.temp
new file mode 100644
index 0000000..be793e9
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1.temp
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57LUfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.861+0200">
+ <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_g57LUPcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57yYfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.862+0200">
+ <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="//@modelElement">
+ <value id="_g57yYPcpEeWGu-azpxf_CA"/>
+ </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g58ZcPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.863+0200" featureName="refs" add="true">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+ <referencedModelElements id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <referencedModelElements id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp
new file mode 100644
index 0000000..f51b5b6
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1">
+ <logMessage author="super" message="Setting attributes" clientDate="2016-03-31T12:15:38.547+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1
new file mode 100644
index 0000000..51780b4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lucPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026431">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_ludPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026432">
+ <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_luePcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643331">
+ <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lufPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643332">
+ <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1.temp
new file mode 100644
index 0000000..51780b4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1.temp
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lucPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026431">
+ <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_ludPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026432">
+ <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_luePcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643331">
+ <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lufPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643332">
+ <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp
new file mode 100644
index 0000000..9ae1a2d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1">
+ <logMessage author="super" message="Setting multi attributes" clientDate="2016-03-31T12:15:39.155+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1
new file mode 100644
index 0000000..20612b3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt0PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+ <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <indexes>0</indexes>
+ <indexes>1</indexes>
+ <referencedValues>ACED0005740003666F6F</referencedValues>
+ <referencedValues>ACED0005740003626172</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt1PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+ <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+ <indexes>0</indexes>
+ <indexes>1</indexes>
+ <referencedValues>ACED0005740003464F4F</referencedValues>
+ <referencedValues>ACED0005740003424152</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1.temp
new file mode 100644
index 0000000..20612b3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1.temp
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt0PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+ <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <indexes>0</indexes>
+ <indexes>1</indexes>
+ <referencedValues>ACED0005740003666F6F</referencedValues>
+ <referencedValues>ACED0005740003626172</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt1PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+ <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+ <indexes>0</indexes>
+ <indexes>1</indexes>
+ <referencedValues>ACED0005740003464F4F</referencedValues>
+ <referencedValues>ACED0005740003424152</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectHistory.uph b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectHistory.uph
new file mode 100644
index 0000000..0fa4bf8
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectHistory.uph
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ProjectHistory xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" projectName="DemoProject" projectDescription="">
+ <projectId id="_gvO-QPcpEeWGu-azpxf_CA"/>
+ <versions href="versions/0#/"/>
+ <versions href="versions/1#/"/>
+ <versions href="versions/2#/"/>
+ <versions href="versions/3#/"/>
+ <versions href="versions/4#/"/>
+ <versions href="versions/5#/"/>
+ <branches name="trunk">
+ <head identifier="5" projectStateChecksum="7330538291069755227"/>
+ <source/>
+ </branches>
+</org.eclipse.emf.emfstore.internal.server.model:ProjectHistory>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-0.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-0.ups
new file mode 100644
index 0000000..ba602db
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-0.ups
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model"/>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-3.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-3.ups
new file mode 100644
index 0000000..6e20c8b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-3.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_gw2u4PcpEeWGu-azpxf_CA" ref="#_g1y5QPcpEeWGu-azpxf_CA" refs="#_g57LUPcpEeWGu-azpxf_CA #_g57yYPcpEeWGu-azpxf_CA"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g1y5QPcpEeWGu-azpxf_CA"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57LUPcpEeWGu-azpxf_CA"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-4.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-4.ups
new file mode 100644
index 0000000..6ade715
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-4.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_gw2u4PcpEeWGu-azpxf_CA" att="d1" ref="#_g1y5QPcpEeWGu-azpxf_CA" refs="#_g57LUPcpEeWGu-azpxf_CA #_g57yYPcpEeWGu-azpxf_CA"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g1y5QPcpEeWGu-azpxf_CA" att="d2"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57LUPcpEeWGu-azpxf_CA" att="d31"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57yYPcpEeWGu-azpxf_CA" att="d32"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-5.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-5.ups
new file mode 100644
index 0000000..33e295c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-5.ups
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_gw2u4PcpEeWGu-azpxf_CA" att="d1" ref="#_g1y5QPcpEeWGu-azpxf_CA" refs="#_g57LUPcpEeWGu-azpxf_CA #_g57yYPcpEeWGu-azpxf_CA"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g1y5QPcpEeWGu-azpxf_CA" att="d2"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57LUPcpEeWGu-azpxf_CA" att="d31">
+ <atts>foo</atts>
+ <atts>bar</atts>
+ </modelElements>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57yYPcpEeWGu-azpxf_CA" att="d32">
+ <atts>FOO</atts>
+ <atts>BAR</atts>
+ </modelElements>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-0.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-0.upv
new file mode 100644
index 0000000..303d74d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-0.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="1#/">
+ <primarySpec/>
+ <logMessage author="super" message="Initial commit" date="2016-03-31T12:15:36.737+0200" clientDate="2016-03-31T12:15:36.673+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-1.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-1.upv
new file mode 100644
index 0000000..7abc285
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-1.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="2#/" previousVersion="0#/">
+ <primarySpec identifier="1" projectStateChecksum="-1351035061437285832"/>
+ <logMessage author="super" message="Added root Element" date="2016-03-31T12:15:37.378+0200" clientDate="2016-03-31T12:15:37.118+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-2.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-2.upv
new file mode 100644
index 0000000..c30875a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-2.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="3#/" previousVersion="1#/">
+ <primarySpec identifier="2" projectStateChecksum="6437267355085018974"/>
+ <logMessage author="super" message="Added child Element" date="2016-03-31T12:15:37.810+0200" clientDate="2016-03-31T12:15:37.517+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-3.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-3.upv
new file mode 100644
index 0000000..6153064
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-3.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="4#/" previousVersion="2#/">
+ <primarySpec identifier="3" projectStateChecksum="-4621077678384738851"/>
+ <tagSpecs name="foo"/>
+ <logMessage author="super" message="Added multiple child elements" date="2016-03-31T12:15:38.323+0200" clientDate="2016-03-31T12:15:37.955+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-4.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-4.upv
new file mode 100644
index 0000000..c473b09
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-4.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="5#/" previousVersion="3#/">
+ <primarySpec identifier="4" projectStateChecksum="4564190854053106915"/>
+ <tagSpecs name="bar"/>
+ <logMessage author="super" message="Setting attributes" date="2016-03-31T12:15:38.948+0200" clientDate="2016-03-31T12:15:38.547+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-5.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-5.upv
new file mode 100644
index 0000000..a6c4fd5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-5.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" previousVersion="4#/">
+ <primarySpec identifier="5" projectStateChecksum="7330538291069755227"/>
+ <logMessage author="super" message="Setting multi attributes" date="2016-03-31T12:15:39.336+0200" clientDate="2016-03-31T12:15:39.155+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/storage.uss b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/storage.uss
new file mode 100644
index 0000000..acf3459
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/storage.uss
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ServerSpace xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" xmlns:org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles="http://eclipse.org/emf/emfstore/server/model/roles" projects="projects/_gvO-QPcpEeWGu-azpxf_CA/projecthistory#/">
+ <users identifier="_glfzcfcpEeWGu-azpxf_CA" name="super" description="default server admin (superuser)" firstName="super" lastName="user">
+ <roles xsi:type="org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles:ServerAdmin"/>
+ </users>
+</org.eclipse.emf.emfstore.internal.server.model:ServerSpace>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-1.ucp
new file mode 100644
index 0000000..556609f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-1.ucp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <logMessage author="super" message="Added root Element" clientDate="2016-03-31T12:12:00.606+0200"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_AgY4MPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:00.439+0200">
+ <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+ </eObjectToIdMap>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-2.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-2.ucp
new file mode 100644
index 0000000..f6c01f5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-2.ucp
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <logMessage author="super" message="Added child Element" clientDate="2016-03-31T12:12:00.942+0200"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_Aj100fcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:00.797+0200">
+ <modelElementId id="_Aj100PcpEeWnk-MlMuAN6w"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_Aj100PcpEeWnk-MlMuAN6w"/>
+ </eObjectToIdMap>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation" identifier="_Aj44IPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:00.802+0200" featureName="ref">
+ <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+ <newValue id="_Aj100PcpEeWnk-MlMuAN6w"/>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-3.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-3.ucp
new file mode 100644
index 0000000..6031389
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-3.ucp
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <logMessage author="super" message="Added multiple child elements" clientDate="2016-03-31T12:12:01.170+0200"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_AmpRMfcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.092+0200">
+ <modelElementId id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="#//@operations.0/@modelElement">
+ <value id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+ </eObjectToIdMap>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_Amp4RPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.092+0200">
+ <modelElementId id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+ <eObjectToIdMap key="#//@operations.1/@modelElement">
+ <value id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ </eObjectToIdMap>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation" identifier="_AmqfUPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.093+0200" featureName="refs" add="true">
+ <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+ <referencedModelElements id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+ <referencedModelElements id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-4.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-4.ucp
new file mode 100644
index 0000000..1ab8534
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-4.ucp
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+ <logMessage author="super" message="Setting attributes" clientDate="2016-03-31T12:12:01.387+0200"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1pkvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED00057400026431">
+ <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1plvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED00057400026432">
+ <modelElementId id="_Aj100PcpEeWnk-MlMuAN6w"/>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1pmvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED0005740003643331">
+ <modelElementId id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1pnvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED0005740003643332">
+ <modelElementId id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-5.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-5.ucp
new file mode 100644
index 0000000..54c2307
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-5.ucp
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+ <logMessage author="super" message="Setting multi attributes" clientDate="2016-03-31T12:12:01.620+0200"/>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation" identifier="_ArHhgPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.560+0200" featureName="atts" add="true">
+ <modelElementId id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+ <indexes>0</indexes>
+ <indexes>1</indexes>
+ <referencedValues>ACED0005740003666F6F</referencedValues>
+ <referencedValues>ACED0005740003626172</referencedValues>
+ </operations>
+ <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation" identifier="_ArHhhPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.560+0200" featureName="atts" add="true">
+ <modelElementId id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ <indexes>0</indexes>
+ <indexes>1</indexes>
+ <referencedValues>ACED0005740003464F4F</referencedValues>
+ <referencedValues>ACED0005740003424152</referencedValues>
+ </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectHistory.uph b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectHistory.uph
new file mode 100644
index 0000000..734594a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectHistory.uph
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ProjectHistory xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" projectName="DemoProject" projectDescription="">
+ <projectId id="_AeXe8PcpEeWnk-MlMuAN6w"/>
+ <versions href="versions/0#/"/>
+ <versions href="versions/1#/"/>
+ <versions href="versions/2#/"/>
+ <versions href="versions/3#/"/>
+ <versions href="versions/4#/"/>
+ <versions href="versions/5#/"/>
+ <branches name="trunk">
+ <head identifier="5" projectStateChecksum="-4649578963142994355"/>
+ <source/>
+ </branches>
+</org.eclipse.emf.emfstore.internal.server.model:ProjectHistory>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-0.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-0.ups
new file mode 100644
index 0000000..ba602db
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-0.ups
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model"/>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-3.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-3.ups
new file mode 100644
index 0000000..2fcfb66
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-3.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AgUmwPcpEeWnk-MlMuAN6w" ref="#_Aj100PcpEeWnk-MlMuAN6w" refs="#_AmpRMPcpEeWnk-MlMuAN6w #_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Aj100PcpEeWnk-MlMuAN6w"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-4.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-4.ups
new file mode 100644
index 0000000..9c44065
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-4.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AgUmwPcpEeWnk-MlMuAN6w" att="d1" ref="#_Aj100PcpEeWnk-MlMuAN6w" refs="#_AmpRMPcpEeWnk-MlMuAN6w #_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Aj100PcpEeWnk-MlMuAN6w" att="d2"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AmpRMPcpEeWnk-MlMuAN6w" att="d31"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Amp4Q_cpEeWnk-MlMuAN6w" att="d32"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-5.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-5.ups
new file mode 100644
index 0000000..1324943
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-5.ups
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AgUmwPcpEeWnk-MlMuAN6w" att="d1" ref="#_Aj100PcpEeWnk-MlMuAN6w" refs="#_AmpRMPcpEeWnk-MlMuAN6w #_Amp4Q_cpEeWnk-MlMuAN6w"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Aj100PcpEeWnk-MlMuAN6w" att="d2"/>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AmpRMPcpEeWnk-MlMuAN6w" att="d31">
+ <atts>foo</atts>
+ <atts>bar</atts>
+ </modelElements>
+ <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Amp4Q_cpEeWnk-MlMuAN6w" att="d32">
+ <atts>FOO</atts>
+ <atts>BAR</atts>
+ </modelElements>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-0.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-0.upv
new file mode 100644
index 0000000..3429e9c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-0.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="1#/">
+ <primarySpec/>
+ <logMessage author="super" message="Initial commit" date="2016-03-31T12:12:00.220+0200" clientDate="2016-03-31T12:12:00.148+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-1.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-1.upv
new file mode 100644
index 0000000..9473628
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-1.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="2#/" previousVersion="0#/">
+ <primarySpec identifier="1" projectStateChecksum="5463204580255642286"/>
+ <logMessage author="super" message="Added root Element" date="2016-03-31T12:12:00.762+0200" clientDate="2016-03-31T12:12:00.606+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-2.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-2.upv
new file mode 100644
index 0000000..b9cb2a4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-2.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="3#/" previousVersion="1#/">
+ <primarySpec identifier="2" projectStateChecksum="-6783772369953510456"/>
+ <logMessage author="super" message="Added child Element" date="2016-03-31T12:12:01.067+0200" clientDate="2016-03-31T12:12:00.942+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-3.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-3.upv
new file mode 100644
index 0000000..882d254
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-3.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="4#/" previousVersion="2#/">
+ <primarySpec identifier="3" projectStateChecksum="-2680983198499129763"/>
+ <tagSpecs name="foo"/>
+ <logMessage author="super" message="Added multiple child elements" date="2016-03-31T12:12:01.272+0200" clientDate="2016-03-31T12:12:01.170+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-4.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-4.upv
new file mode 100644
index 0000000..5ec9b9a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-4.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="5#/" previousVersion="3#/">
+ <primarySpec identifier="4" projectStateChecksum="3434614074021118099"/>
+ <tagSpecs name="bar"/>
+ <logMessage author="super" message="Setting attributes" date="2016-03-31T12:12:01.499+0200" clientDate="2016-03-31T12:12:01.387+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-5.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-5.upv
new file mode 100644
index 0000000..b6064c2
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-5.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" previousVersion="4#/">
+ <primarySpec identifier="5" projectStateChecksum="-4649578963142994355"/>
+ <logMessage author="super" message="Setting multi attributes" date="2016-03-31T12:12:01.716+0200" clientDate="2016-03-31T12:12:01.620+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/storage.uss b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/storage.uss
new file mode 100644
index 0000000..0d1b2a1
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/storage.uss
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ServerSpace xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" xmlns:org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles="http://eclipse.org/emf/emfstore/server/model/roles" projects="projects/_AeXe8PcpEeWnk-MlMuAN6w/projecthistory#/">
+ <users identifier="_ASSKwfcpEeWnk-MlMuAN6w" name="super" description="default server admin (superuser)" firstName="super" lastName="user">
+ <roles xsi:type="org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles:ServerAdmin"/>
+ </users>
+</org.eclipse.emf.emfstore.internal.server.model:ServerSpace>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/fragment.xml b/tests/org.eclipse.emf.emfstore.migration.edapt.test/fragment.xml
new file mode 100644
index 0000000..7e8da08
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/fragment.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<fragment>
+ <extension
+ point="org.eclipse.emf.edapt.migrators">
+ <migrator
+ path="model/a.history">
+ </migrator>
+ </extension>
+ <extension
+ point="org.eclipse.emf.edapt.migrators">
+ <migrator
+ path="model/b.history">
+ </migrator>
+ </extension>
+ <extension
+ point="org.eclipse.emf.edapt.migrators">
+ <migrator
+ path="model/d.history">
+ </migrator>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated a -->
+ <package
+ uri="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2"
+ class="org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage"
+ genModel="model/a.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated d -->
+ <package
+ uri="http://eclipse.org/emf/emfstore/migration/edapt/test/d/2"
+ class="org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage"
+ genModel="model/d.genmodel"/>
+ </extension>
+
+</fragment>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.ecore
new file mode 100644
index 0000000..9eb5a71
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="a" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2"
+ nsPrefix="org.eclipse.emfstore.migration.edapt.test.a">
+ <eClassifiers xsi:type="ecore:EClass" name="AClazz"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.genmodel b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.genmodel
new file mode 100644
index 0000000..774f786
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.genmodel
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
+ copyrightText="Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
EclipseSource Munich - initial API and implementation"
+ modelDirectory="/org.eclipse.emf.emfstore.migration.edapt.test/src" modelPluginID="org.eclipse.emf.emfstore.migration.edapt.test"
+ modelName="A" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>a.ecore</foreignModel>
+ <genPackages prefix="A" basePackage="org.eclipse.emf.emfstore.migration.edapt.test.model"
+ disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+ classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+ presentationPackageSuffix="model.presentation" testsPackageSuffix="model.tests"
+ ecorePackage="a.ecore#/">
+ <genClasses ecoreClass="a.ecore#//A"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.history b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.history
new file mode 100644
index 0000000..e139802
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.history
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3">
+ <releases date="2016-02-19T13:50:59.200+0100">
+ <changes xsi:type="history:CompositeChange">
+ <changes xsi:type="history:Create" element="a.ecore#/">
+ <changes xsi:type="history:Set" element="a.ecore#/" featureName="name" dataValue="a"/>
+ <changes xsi:type="history:Set" element="a.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/a"/>
+ <changes xsi:type="history:Set" element="a.ecore#/" featureName="nsPrefix"
+ dataValue="org.eclipse.emfstore.migration.edapt.test.a"/>
+ </changes>
+ <changes xsi:type="history:Create" target="a.ecore#/" referenceName="eClassifiers"
+ element="a.ecore#//AClazz">
+ <changes xsi:type="history:Set" element="a.ecore#//AClazz" featureName="name"
+ dataValue="A"/>
+ </changes>
+ </changes>
+ </releases>
+ <releases date="2016-02-19T16:48:56.554+0100">
+ <changes xsi:type="history:OperationChange">
+ <changes xsi:type="history:Set" element="a.ecore#//AClazz" featureName="name"
+ dataValue="AClazz" oldDataValue="A"/>
+ <operation name="rename">
+ <parameters name="element">
+ <referenceValue element="a.ecore#//AClazz"/>
+ </parameters>
+ <parameters name="name">
+ <dataValue>AClazz</dataValue>
+ </parameters>
+ </operation>
+ </changes>
+ <changes xsi:type="history:Set" element="a.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2"
+ oldDataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/a"/>
+ </releases>
+ <releases/>
+</history:History>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.ecore
new file mode 100644
index 0000000..7604465
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="b" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/b"
+ nsPrefix="org.eclipse.emfstore.migration.edapt.test.b">
+ <eClassifiers xsi:type="ecore:EClass" name="B"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.history b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.history
new file mode 100644
index 0000000..808f3ff
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.history
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3">
+ <releases date="2016-02-19T13:51:15.363+0100">
+ <changes xsi:type="history:CompositeChange">
+ <changes xsi:type="history:Create" element="b.ecore#/">
+ <changes xsi:type="history:Set" element="b.ecore#/" featureName="name" dataValue="b"/>
+ <changes xsi:type="history:Set" element="b.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/b"/>
+ <changes xsi:type="history:Set" element="b.ecore#/" featureName="nsPrefix"
+ dataValue="org.eclipse.emfstore.migration.edapt.test.b"/>
+ </changes>
+ <changes xsi:type="history:Create" target="b.ecore#/" referenceName="eClassifiers"
+ element="b.ecore#//B">
+ <changes xsi:type="history:Set" element="b.ecore#//B" featureName="name" dataValue="B"/>
+ </changes>
+ </changes>
+ </releases>
+ <releases date="2016-02-19T14:00:35.505+0100">
+ <changes xsi:type="history:CompositeChange">
+ <changes xsi:type="history:Create" element="c.ecore#/">
+ <changes xsi:type="history:Set" element="c.ecore#/" featureName="name" dataValue="c"/>
+ <changes xsi:type="history:Set" element="c.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/c"/>
+ <changes xsi:type="history:Set" element="c.ecore#/" featureName="nsPrefix"
+ dataValue="org.eclipse.emfstore.migration.edapt.test.c"/>
+ </changes>
+ <changes xsi:type="history:Create" target="c.ecore#/" referenceName="eAnnotations"
+ element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%">
+ <changes xsi:type="history:Set" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%"
+ featureName="source" dataValue="http://www.eclipse.org/edapt"/>
+ </changes>
+ <changes xsi:type="history:Create" target="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%"
+ referenceName="details" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%/@details.0">
+ <changes xsi:type="history:Set" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%/@details.0"
+ featureName="key" dataValue="historyURI"/>
+ <changes xsi:type="history:Set" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%/@details.0"
+ featureName="value" dataValue="b.history"/>
+ </changes>
+ <changes xsi:type="history:Create" target="c.ecore#/" referenceName="eClassifiers"
+ element="c.ecore#//C">
+ <changes xsi:type="history:Set" element="c.ecore#//C" featureName="name" dataValue="C"/>
+ <changes xsi:type="history:Add" element="c.ecore#//C" featureName="eSuperTypes"
+ referenceValue="b.ecore#//B"/>
+ </changes>
+ </changes>
+ </releases>
+ <releases/>
+</history:History>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/c.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/c.ecore
new file mode 100644
index 0000000..e82f031
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/c.ecore
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="c" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/c"
+ nsPrefix="org.eclipse.emfstore.migration.edapt.test.c">
+ <eAnnotations source="http://www.eclipse.org/edapt">
+ <details key="historyURI" value="b.history"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="C" eSuperTypes="b.ecore#//B"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.ecore
new file mode 100644
index 0000000..d129dd8
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.ecore
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="d" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/d/2"
+ nsPrefix="org.eclipse.emfstore.migration.edapt.test.d">
+ <eClassifiers xsi:type="ecore:EClass" name="D">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="atts" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="refs" upperBound="-1" eType="#//D"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.genmodel b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.genmodel
new file mode 100644
index 0000000..11805b5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.genmodel
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html

Contributors:
EclipseSource Munich - initial API and implementation"
+ modelDirectory="/org.eclipse.emf.emfstore.migration.edapt.test/src" modelPluginID="org.eclipse.emf.emfstore.migration.edapt.test"
+ modelName="D" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>model/d.ecore</foreignModel>
+ <genPackages prefix="D" basePackage="org.eclipse.emf.emfstore.migration.edapt.test.model"
+ disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+ classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+ presentationPackageSuffix="model.presentation" testsPackageSuffix="model.tests"
+ ecorePackage="d.ecore#/">
+ <genClasses ecoreClass="d.ecore#//D">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute d.ecore#//D/att"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute d.ecore#//D/atts"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference d.ecore#//D/ref"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference d.ecore#//D/refs"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.history b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.history
new file mode 100644
index 0000000..24d7329
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.history
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3">
+ <releases date="2016-03-31T14:02:04.794+0200">
+ <changes xsi:type="history:CompositeChange">
+ <changes xsi:type="history:Create" element="d.ecore#/">
+ <changes xsi:type="history:Set" element="d.ecore#/" featureName="name" dataValue="d"/>
+ <changes xsi:type="history:Set" element="d.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/d"/>
+ <changes xsi:type="history:Set" element="d.ecore#/" featureName="nsPrefix"
+ dataValue="org.eclipse.emfstore.migration.edapt.test.d"/>
+ </changes>
+ <changes xsi:type="history:Create" target="d.ecore#/" referenceName="eClassifiers"
+ element="d.ecore#//D">
+ <changes xsi:type="history:Set" element="d.ecore#//D" featureName="name" dataValue="D"/>
+ </changes>
+ <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+ element="d.ecore#//D/name">
+ <changes xsi:type="history:Set" element="d.ecore#//D/name" featureName="name"
+ dataValue="att"/>
+ <changes xsi:type="history:Set" element="d.ecore#//D/name" featureName="eType"
+ referenceValue="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </changes>
+ <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+ element="d.ecore#//D/atts">
+ <changes xsi:type="history:Set" element="d.ecore#//D/atts" featureName="name"
+ dataValue="atts"/>
+ <changes xsi:type="history:Set" element="d.ecore#//D/atts" featureName="upperBound"
+ dataValue="-1" oldDataValue="1"/>
+ <changes xsi:type="history:Set" element="d.ecore#//D/atts" featureName="eType"
+ referenceValue="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </changes>
+ <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+ element="#//@releases.1/@changes.0/@changes.0/@element">
+ <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.0/@element"
+ featureName="name" dataValue="ref"/>
+ <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.0/@element"
+ featureName="eType" referenceValue="d.ecore#//D"/>
+ </changes>
+ <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+ element="#//@releases.1/@changes.0/@changes.1/@element">
+ <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.1/@element"
+ featureName="name" dataValue="refs"/>
+ <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.1/@element"
+ featureName="upperBound" dataValue="-1" oldDataValue="1"/>
+ <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.1/@element"
+ featureName="eType" referenceValue="d.ecore#//D"/>
+ </changes>
+ </changes>
+ </releases>
+ <releases date="2016-03-31T14:04:11.362+0200">
+ <changes xsi:type="history:OperationChange">
+ <changes xsi:type="history:Delete" target="d.ecore#//D" referenceName="eStructuralFeatures">
+ <element xsi:type="ecore:EReference" name="ref" eType="ecore:EClass d.ecore#//D"
+ containment="true"/>
+ </changes>
+ <changes xsi:type="history:Delete" target="d.ecore#//D" referenceName="eStructuralFeatures">
+ <element xsi:type="ecore:EReference" name="refs" upperBound="-1" eType="ecore:EClass d.ecore#//D"
+ containment="true"/>
+ </changes>
+ <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+ element="d.ecore#//D/refs">
+ <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="name"
+ dataValue="refs"/>
+ <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="upperBound"
+ dataValue="-1" oldDataValue="1"/>
+ <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="containment"
+ dataValue="true" oldDataValue="false"/>
+ <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="eType"
+ referenceValue="d.ecore#//D"/>
+ </changes>
+ <operation name="uniteReferences">
+ <parameters name="references">
+ <referenceValue element="#//@releases.1/@changes.0/@changes.0/@element"/>
+ <referenceValue element="#//@releases.1/@changes.0/@changes.1/@element"/>
+ </parameters>
+ <parameters name="unitedReferenceName">
+ <dataValue>refs</dataValue>
+ </parameters>
+ </operation>
+ </changes>
+ <changes xsi:type="history:OperationChange">
+ <changes xsi:type="history:Set" element="d.ecore#//D/name" featureName="name"
+ dataValue="name" oldDataValue="att"/>
+ <operation name="rename">
+ <parameters name="element">
+ <referenceValue element="d.ecore#//D/name"/>
+ </parameters>
+ <parameters name="name">
+ <dataValue>name</dataValue>
+ </parameters>
+ </operation>
+ </changes>
+ <changes xsi:type="history:Set" element="d.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/d/2"
+ oldDataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/d"/>
+ </releases>
+ <releases/>
+</history:History>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/plugin.properties b/tests/org.eclipse.emf.emfstore.migration.edapt.test/plugin.properties
new file mode 100644
index 0000000..593ce37
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = A Model
+providerName = www.example.org
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/pom.xml b/tests/org.eclipse.emf.emfstore.migration.edapt.test/pom.xml
new file mode 100644
index 0000000..0b0af12
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.emfstore</groupId>
+ <artifactId>emfstore-tests-parent</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.emfstore</groupId>
+ <artifactId>org.eclipse.emf.emfstore.migration.edapt.test</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <testSuite>org.eclipse.emf.emfstore.migration.edapt.test</testSuite>
+ <testClass>org.eclipse.emf.emfstore.internal.migration.edapt.test.AllMigrationEdaptTests</testClass>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>false</useUIThread>
+ <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m
+ </argLine>
+ <testFailureIgnore>true</testFailureIgnore>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigratorTests.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigratorTests.java
new file mode 100644
index 0000000..065ca19
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigratorTests.java
@@ -0,0 +1,328 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.migration.edapt;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.text.MessageFormat;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.apache.commons.io.IOUtils;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.edapt.migration.execution.Migrator;
+import org.eclipse.emf.edapt.spi.history.History;
+import org.eclipse.emf.edapt.spi.history.HistoryFactory;
+import org.eclipse.emf.edapt.spi.history.Release;
+import org.eclipse.emf.emfstore.common.ESSystemOutProgressMonitor;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrationException;
+import org.junit.After;
+import org.junit.Test;
+
+public class EdaptMigratorTests {
+
+ private static final String CHANGEPACKAGE_1_UCP = "changepackage-1.ucp";
+ private static final String PROJECTSTATE_0_UPS = "projectstate-0.ups";
+ private static final String PROJECTSTATE_1_UPS = "projectstate-1.ups";
+ private static final String EXPECTED_XMI = "expected.xmi";
+
+ private static final String A_NSURI_REL_1 = "http://eclipse.org/emf/emfstore/migration/edapt/test/a";
+ private static final String B_NSURI_REL_1 = "http://eclipse.org/emf/emfstore/migration/edapt/test/b";
+ private static final String C_NSURI_REL_1 = "http://eclipse.org/emf/emfstore/migration/edapt/test/c";
+
+ private static Set<File> tempFiles = new LinkedHashSet<File>();
+
+ @After
+ public void cleanup() {
+ for (final File file : tempFiles) {
+ file.delete();
+ }
+ tempFiles.clear();
+ }
+
+ private static URI copyFileToTempDir(int testDir, String fileName) {
+ try {
+ final InputStream inputStream = getInputStream(testDir, fileName);
+ final File tempFile = File.createTempFile("emfstore", ".xmi");
+ tempFiles.add(tempFile);
+ tempFile.deleteOnExit();
+ final OutputStream outputStream = new FileOutputStream(tempFile);
+ final byte[] buf = new byte[1024];
+ int len;
+ while ((len = inputStream.read(buf)) > 0) {
+ outputStream.write(buf, 0, len);
+ }
+ outputStream.close();
+ inputStream.close();
+ return URI.createFileURI(tempFile.getAbsolutePath());
+ } catch (final FileNotFoundException ex) {
+ } catch (final IOException ex) {
+ }
+ fail();
+ return null;
+ }
+
+ private static InputStream getInputStream(int testDir, String fileName) {
+ try {
+ final URL url = new URL(MessageFormat
+ .format("platform:/plugin/org.eclipse.emf.emfstore.migration.edapt.test/data/{0}/{1}", testDir,
+ fileName));
+ final InputStream inputStream = url.openConnection().getInputStream();
+ return inputStream;
+ } catch (final MalformedURLException ex) {
+ } catch (final IOException ex) {
+ }
+ fail();
+ return null;
+ }
+
+ private static void assertStreamEqual(final URI uri, int testDir, String fileName) {
+ try {
+ final InputStream inputStream1 = getInputStream(testDir, fileName);
+ final FileInputStream inputStream2 = new FileInputStream(uri.toFileString());
+ assertTrue(IOUtils.contentEquals(inputStream1, inputStream2));
+ inputStream1.close();
+ inputStream2.close();
+ } catch (final FileNotFoundException ex) {
+ fail(ex.getMessage());
+ } catch (final IOException ex) {
+ fail(ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testCanHandle() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI fileURI = URI.createFileURI("foo");
+ final URI nonFileURI = URI.createPlatformPluginURI("bar", false);
+ final LinkedHashSet<URI> urisToCheck = new LinkedHashSet<URI>(Arrays.asList(fileURI, nonFileURI));
+
+ /* act */
+ final Set<URI> result = edaptMigrator.canHandle(urisToCheck);
+
+ /* assert */
+ assertEquals(1, result.size());
+ assertSame(nonFileURI, result.iterator().next());
+ }
+
+ @Test
+ public void testGetMigratorWithNullMigrator() {
+ /* setup */
+ final LinkedHashSet<String> nameSpaceURIs = new LinkedHashSet<String>(
+ Arrays.asList(A_NSURI_REL_1, "foobar"));
+
+ /* act */
+ final Migrator migrator = EdaptMigrator.getMigrator(nameSpaceURIs);
+
+ /* assert */
+ assertNotNull(migrator);
+ }
+
+ @Test
+ public void testGetMigratorWithMultipleMigrators() {
+ /* setup */
+ final LinkedHashSet<String> nameSpaceURIs = new LinkedHashSet<String>(
+ Arrays.asList(A_NSURI_REL_1, B_NSURI_REL_1));
+
+ /* act */
+ final Migrator migrator = EdaptMigrator.getMigrator(nameSpaceURIs);
+
+ /* assert */
+ assertNull(migrator);
+ }
+
+ @Test
+ public void testGetMigratorWithMultipleURIsSameMigrators() {
+ /* setup */
+ final LinkedHashSet<String> nameSpaceURIs = new LinkedHashSet<String>(
+ Arrays.asList(B_NSURI_REL_1, C_NSURI_REL_1));
+
+ /* act */
+ final Migrator migrator = EdaptMigrator.getMigrator(nameSpaceURIs);
+
+ /* assert */
+ assertNotNull(migrator);
+ }
+
+ @Test
+ public void testGetNewestRelease() {
+ /* setup */
+ final History history = HistoryFactory.eINSTANCE.createHistory();
+ final Release release1 = HistoryFactory.eINSTANCE.createRelease();
+ final Release release2 = HistoryFactory.eINSTANCE.createRelease();
+ final Release release3 = HistoryFactory.eINSTANCE.createRelease();
+ final Release release4 = HistoryFactory.eINSTANCE.createRelease();
+ final Release release5 = HistoryFactory.eINSTANCE.createRelease();
+ history.getReleases().addAll(Arrays.asList(release1, release2, release3, release4, release5));
+
+ /* act */
+ final Release newestRelease = EdaptMigrator
+ .getNewestRelease(new LinkedHashSet<Release>(Arrays.asList(release3, release2, release4)));
+
+ /* assert */
+ assertSame(release4, newestRelease);
+ }
+
+ @Test
+ public void testNeedsMigrationRelease1ProjectState() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+
+ /* act */
+ final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+ /* assert */
+ assertEquals(1, result.size());
+ assertSame(uri, result.iterator().next());
+ }
+
+ @Test
+ public void testNeedsMigrationRelease1ChangePackage() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri = copyFileToTempDir(2, CHANGEPACKAGE_1_UCP);
+
+ /* act */
+ final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+ /* assert */
+ assertEquals(1, result.size());
+ assertSame(uri, result.iterator().next());
+ }
+
+ @Test
+ public void testNeedsMigrationRelease2ProjectState() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri = copyFileToTempDir(3, PROJECTSTATE_1_UPS);
+
+ /* act */
+ final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+ /* assert */
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testNeedsMigrationRelease2ChangePackage() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri = copyFileToTempDir(4, CHANGEPACKAGE_1_UCP);
+
+ /* act */
+ final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+ /* assert */
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testNeedsMigrationMultipleURIsSameMigrator() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri1 = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+ final URI uri2 = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+ final URI uri3 = copyFileToTempDir(3, PROJECTSTATE_1_UPS);
+ final URI uri4 = copyFileToTempDir(3, PROJECTSTATE_1_UPS);
+
+ /* act */
+ final Set<URI> result = edaptMigrator
+ .needsMigration(new LinkedHashSet<URI>(Arrays.asList(uri1, uri2, uri3, uri4)));
+
+ /* assert */
+ assertEquals(2, result.size());
+ assertTrue(result.contains(uri1));
+ assertTrue(result.contains(uri2));
+ }
+
+ @Test
+ public void testNeedsMigrationNoMigrator() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri1 = copyFileToTempDir(5, PROJECTSTATE_0_UPS);
+
+ /* act */
+ final Set<URI> result = edaptMigrator.needsMigration(new LinkedHashSet<URI>(Arrays.asList(uri1)));
+
+ /* assert */
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testNeedsMigrationNoNSURIs() {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final URI uri1 = URI.createFileURI("foobar");
+
+ /* act */
+ final Set<URI> result = edaptMigrator.needsMigration(new LinkedHashSet<URI>(Arrays.asList(uri1)));
+
+ /* assert */
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testMigrateProjectState() throws EMFStoreMigrationException {
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final ESSystemOutProgressMonitor monitor = new ESSystemOutProgressMonitor();
+ final URI uri = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+
+ /* act */
+ edaptMigrator.migrate(Collections.singleton(uri), monitor);
+
+ /* assert */
+ assertStreamEqual(uri, 1, EXPECTED_XMI);
+ }
+
+ @Test
+ public void testMigrateChangePackage() throws EMFStoreMigrationException {
+ /* this test is nice-to-have only since it involves the changepackage migration */
+ /* setup */
+ final EdaptMigrator edaptMigrator = new EdaptMigrator();
+ final ESSystemOutProgressMonitor monitor = new ESSystemOutProgressMonitor();
+ final URI uri = copyFileToTempDir(2, CHANGEPACKAGE_1_UCP);
+
+ /* act */
+ edaptMigrator.migrate(Collections.singleton(uri), monitor);
+
+ /* assert */
+ // TODO id changes, but for change packages it is only important that they may be loaded again
+ /* assertStreamEqual(uri, 2, EXPECTED_XMI); */
+ }
+
+ // TODO
+ /* setup */
+
+ /* act */
+
+ /* assert */
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java
new file mode 100644
index 0000000..e087df7
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.migration.edapt.test;
+
+import org.eclipse.emf.emfstore.internal.migration.edapt.EdaptMigratorTests;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+ EdaptMigratorTests.class,
+ MigrationManagerTest.class
+})
+public class AllMigrationEdaptTests {
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/MigrationManagerTest.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/MigrationManagerTest.java
new file mode 100644
index 0000000..becee0a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/MigrationManagerTest.java
@@ -0,0 +1,251 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.migration.edapt.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.text.MessageFormat;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+import org.eclipse.emf.emfstore.internal.server.exceptions.FatalESException;
+import org.eclipse.emf.emfstore.internal.server.model.ProjectHistory;
+import org.eclipse.emf.emfstore.internal.server.model.ServerSpace;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.FileBasedChangePackage;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.Version;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.FileBasedChangePackageImpl;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
+import org.eclipse.emf.emfstore.internal.server.startup.MigrationManager;
+import org.eclipse.emf.emfstore.internal.server.storage.ServerXMIResourceSetProvider;
+import org.eclipse.emf.emfstore.internal.server.storage.XMIServerURIConverter;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.server.ESCloseableIterable;
+import org.eclipse.emf.emfstore.server.ESServerURIUtil;
+import org.junit.After;
+import org.junit.Test;
+
+@SuppressWarnings("restriction")
+public class MigrationManagerTest {
+
+ private static Set<File> tempFiles = new LinkedHashSet<File>();
+
+ @After
+ public void cleanup() throws IOException {
+ for (final File file : tempFiles) {
+ if (file.isDirectory()) {
+ org.eclipse.emf.emfstore.internal.common.model.util.FileUtil.deleteDirectory(file, true);
+ } else {
+ file.delete();
+ }
+ }
+ tempFiles.clear();
+ }
+
+ private static String copyServerToTempDir(boolean inMemory) {
+ try {
+ final long currentTimeMillis = System.currentTimeMillis();
+ final String path = System.getProperty("java.io.tmpdir");
+ final File dir = new File(path + "/esMigration" + currentTimeMillis);
+ dir.mkdirs();
+ tempFiles.add(dir);
+
+ final File source = getInputStream(inMemory);
+ final File destination = new File(dir, "default_dev");
+
+ org.eclipse.emf.emfstore.internal.common.model.util.FileUtil.copyDirectory(source, destination);
+
+ return destination.getAbsolutePath() + "/";
+ } catch (final FileNotFoundException ex) {
+ } catch (final IOException ex) {
+ }
+ fail();
+ return null;
+ }
+
+ private static File getInputStream(boolean inMemory) {
+ try {
+ final URL url = new URL(MessageFormat
+ .format(
+ "platform:/plugin/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/{0}/default_dev",
+ inMemory ? "imcp" : "fbcp"));
+ final java.net.URI uri = FileLocator.resolve(url).toURI();
+ return new File(uri);
+ } catch (final MalformedURLException ex) {
+ } catch (final IOException ex) {
+ } catch (final URISyntaxException ex) {
+ }
+ fail();
+ return null;
+ }
+
+ private static ResourceSet createResourceSet(final String serverHome) {
+ final ResourceSet resourceSet = new ServerXMIResourceSetProvider().getResourceSet();
+ resourceSet.setURIConverter(new XMIServerURIConverter() {
+ @Override
+ protected String getServerHome() {
+ return serverHome;
+ }
+ });
+ return resourceSet;
+ }
+
+ private static ServerSpace loadServerSpace(final String serverHome) {
+ final ResourceSet resourceSet = createResourceSet(serverHome);
+ final URI serverSpaceURI = ESServerURIUtil.createServerSpaceURI();
+ final Resource resource = resourceSet.createResource(serverSpaceURI);
+ try {
+ resource.load(null);
+ } catch (final IOException ex) {
+ ModelUtil.logException(ex);
+ return null;
+ }
+ final ServerSpace serverSpace = (ServerSpace) resource.getContents().get(0);
+ return serverSpace;
+ }
+
+ private static void assertServerspace(ServerSpace serverSpace) {
+ /* 1 project */
+ assertEquals(1, serverSpace.getProjects().size());
+ final ProjectHistory projectHistory = serverSpace.getProjects().get(0);
+
+ {/* version 1: empty project */
+ final Version version = projectHistory.getVersions().get(0);
+ assertNull(version.getChanges());
+ assertNotNull(version.getProjectState());
+ assertEquals(0, version.getProjectState().getModelElements().size());
+ }
+
+ {/* version 2: Add root element */
+ final Version version = projectHistory.getVersions().get(1);
+ assertNotNull(version.getChanges());
+ assertOperationCount(version, 1);
+ assertNull(version.getProjectState());
+ }
+
+ {/* version 3: Added single ref in original version */
+ final Version version = projectHistory.getVersions().get(2);
+ assertNotNull(version.getChanges());
+ assertOperationCount(version, 2);
+ assertNull(version.getProjectState());
+ }
+
+ {/* version 4: Added two refs in original version */
+ final Version version = projectHistory.getVersions().get(3);
+ assertNotNull(version.getChanges());
+ assertOperationCount(version, 3);
+ assertNotNull(version.getProjectState());
+ assertEquals(4, version.getProjectState().getModelElements().size());
+ final D d1 = (D) version.getProjectState().getModelElements().get(0);
+ final D d2 = (D) version.getProjectState().getModelElements().get(1);
+ final D d31 = (D) version.getProjectState().getModelElements().get(2);
+ final D d32 = (D) version.getProjectState().getModelElements().get(3);
+ assertEquals(3, d1.getRefs().size());
+ assertEquals(0, d1.getRefs().indexOf(d2));
+ assertEquals(1, d1.getRefs().indexOf(d31));
+ assertEquals(2, d1.getRefs().indexOf(d32));
+ }
+
+ {/* version 5: Set single att */
+ final Version version = projectHistory.getVersions().get(4);
+ assertNotNull(version.getChanges());
+ assertOperationCount(version, 4);
+ assertNotNull(version.getProjectState());
+ assertEquals(4, version.getProjectState().getModelElements().size());
+ final D d1 = (D) version.getProjectState().getModelElements().get(0);
+ final D d2 = (D) version.getProjectState().getModelElements().get(1);
+ final D d31 = (D) version.getProjectState().getModelElements().get(2);
+ final D d32 = (D) version.getProjectState().getModelElements().get(3);
+ assertEquals("d1", d1.getName());
+ assertEquals("d2", d2.getName());
+ assertEquals("d31", d31.getName());
+ assertEquals("d32", d32.getName());
+ }
+
+ {/* version 6: Multi att */
+ final Version version = projectHistory.getVersions().get(5);
+ assertNotNull(version.getChanges());
+ assertOperationCount(version, 2);
+ assertNotNull(version.getProjectState());
+ assertEquals(4, version.getProjectState().getModelElements().size());
+ final D d31 = (D) version.getProjectState().getModelElements().get(2);
+ final D d32 = (D) version.getProjectState().getModelElements().get(3);
+ assertEquals(2, d31.getAtts().size());
+ assertEquals(2, d32.getAtts().size());
+ }
+ }
+
+ private static void assertOperationCount(final Version version, final int expected) {
+ final ESCloseableIterable<AbstractOperation> operations = version.getChanges().operations();
+ final Iterator<AbstractOperation> iterator = operations.iterable().iterator();
+ int count = 0;
+ while (iterator.hasNext()) {
+ iterator.next();
+ count++;
+ }
+ operations.close();
+ assertEquals(expected, count);
+ }
+
+ private static void fixFilePaths(ServerSpace serverSpace) {
+ for (final Version version : serverSpace.getProjects().get(0).getVersions()) {
+ final AbstractChangePackage changes = version.getChanges();
+ if (!FileBasedChangePackage.class.isInstance(changes)) {
+ continue;
+ }
+ final FileBasedChangePackage fileBasedChangePackage = FileBasedChangePackage.class.cast(changes);
+ final URI fileURI = serverSpace.eResource().getResourceSet().getURIConverter()
+ .normalize(fileBasedChangePackage.eResource().getURI());
+ fileBasedChangePackage.setFilePath(fileURI.toFileString() + FileBasedChangePackageImpl.FILE_OP_INDEX);
+ }
+ }
+
+ @Test
+ public void testServerWithInMemoryChangePackage() throws FatalESException {
+ /* setup */
+ final String serverHome = copyServerToTempDir(true);
+ final ResourceSet resourceSet = createResourceSet(serverHome);
+ /* act */
+ MigrationManager.migrate(resourceSet, true);
+ /* assert */
+ assertServerspace(loadServerSpace(serverHome));
+ }
+
+ @Test
+ public void testServerWithFileBasedChangePackage() throws FatalESException {
+ /* setup */
+ final String serverHome = copyServerToTempDir(false);
+ final ResourceSet resourceSet = createResourceSet(serverHome);
+ /* act */
+ MigrationManager.migrate(resourceSet, false);
+ /* assert */
+ final ServerSpace serverSpace = loadServerSpace(serverHome);
+ fixFilePaths(serverSpace);
+ assertServerspace(serverSpace);
+ }
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AClazz.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AClazz.java
new file mode 100644
index 0000000..16b8167
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AClazz.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Clazz</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage#getAClazz()
+ * @model
+ * @generated
+ */
+public interface AClazz extends EObject {
+} // AClazz
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AFactory.java
new file mode 100644
index 0000000..18d7c6f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AFactory.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage
+ * @generated
+ */
+public interface AFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ AFactory eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Clazz</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Clazz</em>'.
+ * @generated
+ */
+ AClazz createAClazz();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ APackage getAPackage();
+
+} // AFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/APackage.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/APackage.java
new file mode 100644
index 0000000..2e50f52
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/APackage.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface APackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "a";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://eclipse.org/emf/emfstore/migration/edapt/test/a/2";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emfstore.migration.edapt.test.a";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ APackage eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.APackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl
+ * <em>Clazz</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.APackageImpl#getAClazz()
+ * @generated
+ */
+ int ACLAZZ = 0;
+
+ /**
+ * The number of structural features of the '<em>Clazz</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACLAZZ_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Clazz</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACLAZZ_OPERATION_COUNT = 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz
+ * <em>Clazz</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Clazz</em>'.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz
+ * @generated
+ */
+ EClass getAClazz();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ AFactory getAFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl <em>Clazz</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.APackageImpl#getAClazz()
+ * @generated
+ */
+ EClass ACLAZZ = eINSTANCE.getAClazz();
+
+ }
+
+} // APackage
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AClazzImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AClazzImpl.java
new file mode 100644
index 0000000..a21e53f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AClazzImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clazz</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AClazzImpl extends MinimalEObjectImpl.Container implements AClazz {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AClazzImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return APackage.Literals.ACLAZZ;
+ }
+
+} // AClazzImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AFactoryImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AFactoryImpl.java
new file mode 100644
index 0000000..e03993d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AFactoryImpl.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AFactoryImpl extends EFactoryImpl implements AFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static AFactory init() {
+ try {
+ final AFactory theAFactory = (AFactory) EPackage.Registry.INSTANCE.getEFactory(APackage.eNS_URI);
+ if (theAFactory != null) {
+ return theAFactory;
+ }
+ } catch (final Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new AFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case APackage.ACLAZZ:
+ return createAClazz();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AClazz createAClazz() {
+ final AClazzImpl aClazz = new AClazzImpl();
+ return aClazz;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public APackage getAPackage() {
+ return (APackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static APackage getPackage() {
+ return APackage.eINSTANCE;
+ }
+
+} // AFactoryImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/APackageImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/APackageImpl.java
new file mode 100644
index 0000000..c6c18ff
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/APackageImpl.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class APackageImpl extends EPackageImpl implements APackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass aClazzEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private APackageImpl() {
+ super(eNS_URI, AFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link APackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static APackage init() {
+ if (isInited) {
+ return (APackage) EPackage.Registry.INSTANCE.getEPackage(APackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ final APackageImpl theAPackage = (APackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof APackageImpl
+ ? EPackage.Registry.INSTANCE.get(eNS_URI) : new APackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theAPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theAPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theAPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(APackage.eNS_URI, theAPackage);
+ return theAPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getAClazz() {
+ return aClazzEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AFactory getAFactory() {
+ return (AFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ aClazzEClass = createEClass(ACLAZZ);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(aClazzEClass, AClazz.class, "AClazz", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // APackageImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/AAdapterFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/AAdapterFactory.java
new file mode 100644
index 0000000..5dcd75d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/AAdapterFactory.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage
+ * @generated
+ */
+public class AAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static APackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = APackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+ * object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ASwitch<Adapter> modelSwitch = new ASwitch<Adapter>() {
+ @Override
+ public Adapter caseAClazz(AClazz object) {
+ return createAClazzAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz <em>Clazz</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz
+ * @generated
+ */
+ public Adapter createAClazzAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // AAdapterFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/ASwitch.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/ASwitch.java
new file mode 100644
index 0000000..55221c3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/ASwitch.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage
+ * @generated
+ */
+public class ASwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static APackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ASwitch() {
+ if (modelPackage == null) {
+ modelPackage = APackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case APackage.ACLAZZ: {
+ final AClazz aClazz = (AClazz) theEObject;
+ T result = caseAClazz(aClazz);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Clazz</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Clazz</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAClazz(AClazz object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // ASwitch
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/D.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/D.java
new file mode 100644
index 0000000..ab93397
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/D.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getAtts <em>Atts</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getRefs <em>Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD()
+ * @model
+ * @generated
+ */
+public interface D extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName <em>Name</em>
+ * }' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Atts</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Atts</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Atts</em>' attribute list.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD_Atts()
+ * @model
+ * @generated
+ */
+ EList<String> getAtts();
+
+ /**
+ * Returns the value of the '<em><b>Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Refs</em>' reference list.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD_Refs()
+ * @model
+ * @generated
+ */
+ EList<D> getRefs();
+
+} // D
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DFactory.java
new file mode 100644
index 0000000..01008f1
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DFactory.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage
+ * @generated
+ */
+public interface DFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ DFactory eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>D</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>D</em>'.
+ * @generated
+ */
+ D createD();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DPackage getDPackage();
+
+} // DFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DPackage.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DPackage.java
new file mode 100644
index 0000000..cb32c72
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DPackage.java
@@ -0,0 +1,252 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "d";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://eclipse.org/emf/emfstore/migration/edapt/test/d/2";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emfstore.migration.edapt.test.d";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ DPackage eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl
+ * <em>D</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DPackageImpl#getD()
+ * @generated
+ */
+ int D = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Atts</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D__ATTS = 1;
+
+ /**
+ * The feature id for the '<em><b>Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D__REFS = 2;
+
+ /**
+ * The number of structural features of the '<em>D</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>D</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int D_OPERATION_COUNT = 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D
+ * <em>D</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>D</em>'.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D
+ * @generated
+ */
+ EClass getD();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName()
+ * @see #getD()
+ * @generated
+ */
+ EAttribute getD_Name();
+
+ /**
+ * Returns the meta object for the attribute list '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getAtts <em>Atts</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute list '<em>Atts</em>'.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getAtts()
+ * @see #getD()
+ * @generated
+ */
+ EAttribute getD_Atts();
+
+ /**
+ * Returns the meta object for the reference list '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getRefs <em>Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference list '<em>Refs</em>'.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getRefs()
+ * @see #getD()
+ * @generated
+ */
+ EReference getD_Refs();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ DFactory getDFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl <em>D</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DPackageImpl#getD()
+ * @generated
+ */
+ EClass D = eINSTANCE.getD();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute D__NAME = eINSTANCE.getD_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Atts</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute D__ATTS = eINSTANCE.getD_Atts();
+
+ /**
+ * The meta object literal for the '<em><b>Refs</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference D__REFS = eINSTANCE.getD_Refs();
+
+ }
+
+} // DPackage
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DFactoryImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DFactoryImpl.java
new file mode 100644
index 0000000..9a9c86b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DFactoryImpl.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DFactoryImpl extends EFactoryImpl implements DFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static DFactory init() {
+ try {
+ final DFactory theDFactory = (DFactory) EPackage.Registry.INSTANCE.getEFactory(DPackage.eNS_URI);
+ if (theDFactory != null) {
+ return theDFactory;
+ }
+ } catch (final Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DPackage.D:
+ return createD();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public D createD() {
+ final DImpl d = new DImpl();
+ return d;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DPackage getDPackage() {
+ return (DPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DPackage getPackage() {
+ return DPackage.eINSTANCE;
+ }
+
+} // DFactoryImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DImpl.java
new file mode 100644
index 0000000..23f9213
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DImpl.java
@@ -0,0 +1,263 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>D</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl#getAtts <em>Atts</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl#getRefs <em>Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DImpl extends MinimalEObjectImpl.Container implements D {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAtts() <em>Atts</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAtts()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> atts;
+
+ /**
+ * The cached value of the '{@link #getRefs() <em>Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<D> refs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DPackage.Literals.D;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ final String oldName = name;
+ name = newName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DPackage.D__NAME, oldName, name));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getAtts() {
+ if (atts == null) {
+ atts = new EDataTypeUniqueEList<String>(String.class, this, DPackage.D__ATTS);
+ }
+ return atts;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<D> getRefs() {
+ if (refs == null) {
+ refs = new EObjectResolvingEList<D>(D.class, this, DPackage.D__REFS);
+ }
+ return refs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DPackage.D__NAME:
+ return getName();
+ case DPackage.D__ATTS:
+ return getAtts();
+ case DPackage.D__REFS:
+ return getRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DPackage.D__NAME:
+ setName((String) newValue);
+ return;
+ case DPackage.D__ATTS:
+ getAtts().clear();
+ getAtts().addAll((Collection<? extends String>) newValue);
+ return;
+ case DPackage.D__REFS:
+ getRefs().clear();
+ getRefs().addAll((Collection<? extends D>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DPackage.D__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case DPackage.D__ATTS:
+ getAtts().clear();
+ return;
+ case DPackage.D__REFS:
+ getRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DPackage.D__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case DPackage.D__ATTS:
+ return atts != null && !atts.isEmpty();
+ case DPackage.D__REFS:
+ return refs != null && !refs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ final StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", atts: ");
+ result.append(atts);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DPackageImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DPackageImpl.java
new file mode 100644
index 0000000..5d94084
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DPackageImpl.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DPackageImpl extends EPackageImpl implements DPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass dEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DPackageImpl() {
+ super(eNS_URI, DFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link DPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static DPackage init() {
+ if (isInited) {
+ return (DPackage) EPackage.Registry.INSTANCE.getEPackage(DPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ final DPackageImpl theDPackage = (DPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DPackageImpl
+ ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theDPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DPackage.eNS_URI, theDPackage);
+ return theDPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getD() {
+ return dEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getD_Name() {
+ return (EAttribute) dEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getD_Atts() {
+ return (EAttribute) dEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getD_Refs() {
+ return (EReference) dEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DFactory getDFactory() {
+ return (DFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ dEClass = createEClass(D);
+ createEAttribute(dEClass, D__NAME);
+ createEAttribute(dEClass, D__ATTS);
+ createEReference(dEClass, D__REFS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(dEClass, org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, "D", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getD_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getD_Atts(), ecorePackage.getEString(), "atts", null, 0, -1,
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getD_Refs(), getD(), null, "refs", null, 0, -1,
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // DPackageImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DAdapterFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DAdapterFactory.java
new file mode 100644
index 0000000..77d13c4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DAdapterFactory.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage
+ * @generated
+ */
+public class DAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+ * object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DSwitch<Adapter> modelSwitch = new DSwitch<Adapter>() {
+ @Override
+ public Adapter caseD(D object) {
+ return createDAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D <em>D</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D
+ * @generated
+ */
+ public Adapter createDAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // DAdapterFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DSwitch.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DSwitch.java
new file mode 100644
index 0000000..cf29c23
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DSwitch.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage
+ * @generated
+ */
+public class DSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DSwitch() {
+ if (modelPackage == null) {
+ modelPackage = DPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+ * result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case DPackage.D: {
+ final D d = (D) theEObject;
+ T result = caseD(d);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>D</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>D</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseD(D object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // DSwitch